Inspiration
In an emergency, people can panic, forget the first steps, and struggle to communicate clearly with others who arrive to help. We wanted to create a calm, focused experience that helps a bystander organize immediate first-aid actions, record what happened, and prepare a clear handover for trained responders.
FirstAid AI is designed as an information and coordination tool—not a replacement for emergency medical services, trained responders, or professional medical advice.
What it does
FirstAid AI is an emergency first-aid guidance web application.
Users can begin an emergency session, select or describe a scenario, and follow short, structured guidance for situations such as choking, severe bleeding, burns, seizures, or an unconscious person. During a session, the app records reported answers, actions taken, notes, a transcript, and a timeline.
At the end of the session, FirstAid AI generates an editable handover report based only on the information recorded during that session. The report includes timestamps, reported observations, recorded actions, and a clear disclaimer that it is not an official medical record.
The app also includes first-aid tips, practice flows, profile settings, and emergency-contact features to help users prepare before an emergency happens.
For severe situations, the product clearly flags that emergency services should be contacted. It does not claim that emergency services were called, dispatched, or arrived.
How we built it
We built the frontend with React, TypeScript, Vite, and Tailwind CSS. The user experience is designed around a focused emergency-session flow with visual guidance, timeline events, transcript entries, reports, practice scenarios, and safety content.
We built a separate Node.js, Express, and TypeScript backend. It provides REST endpoints for emergency sessions, deterministic demo triage responses, summaries, practice feedback, and report generation. Session data is stored in memory for this hackathon MVP.
We also added a WebSocket server for live session events. It supports triage-answer messages and sends compatible instruction, vitals, timeline, transcript, and status updates to the frontend.
We used Codex with GPT-5.6 throughout development to inspect the existing project, implement the backend without breaking the frontend, resolve TypeScript issues, create endpoint tests, organize documentation, and prepare the project for a reproducible setup.
Challenges we ran into
One major challenge was building a helpful emergency experience without overstating what the product can safely do. We deliberately avoided diagnosis, automatic emergency dispatch claims, invented patient facts, and unsupported live AI behavior.
Another challenge was integrating a new backend into an existing frontend that already had mock flows. We needed to preserve the existing user experience while adding compatible API routes, WebSocket messages, and an in-memory session model.
We also had to make the project easy for judges to run locally by separating frontend and backend setup, documenting environment variables, and adding build and endpoint tests.
Accomplishments that we're proud of
- Created a focused, emergency-oriented interface rather than a generic chatbot.
- Added a complete in-memory emergency-session lifecycle.
- Built a factual handover report generated only from recorded session data.
- Added safe escalation language for severe situations without pretending to contact emergency services.
- Added REST APIs, WebSocket updates, TypeScript configuration, documentation, and tests.
- Preserved the existing frontend while extending it with a standalone backend.
- Used Codex with GPT-5.6 as a practical development partner across implementation, debugging, testing, and project organization.
What we learned
We learned that safety and clarity matter as much as technical capability in health-related software. A useful tool should communicate its limits, avoid inventing medical facts, and make escalation to trained help clear.
We also learned how to connect a React frontend with an Express and WebSocket backend while keeping contracts stable, handling session state, and producing testable outputs. Codex helped us move faster while keeping the implementation organized and documented.
What's next for FirstAid
Next, we plan to deploy the backend publicly, replace in-memory storage with secure persistent storage, add authenticated user accounts, and allow users to securely save or share reports.
We also want to validate all first-aid content with qualified medical professionals, add location-aware emergency-number guidance, improve accessibility and offline support, and introduce carefully reviewed speech features. Any future live AI capability will remain behind safe guardrails and will never replace emergency services or clinical judgment.
Built With
- express.js
- node.js
- react
- vercel
Log in or sign up for Devpost to join the conversation.