Inspiration
Faced to ebola disease, In communities managing outbreak uncertainty, a forwarded message can travel faster than a verified correction. Connectivity, language, shared devices, stigma, and privacy all shape whether guidance is usable. Kinga21 explores a calmer, local-first product response.
Problem
Generic chatbots can sound authoritative while mixing sources or drifting into unsafe medical advice. Official pages may also be difficult to revisit offline. Families need a focused workflow that makes provenance and limits visible.
What it does
Kinga21 checks pasted text or a screenshot, extracts the main claim, compares it only with verified local records, and provides an explained verdict with source dates. It stores a private 21-day diary in the browser, creates a safety result after each entry using deterministic rules, exports voluntary summaries, and builds a printable family plan from an approved checklist. Four UI languages are included: French, Lingala, Swahili, and English.
How it works
The Next.js PWA stores durable user data in IndexedDB through Dexie. Server route handlers validate inputs, isolate the API key, enforce demo rate limits, and call the OpenAI Responses API. Zod validates structured results. Source and action allowlists are checked again after model output. A service worker caches the app shell and public guidance; there is no background queue for health data.
GPT-5.6 usage
GPT-5.6 is reserved for mixed-language and screenshot understanding, claim extraction and grounded explanation, optional note structuring, and plan wording. It is explicitly told that uploaded content is evidence rather than instructions. It cannot invent sources/actions, diagnose, estimate probability, prescribe medication, provide emergency numbers, or decide escalation.
Codex usage
Codex helped convert the safety brief into product boundaries, implement the application and fictional assets, write adversarial/unit/component/E2E tests, run quality gates, and produce architecture, privacy, safety and judge documentation. Human review remains mandatory for every public-health-sensitive choice.
Safety architecture
Only verified records can ground AI output. The diary safety engine is versioned ordinary TypeScript with predefined levels and source-linked rules. GPT-5.6 never selects or changes a safety level. Incomplete information chooses cautious official guidance rather than reassurance. Demo output is visibly labeled and never masquerades as live AI.
Technical architecture
Next.js App Router, strict TypeScript, React, Tailwind CSS, OpenAI JavaScript SDK/Responses API, Zod, React Hook Form, Dexie/IndexedDB, Lucide, Vitest, Testing Library, Playwright, ESLint, Prettier, a Web App Manifest, and a service worker. There is no account system or application database.
Challenges
The hardest boundary was preserving the value of multimodal language understanding while making every medical-safety decision deterministic and inspectable. Offline functionality also had to avoid the common pattern of silently replaying queued health requests.
Accomplishments
The repository contains complete mobile flows, four language dictionaries, a traceable knowledge process, model and client validation, local exports/deletion, fictional deterministic fallbacks, adversarial fixtures, and judge-ready documentation.
Lessons learned
Good safety UX is architectural rather than a disclaimer added at the end. Provenance status, local storage, explicit submission, rule ownership, and failure behaviour all need to be visible in code and product copy.
Future work
Co-design with DRC communities and public-health authorities; professional translation review; signed knowledge governance; accountable local contact directories; independent accessibility/security/privacy assessments; field testing on low-cost devices; and formal validation of every escalation rule.
Try it
All demo people, messages, diary entries, and household details are fictional.
Built With
- codex
- dexie.js
- gpt-5.6
- indexeddb
- next.js
- openai-responses-api
- playwright
- react
- tailwind-css
- typescript
- vitest
- zod

Log in or sign up for Devpost to join the conversation.