LifeWell โ a project by Ahsan Mahmood
Health and wellness tracking across web, Android and a browser extension.
The year somebody in a house is pregnant is often the year somebody else in it is managing blood pressure.
Those two facts sit in different applications built for different people, and neither one knows the other exists.
One app assumes a woman in her twenties. Another assumes a new parent. A third is designed around somebody with a long-term condition and a clinician waiting for numbers.
A household is all three at once.
So the records scatter across accounts and phones, and the view that would actually help โ everyone, over years, in one place โ is the one nobody ends up with.
LifeWell runs on a single Firestore backend on the free tier, with no server that has to be kept alive for it to work.
That constraint matters more here than anywhere else in this portfolio. A health record you cannot open in three years is not a record, and a tracker that stops paying for itself stops existing, taking the history down with it.
Keys never sit in the browser bundle. The calls that need one go through a Cloudflare Worker token proxy, so the secret stays on the server side of that line.
45+ health tools cover vitals, water, medications, exercise, sleep and nutrition.
Periods and fertility live in the same product as baby milestones, because in a real household those are frequently the same year.
Around them sit people, memories, notes and a community layer, so a reading has somebody attached to it instead of being a row in a table.
One product, three surfaces.
It runs as a PWA and ships as a Capacitor Android build on Google Play, with a WXT browser extension for the check-in you would otherwise put off until you found your phone.
200+ routes and 10 languages, Arabic with right-to-left layout among them. Per-route static HTML with JSON-LD makes the public pages readable to a crawler, and there is a public documentation site alongside the product.
Two of the rules this whole practice now works to were paid for on this project.
The first is the central logger. Every direct console call came out across 95 files and the linter refuses new ones, which is a refactor that produced no feature any user will ever see and closed a class of leak that only shows up in production.
The second came from the Play Console.
A camera permission the app did not need was in the merged manifest, and the submission was rejected for it. Every Android build since is audited against its merged manifest rather than against the one written in the repository, because those two are not the same document.
Shared family records raise a question a single-user tracker never has to answer: who is allowed to see whose. That is a security-rules problem rather than a screen, and it is the part of this product that is easiest to get quietly wrong.
Ten languages is ten times the surface every new string has to cross.
And a tracker only ever knows what somebody typed into it. LifeWell keeps that record and shows it back over time. It does not interpret the record, gives no medical advice, and nothing in it is a diagnosis.
There is no iOS half. There is no Apple Developer account behind this work, so Android and the web are the two surfaces it has genuinely reached.
The history is the product. Everything above exists so that it is still openable in five years, on a phone I will never see, by somebody who has never heard of me.
What it does, and what that costs to build
- 45+ health tools (vitals, water, meds, exercise, sleep)
- Period & fertility + baby milestone tracking
- Full Radix theme customizer (7 options)
- 10 languages including RTL Arabic
- Browser extension (food-safety + reminders)
- Per-route static HTML + JSON-LD for AI search
- Public Docusaurus docs site
Built with
- React 19
- TypeScript
- Vite 8
- Radix UI Themes
- TanStack Router
- Firebase
- Cloud Functions
- CapacitorJS
- WXT
- Cloudflare Workers
Worth knowing
- health
- wellness
- family-health
- react
- firebase
- pwa
- capacitor
Who built LifeWell?
Ahsan Mahmood built it alone, and it is live at lifewell.aoneahsan.com with an Android build on Google Play. The data model, the Firestore rules holding one household's records apart from another's, the Android packaging and the store submission are all the same person's work.
Does LifeWell give medical advice?
No. It keeps a record of what you enter and shows it back to you over time; it does not interpret readings, does not diagnose anything and is not a substitute for a clinician. That boundary is deliberate and it is why the tools are described as tracking rather than as assessment.
Does LifeWell work on iPhone?
No, there is no iOS build โ there is no Apple Developer account behind this work, so nothing here has ever gone to the App Store. LifeWell runs as a web application that an iPhone can open in Safari, and it ships a real installed app only on Android.
What can a family track in one place?
Vitals, water, medications, exercise, sleep and nutrition, plus periods and fertility, baby milestones, and the people, memories and notes that give a reading somebody it belongs to. The point of putting them in one product is that a household is rarely one demographic, and the same year often contains a pregnancy, an infant and somebody managing a long-term condition.
Which languages does LifeWell support?
Ten, including Arabic with full right-to-left layout. Right-to-left is the one that decides whether a translation layer was built properly or retrofitted, because it changes layout rather than only text. Adding an eleventh language is a catalogue file rather than a rebuild.
https://aoneahsan.com/projects/com.aoneahsan.lifewell