Software · Deployed application
Kidney Transplant Food Guide
Arabic/English food reference with ranked search, offline access and local preferences.
- My role
- Independent application developer
- Period
- 2026
- Source
- Public repository
The question
How do you make a small bilingual reference easy to search, inspect, and use offline?
TypeScript · Vite · PWA · Vitest · Playwright
My contribution
Built the bilingual interface, search, offline behavior, local preferences, and content-validation workflow.
01 / problem
Bilingual offline reference
The application provides searchable Arabic and English food guidance, with offline access after its initial load.
The software is an educational support tool. The engineering case is about making information accessible and traceable, without turning the interface into a diagnostic or prescribing system.
02 / architecture
Architecture
- Strict TypeScript models define the content, categories, statuses, and source references used by the interface.
- A framework-free browser UI uses hash routes for direct links and offline navigation.
- Search normalizes Arabic and English queries, then ranks names, aliases, tags, and categories.
- A Workbox service worker supports offline use; preferences remain in local browser storage.
- A validation script checks content completeness, identifiers, source references, and required search behavior before a build.
03 / decisions
Search ranking and normalization
The search implementation handles common Arabic spelling forms, diacritics, punctuation, and numeral variants before ranking matches. Exact names and aliases receive stronger treatment than loose category matches. Typo handling is bounded so a short, unrelated query does not become a plausible-looking answer.
Local preferences and static delivery keep the application usable without an account or application backend. Source records are part of the content model rather than an unrelated list of links at the end.
04 / evaluation
Testing
The repository includes data, search, settings, and rendering tests, along with browser checks for mobile use, accessibility, and offline behavior. The build-time validator adds a separate gate for malformed content and unresolved source references.
These checks address the application's behavior and content structure. They do not measure clinical effectiveness or replace review by the patient's care team.
05 / limitations
Limitations
- Offline use requires an initial successful load and a browser that retains the cached application.
- Data validation can detect structural omissions; it cannot establish that medical content remains current or applies to every patient.
- The application does not diagnose, prescribe, or recommend changing prescribed treatment.
- No account sync is provided; preferences are local to the browser.
06 / next
Next steps
Further work should focus on the vocabulary people search for, accessibility feedback, and a clear content-review process. Improvements to the interface and reviews of the health information remain separate responsibilities.
Source
Selected public files, with commit references and links to GitHub.
Public overview reviewed 8 September 2026. Repository commit: 2026-08-28.