-
-
Landing Page
-
Chatting with our Llama 3 model and telling it our symptoms.
-
The model correctly reasons that I need a Fasting Blood Glucose test and gives me a form to make an appointment for the test.
-
The user manually types out their test results and the ML model predicts that the user has a high chance of diabetes.
-
The doctor can see their upcoming appointments in a beautiful CRM.
-
We also send a beautiful email confirmation to our users once they confirm their booking with their doctor.
CuraNova
Inspiration
We were frustrated by how long it takes to get basic medical guidance—waiting weeks just to be told to take a few tests. We wanted to create a system that uses AI to handle that first step instantly, giving people faster access to care while freeing doctors to focus on complex cases.
⸻
What it does
CuraNova replaces the preliminary doctor visit with an AI-driven triage system. It chats with patients to understand their symptoms, recommends the right diagnostic tests, and then analyzes uploaded test results using ML models to provide a prognosis.
It’s a full pipeline from symptom to insight—no waiting rooms required.
⸻
How we built it
We built the frontend with Next.js, TypeScript, and Tailwind CSS for a clean, responsive interface. The backend LLM runs on Cloudflare Workers AI, and the ML models run on a FastAPI server, while Supabase handles data storage. We used Clerk for authentication.
For the ML models, we used Python with scikit-learn to build diagnostic predictors using medical datasets from Kaggle. The models were serialized using joblib and hosted on Render.com behind a FastAPI endpoint.
⸻
Challenges we ran into
We ran into a bunch of problems, including: • Integrating multiple systems — AI conversation flow, ML inference, and database syncing was tricky. The system has two separate backends: one for the LLM and one for the ML models. • API communication — Ensuring all three entities (frontend, LLM, ML backend) communicated clearly and efficiently was the hardest part. • Maintaining context in Cloudflare Workers — We experimented with multiple designs before deciding to store the conversation context on the frontend, saving time and resources. • Authentication webhooks — Connecting Clerk authentication with Supabase was unexpectedly difficult. We had to use ngrok extensively for local testing before deployment. • Model diversity — The Diabetes Predictor uses an SVM, while the Cardiovascular Risk Model uses a Random Forest, due to data availability differences. • FastAPI learning curve — None of us had prior experience with FastAPI, so integrating it with other tools was a challenge. • Data format alignment — Ensuring frontend data matched the backend ML model input shapes caused major bottlenecks. • Feature scaling issues — Our models initially gave inaccurate predictions until we realized we needed to also deploy the StandardScaler model to preprocess inputs before inference. • System integration — Working across three codebases and a dozen tools, the biggest challenge was making everything work seamlessly together.
⸻
Accomplishments that we’re proud of
We built a fully functional, end-to-end AI healthcare assistant that can analyze symptoms, recommend diagnostics, and return ML-driven insights—all within one ecosystem.
None of us had prior experience working with LLMs, but we successfully implemented a stateful Llama 3 model that’s prompt-engineered to ask relevant follow-up questions before suggesting over-the-counter medication or diagnostics.
We extended it further by: • Adding multiple ML models to analyze test data • Implementing a CRM layer to help patients book real doctor appointments
Seeing it all come together—intelligently guiding users from symptom to action—was a huge moment for the team.
⸻
What we learned
We learned how complex real-world healthcare workflows are—and how much potential AI has to simplify them.
Key takeaways: • Hands-on experience with ML deployment, LLM integration, and secure data handling • Lessons in building scalable, distributed systems • The importance of context management in conversational AI • And perhaps most importantly—how much you can achieve with focus and teamwork under pressure
If we could turn back the clock 24 hours, with the knowledge we have now, we could build this project even faster.
⸻
What’s next for CuraNova
We plan to: • Expand our diagnostic catalog to include more diseases and tests • Integrate with major healthcare providers and EMR systems (Epic, Cerner, etc.) • Refine our ML models using larger, more diverse datasets • Enable real hospital integrations through API-based appointment booking
Our long-term goal is to make CuraNova the trusted, AI-powered bridge between patients and healthcare professionals—bringing intelligence, immediacy, and accessibility to modern medicine.
Built With
- cloudflare
- express.js
- fastapi
- javascript
- nextjs
- python
- react
- render
- resend
- shadcn
- supabase
- tailwind
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.