🩺 CareChain — Project Story
💡 Inspiration
CareChain was inspired by a simple but pressing reality: in many African communities, patients often show up at clinics without any medical history. Doctors are forced to guess or start from scratch, delaying care and risking lives. I wanted to build something lightweight, secure, and accessible — even offline — to help healthcare workers in these settings deliver faster, safer care.
🛠️ What it does
CareChain is a decentralized, offline-first electronic medical record system that allows healthcare workers to:
- Sign up and log in securely via role-based access (Admin, Doctor, Nurse).
- Create, view, and update patient records.
- Automatically generate unique QR codes for each patient.
- Access patient records by simply scanning their QR code — even without login (with time-limited tokens).
- Flag symptoms using a keyword-based dictionary to highlight risky or critical conditions.
- Sync new records created offline when back online.
- Log and audit all data access for transparency.
🧱 How we built it
- Built the backend with FastAPI, PostgreSQL, and SQLAlchemy for secure APIs and user authentication (JWT).
- Used Next.js and Tailwind CSS to design a clean, responsive frontend.
- Integrated a browser-based QR code scanner and used the
qrcodelibrary to generate codes on the backend. - Implemented Zustand for state management and Render + NeonDB for backend and DB hosting.
- Deployed the frontend on Vercel for fast, global performance.
🚧 Challenges we ran into
The biggest challenge? Time. The hackathon lasted one month, but I only discovered and registered for it on May 3rd — giving me just two weeks to build everything from scratch.
There were also plenty of technical hurdles: deploying with environment variables, handling CORS errors in FastAPI, syncing offline data, and structuring the symptom-flagging logic. Juggling this with school and life pushed me to my limits, but I kept going.
🏆 Accomplishments that we're proud of
- Built a fully working end-to-end medical record system in under 17 days.
- Implemented offline-first support, which is a huge win for low-connectivity areas.
- Added QR-based patient access and a working symptom flagging system.
- Created a clean, simple, and intuitive UI that anyone can use — even non-tech-savvy health workers.
📚 What we learned
- FastAPI and PostgreSQL under pressure — especially around auth, performance, and deployment.
- How to design a system that considers real-world constraints like offline access and non-technical users.
- The power of planning: wireframing, defining user roles, and managing frontend-backend integration.
Most importantly, I learned how much can be done with a clear goal and limited time.
🔮 What's next for CareChain
This is just the MVP. Next, I plan to:
- Replace the dictionary-based symptom flagging with a proper AI module for more intelligent diagnosis support.
- Improve the offline-first sync system to support full caching, editing, and auto-merge.
- Add multi-language support for better accessibility.
- Build a proper admin dashboard with password resets and user management tools.
- Partner with local clinics to pilot test CareChain in real-world scenarios.
CareChain has the potential to transform how healthcare is delivered in underserved areas — and this is just the beginning. 🚀
Built With
- fastapi
- github
- neondb
- next.js
- postgresql
- python
- qr-code-library-(qrcode)
- react-icons
- render
- tailwind-css
- vercel
- vite
- zustand


Log in or sign up for Devpost to join the conversation.