Healthcare · live

OT Sidekick

Built for the awkward early-career gap between needing activity ideas, needing a richer activity analysis, and still needing a real therapist in charge.

OT Sidekick
Access Live Experiment
otsidekick.pages.dev
System Abstract

An AI-powered human-in-the-loop OT analysis workspace: activity analysis, OTPF-4 reasoning, clinical grading, local session history, import/export, safety framing, and Singapore-aware examples, built to support clinical thinking without requiring an account.


THESPARK

This started with a very specific kind of blank-page problem: the moment when an OT student or junior clinician knows the client goal, but does not yet have the clinical experience to generate a broad set of activity ideas or break an occupation down with enough depth.

Occupational therapy analysis is not just "write some advice about an activity." A useful answer has to understand the occupation, the client context, the performance skills involved, the environment, the likely barriers, the grading options, and the clinical reasoning that ties all of that together. It also has to avoid the most dangerous AI habit: sounding clinically confident while quietly skipping the work.

The first version of the idea was simple: give students and clinicians a faster way to structure activity analysis while they are still building that clinical pattern library. Type something like "making tea with limited grip strength" or "returning to laptop work after stroke," and get a response that behaves more like a clinical reasoning scaffold than a generic chatbot paragraph.

That early-career use case was the real inspiration. Activity analysis, intervention ideas, grading choices, and context-sensitive examples are all things that get sharper with repeated clinical exposure. A flexible OTPF-4-framed tool could help people practise that reasoning earlier, not by handing them an answer to copy, but by showing a more complete frame to inspect, question, and adapt.

The important constraint was that the tool could not pretend to replace a therapist. That would make the project worse, not better. The useful version had to keep the therapist in the loop: frame output as educational and professional reference material, surface the reasoning, and make it easier to ask the next question rather than treating the first answer as a final plan. AI output should be reviewed properly, not copy-pasted wholesale, and the app needed to enforce that stance throughout the experience instead of hiding it in a disclaimer.

So the question became: could I build a small clinical co-pilot that helps structure the thinking, but leaves responsibility exactly where it belongs?


THELAB

The current app is a focused OT workspace wrapped around that question.

The main input accepts an occupational activity, clinical scenario, or broader client goal. The system detects whether the user is asking for activity analysis or synthesis, then routes the prompt through a structured instruction set grounded in OTPF-4. The output is intentionally modular: executive summary, OTPF-4 breakdown, grading ideas, clinical rationale, and SOAP-style documentation support.

The interface is built around repeated clinical use rather than one-off demos. Sessions are saved in a history sidebar, can be starred, imported, exported, cleared, and reopened. Follow-up questions stay attached to the original analysis so a therapist can keep refining the same case instead of starting over every time the clinical question gets more specific.

The persistence model is privacy-first by design. The app does not require sign-in, and the working history lives in browser local storage instead of an account-backed database. That does not magically make AI requests disappear; a query still has to be sent for analysis. But it does mean the app is not asking users to create a profile or park a library of clinical working notes on a server just to keep using the tool. For a clinical-adjacent workspace, that felt like the right default.

There is also a locale layer. In Singapore mode, the prompt adds local clinical context: HDB layouts, local meals, caregiver norms, and culturally specific examples where they matter. In international mode, it keeps the language broader. The point is not to decorate the output with local references; it is to stop clinical examples from drifting into a generic nowhere.

Under the hood, the app is deliberately plain: React, Vite, Zustand, a serverless Gemini proxy, structured parsing, browser-side persistence, import/export JSON, and enough tests to protect the parser, history behavior, mobile UX, metadata, and API payload shape. The product is not trying to become an EHR. It is a thinking surface for the moment before documentation hardens into a clinical record.


THEMESS

The hard part was not getting an AI model to write about occupational therapy. That part was almost too easy.

The hard part was making the output clinically structured enough to be useful without becoming brittle. If the model returned a clean section layout, the parser could build tables and grading cards. If the model drifted into prose, the app needed a graceful fallback instead of pretending a broken parse was a complete clinical analysis. Several rounds of work went into making the parser strict where it should be strict, forgiving where real model output gets messy, and explicit when structure could not be recovered.

OTPF-4 accuracy also mattered. An early review caught terminology and framework issues that a general-purpose builder could easily miss: outdated "Context" language, incomplete Client Factors framing, performance pattern structure, and the risk of SOAP sections implying information the tool did not actually have. Those findings changed both the prompt and the rendered output. The tool became more conservative, which made it more trustworthy.

Follow-up questions created another trap. A follow-up like "What about kitchen safety?" only makes sense if the model still knows the original activity and prior analysis. The app had to pass enough conversation history to preserve context without letting the history UI become confusing or leaking stale assumptions into a fresh re-run.

Mobile was its own reality check. A desktop clinical workspace with a sidebar, tables, buttons, and long generated content can become unusable quickly on a phone. The app needed a mobile drawer, compact controls, responsive OTPF tables, sticky-but-not-annoying input behavior, and a clear way to discover import/export and previous sessions.

The safety framing was also not optional polish. The app needed to say, plainly and repeatedly, that a registered occupational therapist has to review clinical decisions. That language is part of the product boundary, not legal confetti.


THEREVEAL

What exists now is a clinical reasoning companion for occupational activity analysis.

Open the live site, describe an activity or client goal, choose the relevant locale, and the app returns a structured analysis that a therapist can review, challenge, refine, and reuse. It can break an activity into OTPF-4 domains, suggest grading and adaptation ideas, explain the clinical rationale, and provide documentation language that stays closer to professional reasoning than chatbot filler.

For students and junior clinicians, the value is a richer starting frame: more dimensions to consider, more activity ideas to compare, and a clearer way to see how occupational reasoning is organized. For senior clinicians, it can still be useful as an additional layer: a second pass over a familiar problem, a way to pressure-test missed angles, or a quick scaffold before applying their own judgment.

The follow-up loop is the part that makes it feel useful. A first answer is rarely the end of a clinical thought. It is more often the start of a better question: what if grip strength is limited, what if the home is small, what if the client is a caregiver, what if the work task is cognitively demanding, what if the therapist needs a safer progression? OT Sidekick keeps that thread available instead of forcing every refinement into a new blank box.

The app is intentionally cautious. It does not diagnose, prescribe, or claim authority. It structures the reasoning and makes the gaps easier to see. That is the job.

The project also became a useful lesson in building AI tools for domains where the shape of the answer matters. A generic response can be fluent and still be clinically thin. A better tool has to encode the professional frame, preserve context, expose uncertainty, handle bad output gracefully, and keep the human decision-maker centered.

That is the version I wanted: not an AI therapist, not a documentation factory, and not a fake medical device. Just a clinical co-pilot that helps occupational therapists get from "here is the activity" to "here is the reasoning I need to inspect."