Inspiration

Chronic diseases like diabetes are quietly spreading across entire regions, and the most dangerous part about them is how silent they are. People don't find out they're at risk until they're already in trouble. We kept seeing this pattern around us and it bothered us.We also thought about it from the doctor's perspective. A physician in a busy OPD is managing dozens of patients every single day. They can't realistically track every patient's history, remember who's getting worse, or catch early warning signs manually at that volume. They need support — not a replacement, just something that works alongside them.That's what pushed us to build CliniqueAI. A platform where the doctor gets an instant AI-powered risk signal, and the patient can actually see day by day whether their health is improving or deteriorating. That kind of visibility, for both sides on the same platform, felt like something genuinely worth building.

What it does

CliniqueAI is a clinical decision support platform focused on early diabetes risk detection. A clinician enters a patient's health metrics — BMI, HbA1c, blood glucose, age, smoking history and more — and the system instantly returns a risk probability score generated by an ensemble of three machine learning models.But it doesn't stop at a number. A GenAI layer then takes that ML output and converts it into a human-readable clinical summary for the doctor and a simple, friendly explanation for the patient — no medical jargon, just clarity.The doctor gets a prioritized risk dashboard so high-risk patients never get lost in the crowd. The patient gets to track their health trend over time. And everything runs on a secure, encrypted infrastructure. It's not a diagnostic tool — it's a second pair of eyes that never gets tired.

How we built it

We split the work and went at it in parallel. Soham handled the backend — Node.js/Express API, MongoDB Atlas, and all the service communication. I took on the ML engine, training the models and building out the Flask microservice.Once both parts were ready we merged everything and the integration actually worked on the first proper test which felt amazing. Then we looked at the frontend and... it was rough. We had to tear it down and rebuild the entire UI from scratch — going from something barely functional to a clean, minimal, production-level interface that actually makes sense in a clinical setting.The GenAI integration had its own chaos. Early on we burned through all our API credits during testing because the prompts weren't tight and the model kept going off-topic or hallucinating clinical information. We iterated, added constraints, restructured the prompts and eventually got it behaving exactly how we needed.Stack: Next.js 14, TypeScript, Tailwind CSS, Node.js, Flask, Scikit-learn, MongoDB Atlas, Groq API — deployed across Vercel and Render.

Challenges we ran into are

CORS destroyed us for a while. That single issue cost us more hours than anything else in the project. Fix → redeploy → crash. Fix again → redeploy → different crash. Going back and forth between Vercel and Render trying to get the services to actually talk to each other was genuinely painful. The GenAI hallucination problem was the other big one. Getting an LLM to stay grounded and clinically responsible isn't as simple as writing a good prompt. It kept drifting off-topic in ways that would be completely unacceptable in a medical context. Took multiple rounds of iteration to lock it down properly. And then the UI overhaul was just a grind. More time than we expected but there was no shortcut — a clinical tool that looks untrustworthy doesn't get used.

Accomplishments that we're proud of

The ML engine is genuinely something we're proud of. We started with a single logistic regression model and it worked, but depending on one model for something this critical felt wrong — this is health risk assessment, not a recommendation algorithm. So we rebuilt it as a custom ensemble system with three models: Logistic Regression, Gradient Boosting, and Random Forest. Each model is trained on the same clinical data and makes its own prediction. The final output is decided by majority vote — like an election. This pushed our accuracy and made the system far more reliable than any single model could be. The UI transformation is the other one. Where we started versus where we ended up is night and day. It's now a clean, minimal, clinically focused interface that we'd actually be comfortable putting in front of a real doctor. And honestly — the whole system working together. ML engine, GenAI layer, backend, frontend, all talking to each other in production. That felt like a real achievement.

What we learned

We learned how to build a real ML pipeline end to end — preprocessing, encoding, training, cross-validation, serialization, deployment. Not just in theory but actually shipping it. We learned how tricky GenAI is in high-stakes contexts. Keeping a language model on-topic, factual, and responsible in a medical setting requires way more than a basic prompt. Security around LLM outputs became something we thought about seriously. And the bigger lesson — we learned how AI should fit into healthcare. Not as something that replaces the doctor's judgment but as a layer that supports it. Every architectural decision we made kept coming back to that.

What's next for CliniqueAi

Two things we're really excited about. First — giving the doctor an AI Copilot with agentic powers. Instead of manually navigating the platform, the doctor should just be able to say what they need and the system does it. Pull up a patient, generate a report, flag high-risk cases — all through natural language. Making the doctor's workflow genuinely hands-free. Second — an IoT device for real-time patient monitoring. The idea is a small device that tracks physiological signals and feeds data directly into CliniqueAI. Instead of waiting for a hospital visit, the system monitors the patient continuously and sends alerts the moment something looks off. Catching risk before symptoms even appear — that's the real vision.

Share this project:

Updates