Assistance Simulator

AI-powered training platform for assistance-service coordinators.
Assistance Simulator helps trainers create realistic assistance-call scenarios, run simulations, capture transcripts, and evaluate coordinator performance against structured process expectations.
Highlights
- Scenario and template management.
- Medical travel assistance process definitions.
- Live simulation detail view with call state.
- Gemini voice lab integration for realistic caller interaction.
- Transcript capture and review.
- Trainer test mode.
- Completion and evaluation workflow.
- Admin screens for users, costs, audit, assignments, and release notes.
- Release-note publishing with version metadata for dashboard and in-app update visibility.
- Organization, branch, country, and role-aware access patterns.
- Czech and English localization.
Use Cases
- New case intake training.
- Hospitalization calls.
- Ambulatory treatment calls.
- Refund and reimbursement scenarios.
- Case transfers.
- Hospital-originated calls.
- Difficult caller handling.
- Missing-information scenarios.
Tech Stack
- Next.js, React, TypeScript
- Supabase Auth, database, storage
- Gemini voice/AI integration
- React PDF for report output
- shadcn/Radix UI components
- Tailwind CSS
OpenAI Build Week
Assistance Simulator was developed and prepared for OpenAI Build Week with
Codex and GPT-5.6. Codex was used as an engineering agent across the existing
codebase to inspect the architecture, implement the adaptive coaching layer,
create isolated judge data, validate role boundaries, and run production build
checks. GPT-5.6 helped turn structured evaluation evidence into an actionable
next-training recommendation while preserving the product's existing entity
model:
Template -> Scenario -> Assignment -> Simulation -> Evaluation
The live caller and production evaluation runtime use Google Gemini. Codex and
GPT-5.6 were used to build, reason about, and test the product rather than being
misrepresented as the live voice provider.
What to evaluate
- Sign in as the coordinator and review the assigned international hospital
scenario on the dashboard.
- Open the completed result to inspect structured scoring, transcript evidence,
confidence warnings, required-question tracking, and the adaptive next
training recommendation.
- Sign in as the trainer to inspect the methodology, scenarios, assignments,
results, and trainer-only scenario proposal.
- Confirm that the two roles expose different navigation and actions.
Judge accounts
These synthetic accounts are isolated in the BW country scope and the
Build Week Demo branch. They cannot access Czech production or company test
data.
Judge credentials are intentionally not stored in the repository. Use a
private password manager or the private testing instructions. Running
npm run demo:seed in a controlled environment rotates both passwords and
prints the replacements once.
Demo data
The seed provides:
- one reusable Medical Hospitalization process template;
- one ready-to-run Spanish hospital assignment;
- one completed simulation with a synthetic transcript;
- one structured evaluation with process and communication scores;
- one GPT-5.6-assisted adaptive next-training recommendation.
To recreate or update the isolated demo data:
npm run demo:seed
This command requires a Supabase service-role key and must only be run in a
controlled development or demo environment.
Project Structure
src/app/ application routes
src/components/ dashboards, simulations, scenarios, admin UI
src/lib/processes/ assistance process definitions
src/lib/ai/ Gemini integration
supabase/migrations/ schema and RLS evolution
Versioning
Release notes are stored in Supabase release_notes with a required version.
The Hansoulie portfolio can read the newest release note version when the
server-side Supabase variables are configured.
Local Development
npm install
npm run dev
Create .env.local and configure at least:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
GEMINI_API_KEY=
GEMINI_LIVE_MODEL=gemini-3.1-flash-live-preview
GEMINI_LIVE_VOICE_FEMALE=Kore
GEMINI_LIVE_VOICE_MALE=Orus
GEMINI_LIVE_THINKING_LEVEL=minimal
GEMINI_LIVE_PROMPT_MODE=scenario
GEMINI_SCENARIO_MODEL=gemini-2.5-flash
GEMINI_TRAPS_MODEL=gemini-2.5-flash
GEMINI_TRANSCRIPT_MODEL=gemini-2.5-flash
GEMINI_EVALUATION_MODEL=gemini-2.5-flash
GOOGLE_TRANSLATE_API_KEY=
Then verify the project:
npm run lint
npm run build
Production deployment requires the same Supabase and AI-provider secrets in the
hosting environment. Never expose SUPABASE_SERVICE_ROLE_KEY in client code.
Status
Private training platform prototype with active simulation, admin, localization, release-note, and operational workflow modules.