Mirobody
The canonical registry of human health — roughly two thousand standardized indicators, clinical and lifestyle, resolved into one language.
ต้นแบบผู้ช่วยดูแลสุขภาพเบื้องต้น: วัดชีพจรด้วยกล้อง (ทดลอง) เช็กอาการเบื้องต้นตามกฎ และข้อมูลฉุกเฉิน 1669
Translation pending
HealthHTMLGitHub @Chaiporn2005OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Sookjai Health (สุขใจ เฮลท์) — hackathon prototype: camera pulse estimate, rule-based Thai symptom checker, chat with mascot น้องสุขใจ. Not a medical device.
Translation pending
Loading the full README.
Read the full README ↗Sookjai Health is a single-page Thai web app for basic health guidance, designed for older adults. Its mascot is น้องสุขใจ, a chipmunk drawn from Character_Design.jpg. The app has five parts: a camera pulse estimate (PPG), a rule-based symptom checker, a chat with the animated mascot, Thai text-to-speech, and emergency information (1669).
Live demo: https://chaiporn2005.github.io/sookjai-health/ (open it on a phone to use the camera pulse measurement)
Prototype, not a medical device. No part of this app has been clinically validated. Pulse values are estimates. Symptom guidance is general information, not a diagnosis, and has not yet been reviewed by a clinician.
| File | Purpose |
|---|---|
index.html | The whole app: HTML, CSS and JavaScript in one file. It has no external requests and no dependencies. The mascot is inline SVG, so the image file is not needed at runtime. |
Character_Design.jpg | The character design sheet the theme and mascot are based on (reference only). |
ppg_validation_template.csv | A blank paired-measurement table with Excel/Sheets formulas for absolute error, MAE, bias and the share of readings within ±5 BPM. |
README.md | This file. |
Symptom checker, TTS and demo mode: double-click index.html. It works offline in any modern browser.
Camera pulse measurement on a phone: browsers only allow the camera on HTTPS or localhost. Use one of these:
index.html to a repo and enable Pages. Then open https://<user>.github.io/<repo>/ on the phone.npx serve . or python -m http.server, then open http://localhost:…. A phone that loads the laptop's LAN IP over plain HTTP is not a secure context, so the camera will be blocked there.Android Chrome works best, because it is the only common browser that lets a web page turn on the flash. iPhone Safari runs the measurement with ambient light only.
| Feature | Status | Notes |
|---|---|---|
| Camera PPG pulse estimate | Functional, unvalidated | Processes real camera frames on the device and runs signal-quality gates before showing a number. It has not been compared against a reference device on real people. |
| PPG demo mode | Simulated | Generates a synthetic pulse waveform (target 62–86 BPM) and runs it through the same algorithm. It is labeled "ข้อมูลจำลอง" (simulated data) everywhere, and its rows are excluded from MAE. |
| Symptom checker | Functional, not clinically reviewed | Covers 14 symptoms, 9 red flags and 5 context modifiers (age, pregnancy, chronic disease, severity), plus duration. Uses keyword matching on free text. It does not diagnose or recommend medication. |
| Chat with น้องสุขใจ | Functional, rule-based | Keyword intents, with emergency and self-harm checks always run first. Not an LLM, so it only understands phrases it was given. Text input only. |
| Thai TTS | Functional, device-dependent | Uses the Web Speech API. It needs a Thai voice installed, and the app shows a status message when none is found. |
| Validation table | Functional | Kept in memory only. Computes |error| and MAE, and exports to CSV. |
| History, accounts, SpO₂, AI chat | Not built | Deliberately out of scope, to keep the privacy risk low. |
Theme and mascot (from Character_Design.jpg)
prefers-reduced-motion; expressions still change.Chat: "คุยกับน้องสุขใจ"
This is the beginning of the README. Read the rest at the original. Read the full README ↗