Inspiration

None of us agreed at first. We each had a different idea going in, and the first hour was basically just an argument over Discord about whose to go with. We finally ended up on emergency rooms. Once we actually started talking about how they work, it was hard to look away. The order people get seen in doesn't always match how sick they are. Paramedics calling in updates while still treating a patient, with no real way for the hospital to prepare. Staff tracking everything manually. We decided it was worth building for.

What it does

AEGIS is an emergency department operations platform. It handles patient prioritization, ambulance coordination, medication safety, and live queue management in one place.

AI acuity analysis: Claude reads patient symptoms, vitals, and history and reasons through them step by step. It returns an urgency level, where to send the patient, and the actual reasoning behind the call so clinicians aren't just trusting a number.

Safety floor: A rules engine scores the same patient independently. The final priority is always whichever is higher. The AI can raise a patient up the queue, but it cannot push a critical patient down. That constraint is enforced in the code, not just described in documentation.

Ambulance pre-arrival: EMS submits patient info before arrival, by voice or typed. The team knows what is coming before it gets there.

Medication safety: Drug interactions are checked against the U.S. National Library of Medicine's RxNav API at intake and flagged automatically.

Live priority queue: Patients ranked by urgency, not arrival time. Updates in real time as conditions change.

Audit logging and RBAC: Every action logged. Nurses, physicians, and EMS each see what they need.

NOW LIVE AT : aegisweb.onrender.com

How we built it

Stack: React, TypeScript, Vite, Tailwind CSS, Framer Motion on the front end. Node.js, Express, TypeScript on the back end. MongoDB with Mongoose. Deployed on Render.

The main engineering challenge was the AI layer. We call Claude through tool-use with a validated JSON schema, which forces structured output we can actually parse instead of freeform text. If the call fails or times out, the app falls back to the rules engine automatically. We also built a feedback loop we called ACUITY where clinician corrections get stored and fed back into the prompt, so the system adapts to how a specific department operates over time.

Voice dictation on the ambulance flow uses the browser's Web Speech API. Medication data comes from NLM's RxTerms and RxNav APIs. Auth is JWT with a full RBAC system.

Challenges we ran into

We had never worked together before, and getting on the same page at the start took longer than expected. Different ideas, different opinions on direction, and figuring out who was doing what all ate into day one.

The AI integration was where we hit the most walls technically. Getting Claude to return structured output consistently, handling the cases where it didn't, and making the safety floor logic hold up under different kinds of inputs took a lot of back and forth. Streaming the reasoning steps to the frontend without things locking up was its own problem.

By day two we also had to completely rebuild the design system. What we had worked but was genuinely hard to use, not just visually but in terms of how the flows felt. We did that while still trying to finish features.

Accomplishments that we're proud of

Getting a fully deployed, working app done over a weekend was not something any of us were sure we could pull off when we started.

Two of us are in middle school, one in high school, from completely different schools, and we had never worked together before this hackathon. We stayed up through the night, rebuilt the design system from scratch midway through, and hit more walls than expected. Finishing it actually meant something.

Winning HackJPS would mean a lot to us. This is the first time the three of us have built anything together, and AEGIS is something we genuinely want to keep going. We are not building this to submit it once and move on. The goal is a real mobile app for EMS, a hospital pilot, deeper clinical AI. Winning gives us the momentum to actually pursue that and shows that a team like ours, across schools and grade levels, with no prior history of working together, can build something worth taking seriously.

On the technical side, the safety floor is what we are most proud of. We could have let the AI handle prioritization entirely and called it done. Instead we spent real time thinking through what the failure looks like when AI is used in a clinical context and built a constraint into the system itself. The rules engine that can only raise priority is not a setting you can turn off. It is how the math works, and it is verifiable in the code.

What we learned

The main thing was how to actually build with an LLM rather than just prompt one. Designing the output schema, validating responses, writing fallback logic, and thinking through what happens when the model is slow or wrong ended up being most of the real work. That was not what we expected going in.

We also learned what it means to ship under a deadline. You make different choices. You cut things that do not matter and protect things that do.

What's next for AEGIS (Adaptive Emergency Guidance and Intelligence System)

  • Mobile app for EMS: Submit patient reports from the field without needing a laptop
  • EHR integration: Pull patient history directly from Epic and Cerner instead of manual intake entry
  • Predictive staffing analytics: Acuity pattern data across shifts can tell you where to staff before things get busy. The infrastructure is already there
  • Clinical AI fine-tuning: Right now we use a general-purpose model. Training on de-identified ED data would sharpen the clinical reasoning specifically for emergency care
  • Hospital pilot: Get this in front of actual clinicians and find out what breaks

See the roadmap image in the gallery for the full four-phase timeline.

Built With

Share this project:

Updates