Live demo
aletheia.marcobuhlmann.com
Source
3cubed-Ventures/aletheia-health
Nothing enters your record on its own. Every importer, whether it reads a CSV, a lab PDF, a connected medical record or Apple Health, only proposes values. A value is saved when a person confirms it.
What it does
Components
Web app
Static pages on Cloudflare Pages: the home page, sign-in, dashboard, upload, account and admin.
Supabase
Postgres schema, grading functions, RLS policies, the biomarker catalogue and six edge functions.
Mac & iPhone
Native SwiftUI apps that read Apple Health and propose what they find into the same record.
Repository layout
Run it locally
The web app is static. Servedist/ and point app.js at your Supabase project:
Deploy
The site is hosted on Cloudflare Pages:*.pages.dev host. A branded login form on a free pages.dev subdomain looks like credential phishing to reputation filters, and visitors were getting an unsafe-site warning. For the same reason, the Google and X sign-in buttons stay hidden behind OAUTH_ENABLED in login.html until those providers are configured.
Secrets
Edge function secrets live under Edge Functions → Secrets in the Supabase dashboard, not under Project Settings. They take effect immediately, without a redeploy.Known gaps
- Deleting a user from the Supabase dashboard removes their rows but leaves their files in the storage bucket, where nobody can reach them. The in-app delete handles this correctly. The dashboard path still needs an edge function that clears storage first.
- Google and X sign-in need provider credentials before those buttons work.
- In light mode, the
--okand--watchcolours fall below WCAG AA contrast when they tint small chip text.
Next steps
Architecture
Grading, security, and how each importer turns a file into proposals.
Access control
Invite-only sign-up, access codes, and approving from the inbox.
Mac & iPhone apps
Importing Apple Health, and the code both apps share.
Biomarker reference
All 41 biomarkers, their units, systems and bands.
