Inspiration
Our Inspiration
The idea for "SaathiConnect" (which means 'Companion Connect') came from a real-life worry: What happens if an elderly person has an emergency and can't speak for themselves?
Doctors and first responders are left guessing about their medical history, allergies, or emergency contacts. We realized that in a moment of crisis, this information gap can be dangerous.
At the same time, we know that many seniors also face social isolation and have a hard time getting quick answers for simple health questions. We wanted to build a single platform that could help solve both these problems: safety and community.
How We Built It
This project is a full-stack MERN application, built entirely in TypeScript.
Backend: We built a type-safe RESTful API using Node.js, Express, and TypeScript. All data is stored in MongoDB, and we used Mongoose schemas and interfaces for strict data modeling. For security, we implemented JWT (JSON Web Tokens) for user authentication, ensuring that patient data is secure and accessible only by the right users.
Frontend: The client is a responsive single-page app built with React and TypeScript (using Vite). Using TypeScript here was a huge advantage, as it helped us catch bugs and manage our component props and state types. We used Tailwind CSS and the Shadcn/UI component library to create a clean, simple, and accessible interface.
Key Features:
Role-Based Auth: Secure login for Patients, Doctors, and Hospitals.
Medical Profiles: A central, type-safe place for users to store their vital info—allergies, blood type, medications, and emergency contacts.
QR Code Generator: This is the core feature. The app generates a unique QR code for each patient. When scanned, it displays their public, life-saving medical information.
Community Feed & Chat: We built a simple social feed for users to connect and a real-time chat system for patients to consult with registered doctors.
What it does
SaathiConnect is a web platform built to protect senior citizens and keep them connected. It does three main things:
Provides Emergency Medical Info: A user creates a profile with their vital health details (allergies, medications, emergency contacts). Our app generates a unique QR code for them. In an emergency, any first responder or hospital can scan this code to get their life-saving information instantly.
Connects Patients to Doctors: It has a doctor-patient chat feature, allowing seniors to get medical advice from registered doctors without leaving their homes.
Builds Community: It includes a social community feed where users can post updates and connect with other seniors, helping to reduce loneliness and isolation.
How we built it
We built SaathiConnect as a full-stack MERN application using TypeScript on both the frontend and backend.
Frontend: We used React (with Vite) and TypeScript for a fast, type-safe UI. We built the component library with Tailwind CSS and Shadcn/UI.
Backend: We created a Node.js and Express server, also in TypeScript, to build a secure REST API.
Database: We used MongoDB with Mongoose to define our schemas and models for users, doctors, and posts.
Authentication: We implemented JWT (JSON Web Tokens) for secure, role-based authentication (Patient, Doctor).
Deployment: The backend is deployed on Render, and the database is hosted on MongoDB Atlas.
Challenges we ran into
Git Merge Conflicts: As a team, we constantly ran into merge conflicts, which broke our build several times.
Deployment: This was a huge learning curve. We spent hours debugging CORS errors between our frontend and the deployed backend.
Environment Variables: Figuring out how to manage .env files for development (localhost) versus production (on Render) was tricky, especially for connecting to MongoDB Atlas.
Build Failures: Our build failed multiple times on Render due to small syntax errors and unresolved merge conflicts that we missed locally.
Accomplishments that we're proud of
Shipping a Full-Stack App: We successfully built and deployed a complete, working full-stack application from scratch in under 48 hours.
Implementing Secure Auth: Getting the JWT authentication flow working correctly, including protected routes and role-based access, was a major win.
Solving the Core Problem: The main feature—generating a unique medical QR code for each patient that actually works—is something we're really proud of.
Learning to Deploy: Overcoming all the deployment challenges and getting our app live on the internet was a fantastic feeling.
What we learned
This hackathon was an intense learning experience.
We learned how to build and connect a full-stack app using TypeScript all the way through, from the React components to the Node.js API.
We learned the hard way how to debug production issues (like CORS and environment variables) that you just don't see on localhost.
We learned how to prioritize features to build a Minimum Viable Product (MVP) first. We had to focus on the QR code before making the chat perfect.
We got much better at collaborating with Git (after breaking the build a few times!).
What's next for Saathi Connect
We're excited about the potential for SaathiConnect. Our next steps would be:
Real-Time Chat: Rebuild the doctor chat using WebSockets (Socket.io) to make it truly real-time.
Live SOS Alerts: Implement a real SOS feature that uses the phone's location and sends automated notifications or calls to emergency contacts.
Onboard Real Doctors: Partner with clinics or hospitals to get verified doctors onto the platform.
Refine the UI/UX: Spend more time improving the user experience, especially for seniors, to make it as simple and accessible as possible.
Built With
- express.js
- mern
- react
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.