Inspiration

It usually starts small — a headache that won't go away, a weird ache, a fever that lingers a day too long. And the first move almost everyone makes is the same: open Google. What comes back is either a wall of terrifying worst-case scenarios or a mess of conflicting, jargon-heavy information that leaves you more confused than before. That moment — between "something feels off" and actually deciding to see a doctor — is where a lot of unnecessary panic happens. We wanted to build something that sits in that exact gap: not a diagnosis, not a replacement for a doctor, just calm, clear, honest information to help people think straight before they either panic or ignore something they shouldn't.

What it does

Anjirsakit is an AI-powered health education web app. Users describe their symptoms in plain language, and the app returns a clear, jargon-free breakdown of conditions that commonly match — along with practical guidance on whether it's something to simply monitor or something that warrants seeing a doctor soon. Every response is framed around one non-negotiable boundary: this is education, not diagnosis. Anjirsakit never tells you what you have — it helps you understand what you're dealing with well enough to make a calmer, more informed decision about your next step, which is always to consult a real healthcare professional when needed.

How we built it

The frontend is built with Next.js and styled with Tailwind CSS for a fast, clean interface. On the backend, symptom input is processed through LangChain.js, which orchestrates calls to Claude 3 Haiku via OpenRouter — chosen for its balance of speed and cost-efficiency, which matters for an app meant to be used quickly, in the moment. Common symptom patterns are cached using Upstash Redis, cutting down on repeated AI calls and keeping response times snappy. Authentication runs through Firebase, using Google OAuth so users can log in without friction, backed by a custom JWT layer for additional security. User data and history are stored in Supabase.

Challenges we ran into

The hardest part wasn't the integrations — it was the prompt design. Getting an LLM to consistently explain symptoms in an educational, reassuring way, without ever slipping into diagnostic language, took a lot of iteration. We had to be extremely deliberate about how the AI phrases uncertainty, how it distinguishes between "monitor this" and "see a doctor now," and making sure that boundary never blurs no matter how the user phrases their input. Balancing genuinely useful information with responsible, non-alarming framing was a constant back-and-forth.

Accomplishments that we're proud of

We're proud that Anjirsakit doesn't just work technically — it holds a clear ethical line. Building an AI health tool that resists the temptation to "sound like a doctor" and instead consistently redirects users toward real medical care, while still being genuinely useful in the moment, felt like the real challenge of this project — and we think we landed it.

What we learned

Building with LLMs for a sensitive domain like health taught us that the hardest engineering problems aren't always about infrastructure — they're about designing constraints. A lot of our effort went into making the AI say less, not more: staying educational, staying calm, and staying firmly out of diagnostic territory.

What's next for Anjirsakit

  • Multi-language support, so it's accessible beyond English/Indonesian speakers
  • Symptom history tracking over time, to help users and doctors spot patterns
  • Integration with local healthcare directories, to make "see a doctor" an actionable next step, not just advice

Built With

Share this project:

Updates