Inspiration
Most people who could benefit from talking to a professional never do — not because help isn't available, but because asking still feels like an admission that something is wrong with you, or that you couldn't cope on your own. I'm a 17-year-old high school student, and I've personally run into that same hesitation and fear of judgment before — the sense that reaching out would mean being seen differently. Bridge is the thing I wish had existed then: a way to take that first step without having to explain or justify yourself to anyone first. We wanted to build something that removes that first, hardest step rather than adding another polished directory of therapists that still requires you to commit before you even know what to expect.
What it does
Bridge lets you talk anonymously to Kawauso, an otter and AI guide — no account, no real name. Kawauso listens, never diagnoses, and once it genuinely understands your situation, points you to one field and explains why. From there you see real, licensed, permanently employed professionals (or browse every field directly, filtered by city and language), book a slot, and join an anonymous session room — camera and mic off by default. Only if you want to continue afterward does registration and payment come in, for follow-up sessions.
How we built it
Next.js (App Router) with TypeScript and Tailwind CSS, built iteratively, partially by myself and partially by Claude Code. Kawauso runs on Google's Gemini API; session rooms use Jitsi Meet's public instance with anonymized room names and disabled prejoin screens. We treated the system prompt as the most safety-critical file in the project and tested it directly — deliberately trying to break it (asking for a diagnosis, simulating a crisis) rather than assuming the instructions we wrote were enough.
Challenges we ran into
Getting genuine anonymity right took several iterations: skipping Jitsi's prejoin screen still left a name field, we discovered meet.jit.si requires a moderator to start a session (correct behavior for our use case, but easy to mistake for a bug the first time), and camera/mic needed to default to muted rather than just being possible to mute. We also had to correct Kawauso's pacing — it initially jumped to a field recommendation after a single vague sentence, which felt rushed and undermined the "we're listening" premise the whole product is built on.
Accomplishments that we're proud of
The safety behavior isn't just asserted — it's tested: Kawauso reliably declines to diagnose, recognizes crisis language and surfaces emergency numbers, and won't recommend a field before genuinely understanding the situation. We also measured rather than assumed our accessibility: text contrast was checked against the actual rendered background across every view, not estimated.
What we learned
That the hardest problems here weren't really about AI capability — they were about restraint. The valuable design decisions were mostly about what Kawauso should not do (diagnose, rush, pretend to replace a professional), and about being honest in the README and in this write-up about what's real versus mocked, and what a production version would still need — like actually verifying a professional's license and employment, which this prototype doesn't do.
What's next for Bridge
Real credential verification (registry checks plus manual review), a self-hosted session infrastructure instead of the public Jitsi instance, multilingual support (German/French/Italian), which the interface is already structured for but doesn't yet implement, and eventually moving toward our own independent AI model instead of relying on a third-party API — giving us more control over Kawauso's behavior and data handling long-term.
Built With
- claude-code
- gemini-api
- google-gemini
- javascript
- jitsi
- mental-health
- next.js
- react
- tailwindcss
- typescript