Sympto
Understand Your Body. Improve Your Health.
Created on 30th December 2025
•
Sympto
Understand Your Body. Improve Your Health.
The problem Sympto solves
You can use Sympto for:
- Quick symptom triage (non‑emergency): Capture symptoms and context in a structured way so you can think clearly about “what’s going on” and what to watch next.
- Preparing for a doctor visit: Turn scattered notes into a coherent summary (symptoms, duration, severity, triggers, meds/labs) so appointments are more efficient.
- Tracking changes over time: Save repeated assessments to spot patterns—what’s improving, what’s getting worse, and what seems to trigger flare‑ups.
- Lifestyle + habit correlation: Log lifestyle factors (sleep, stress, diet, activity) alongside symptoms to identify “possible contributors” you might otherwise miss.
- Comparing assessments: See differences between past and current entries to support decisions like “is this worth escalating?” or “did a change help?”
- Personal health journaling: Keep a consistent personal record that’s easier to review than free‑text notes.
- Research and education support: Use the AI output as a starting point for questions to ask a clinician, not as a final diagnosis.
How it makes common tasks easier:
-
Guided data capture: Multi‑step forms reduce the “what should I include?” problem and make entries more complete.
-
Less cognitive load: Instead of remembering everything at once, the wizard structure prompts the right details in the right order.
-
Consistent formatting: Repeated assessments are comparable because the same fields are collected each time.
-
Faster summaries: AI‑powered insights can turn raw inputs into a readable “key points” view, saving time when reviewing or sharing.
-
Centralized history: Keeps symptom notes, lifestyle context, and results in one place rather than scattered across notes/apps.
How it makes things safer (practical safety improvements, not guarantees): -
Secure accounts: Authentication helps keep health data tied to the right person (and reduces accidental sharing).
-
Sensitive data protection: The backend emphasizes encrypted storage/transmission and safer handling patterns for user data.
-
Reduced omission risk: Structured questions can reduce the chance you forget important context (duration, severity, red flags, meds).
-
Clearer escalation decisions: Comparing trends can help you notice when something is worsening and needs professional attention sooner.
Important note: this kind of tool is best for decision support and organization, not diagnosis. If symptoms are severe, sudden, or worrying, it’s safer to seek urgent medical care.
Challenges we ran into
Challenges we ran into (and how we overcame them):
- Messy / inconsistent health data: Symptom, diet, and lab inputs were noisy, missing, and inconsistent across users. We solved this by using structured multi-step forms, normalizing fields into a single flat schema, validating inputs, and safely coercing types before analysis.
- Encrypted fields vs ML-ready numbers: Sensitive lab values are encrypted at rest, which can lead to NaN/null payloads if you format data before decrypting. We fixed this by decrypting only the required fields at analysis time, then converting to numbers after decryption.
- Frontend–backend–ML integration complexity: Connecting UI → API → database → external AI reliably (with low latency and room to scale) was tricky. We addressed it by keeping ML calls behind a backend service layer, standardizing request/response contracts, and isolating model-specific logic from the frontend.
- External AI service reliability (timeouts, cold starts): Hosted inference can be slow or temporarily unavailable (especially with cold starts). We added timeouts, retries with backoff, and a lightweight health/warm-up endpoint so the app can detect readiness without breaking UX.
- Inconsistent model response formats: Different deployments sometimes returned different JSON wrappers/shapes. We handled this by making parsing more robust and normalizing multiple known response shapes into one internal structure.
- CORS + multiple deployment origins: Local dev, production, and preview deployments caused “works locally, fails in prod” CORS issues. We fixed this with an explicit allow-list (plus optional regex support) so it’s secure but still deployable.
- Edge-case request bodies: Some endpoints don’t need a body, but clients may still send Content-Type: application/json, causing false “Invalid JSON” errors. We adjusted validation to allow empty bodies while still rejecting malformed JSON.
- Testing/runtime friction with modules (ESM + fetch): ESM + HTTP clients can be finicky in test environments. We reduced brittleness by using a safer import strategy for the fetch client and keeping external calls well-contained.
Tracks Applied (2)
Best Innovation
AWS
AWS