Project Info

Splice Sentinel

Devpost

Inspiration

Studies show adverse drug interactions cause over a million preventable hospital admissions annually in the US. Despite this, clinicians lack quick access to real-world evidence at the point of care. The FDA's FAERS database contains over 10 million adverse event reports—but it's buried behind technical barriers and complex statistics. I built SpliceSentinel to bridge that gap: making FDA evidence instantly actionable in plain English during the prescribing decision.

What it does

SpliceSentinel helps a doctor check the safety of a drug combination using real FDA data. The doctor uploads a patient's medical records and prescriptions, and the tool: Extracts medications and history from the documents using Claude Pulls real adverse event reports for that drug combo from FDA FAERS Flags statistically significant risks using the Proportional Reporting Ratio (PRR ≥ 2) Surfaces similar real patient cases with matching conditions Writes a clinical summary explaining the risk in plain English The result: a doctor gets evidence-backed answers in seconds instead of hours of manual research.

How we built it

The backend runs on Python and FastAPI, with Claude handling document parsing, FDA data analysis, and the final plain-English summary. Sentry tracks performance and errors. The frontend is React, with drag-and-drop upload and an interactive graph of adverse events. Results are cached in JSON for speed.

Challenges we ran into

Files weren't fully saved before we read them. Temporary files were sometimes read before they finished writing to disk. Fixed with explicit file.flush() and os.fsync() calls. Multi-file upload kept breaking. React wasn't applying the multiple attribute consistently. Fixed by separating the input elements and adding deduplication logic. Hundreds of adverse events were impossible to read at a glance. Solved with an interactive, color-coded network graph with search and hover tooltips. Sentry needs real signal, not noise. We had to instrument FDA queries carefully so slow calls were tracked meaningfully without adding unnecessary overhead.

Accomplishments we're proud of

A statistically sound signal detection method (PRR), not just raw event counts Reliable file handling that holds up with real, messy medical documents A visualization that makes thousands of FDA data points understandable at a glance Full observability into performance and errors via Sentry A complete, working full-stack app — not just a prototype

What we learned

How FDA adverse event reporting actually works, and where its limits are How to reliably parse real-world medical documents (encoding issues, large files, messy formatting) How to turn statistics into clear, trustworthy clinical language without oversimplifying How to use Sentry to catch slowness, not just crashes — critical in a healthcare context How much careful I/O handling and error recovery matters once you're handling real medical data

What's next

A faster way for individual doctors to onboard — no IT department or hospital procurement needed More data sources — FDA drug labels, contraindication databases, clinical literature A second opinion mode so a doctor can quickly sanity-check a prescribing decision before signing off Mobile app so a doctor can use it at the bedside, not just at a desk

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • AnthropicIn code
  • CSSIn code
  • FastAPIIn code
  • HTMLIn code
  • JavaScriptIn code
  • PythonIn code
  • ReactIn code
  • Tailwind CSSIn code

8 of 8 appear in the indexed code.

AI coding agents

  • Claude CodeConfig · Commits

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

818 KB

Source files

199

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars