Portfolio

45 hours of clinic training, turned into an app

As IT Manager at a nonprofit mental health clinic, I directed its first training app, built Noo, the chatbot interns ask first, and automated insurance intake.

Role
IT Manager, part-time
When
Jun 2025 – present
Team
2 engineers, a UI/UX designer, and the clinic's content staff
Built
The training app, Noo, and insurance intake
Stack
Hybrid search + reranking · Google Sheets · Stedi
The Norooz Clinic Foundation app's Training Modules screen: progress across 8 modules, and the Core Therapy Skills & Professional Development module with 6 videosThe app's Chatbot screen with suggested questions such as what is the code for the intake sessionThe app's onboarding welcome screen: Thank you for being a part of Norooz Clinic Foundation
The NCF app on the App Store: training modules, the chatbot, and onboarding.
  • 8AI-powered learning modulesfrom 45+ hours of training
  • 30+staff using the appand built into intern onboarding
  • ~30 sper patient for insurance intakedown from ~20 minutes

The training app

New staff and interns had 45+ hours of training to get through. I directed the build with 2 engineers, a UI/UX designer, and the clinic's content staff, and we turned it into eight AI-powered learning modules.

The app launched on September 30, 2025. It has been adopted by 30+ staff and is now part of how every intern is onboarded.

The Norooz Clinic Foundation App Launch & Unveiling Ceremony, September 30, 2025: the new app presented to the team around the conference tableThe Norooz Clinic Foundation team together at the app launch

The launch and unveiling, September 30, 2025.

Planned in FigJam, designed in Figma

Before the build, we mapped the clinic from three sides (clinical and admin staff, interns, and clients) across a client's whole time with Norooz: first contact, therapist assignment, intake, follow-up sessions, and termination.

The FigJam user journey map: six stages from connecting with Norooz to termination, with rows for user actions, goals, pain points, opportunities, and feelings
The journey map, from first contact to termination. Open full size

That became the app's flow: sign in with a Norooz Gmail, an onboarding checklist, then each module's videos, a quiz, and an exam, with a progress bar that moves as interns pass.

The app flow in two rows: open the app, splash screen, sign in with Gmail, welcome message, onboarding checklist and orientation code; then the module list, module, video, quiz with pass or fail and retry, and the module exam, each pass updating the progress bar
The app flow, from opening the app to passing a module exam. Open full size

The designer's Figma components set the pieces: Google sign-in, and module cards for in progress, completed, and locked.

Figma components: two Sign in with your Norooz Gmail cards, and module cards in progress at 75%, completed with their video lists, and locked
From the Figma components: sign-in and module cards.

Noo, the chatbot interns ask first

Interns kept running into the same clinical, admin, and therapy-practice questions. Noo is an agentic chatbot that answers them from the clinic's own material, used by 15+ interns.

  1. Question

    An intern asks about a clinical, admin, or therapy-practice topic.

  2. Hybrid search

    Semantic vector search and keyword search run side by side, so exact terms and paraphrases both match.

  3. Rerank

    A reranking stage orders the combined results before the answer is written.

  4. Answer

    Noo answers from the clinic's own material.

Insurance intake, end to end

Checking a new patient's insurance took staff about 20 minutes each. Now it runs on its own in about 30 seconds.

  1. HTML form

    The patient enters their details once.

  2. Google Sheets

    Each submission is written to the clinic's intake sheet.

  3. Stedi

    Insurance eligibility runs automatically.

The insurance intake workflow in n8n: a webhook and CAPTCHA check, a sheet lookup, a switch that routes by insurer, eligibility requests with and without a dependent, error handling, and the eligibility PDF saved to Google Drive, logged in Google Sheets, and sent by Gmail
The workflow in n8n: routed by insurer, checked with Stedi, then saved to Drive, logged, and emailed. Open full size

The website

I partnered with an SEO specialist on meta tags, a blog relaunch, and backlinks. The clinic's site reached 1M+ impressions and 6.8K+ clicks over 16 months.

Google Search Console, last 16 months: 6.9K total clicks, 1.02M total impressions, 0.7% average click-through rate, average position 12, with daily clicks and impressions from July 2025 to October 2026
Google Search Console, July 2025 to October 2026.