safeeyes
Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A patient-first map of the Australian healthcare system. Sibling venture of ADHD.ME under Wattle Technologies.
Status (2026-10-16): Queensland MVP running on real data. 4,736 doctors nationally (psychiatry, obstetrics-gynaecology, paediatrics) from 12 public sources; 876 in Queensland; 195 Queensland doctors linked to 1,077 verified publications. Patient journey and clinician onboarding implemented to the Figma design (file NEbiukDE3TyWFptwaCBhwV), 19 screens, two-layer matching ported from ADHD.ME (600 tests). Supabase project wattle-health (ap-southeast-2) holds the same data behind published_* views.
v7 (2026-10-18): Zocdoc's guided questions, recovered with REA (morluto/rea) from the shipped SearchAI bundle in the Wayback archive (qa/benchmark-zocdoc/archive), rebuilt one question per screen with progress, Back and "Just show my matches": specific issue, experience with care, type of care, medication management, open to a GP (excludes GPs on "no"), who it's for, age, video or in person, plus Wattle's "what matters most", then "Here's what you'll be searching for". No insurance. Verified patient reviews on every profile: average, count, "Highly recommended by Wattle patients" at 3+ reviews averaging 4.5+, "Write a review" (rating, when, words, "I saw this doctor"); every review is held as pending by row-level security until approved in Supabase (update reviews set status='approved', moderated_at=now() where id=…). Profiles start with no reviews; none are imported or invented.
v6 (2026-10-18): Zocdoc SearchAI pattern without insurance. The search API ranks per-patient highlights for every match on the server (src/data/highlights.ts: conditions asked about, how they work in their own words, lived experience, who they see, access, research, one personal line); each match leads with "Highlights for you" (three shown, the rest on a toggle, ticks on what you asked for). A Refine sheet of switches (telehealth only, all of Queensland, a woman doctor, sees children) replaces filter pills; each profile opens with the opening quote and folds the rest under "More about…". Zocdoc blocks automated capture, so the pattern comes from its public guided-search and how-search-works pages plus the parameters of its SearchAI URL.
v5 (2026-10-17): guided flow. Home takes the sentence; /narrow asks up to three questions (who it is for, in person or telehealth, what matters most), skipping any the sentence already answered; then one match at a time as a full profile on /results, the second and third revealed as you reach the bottom, then "Search again". 65 published profiles after a fourth sweep (regional Queensland and Brisbane paediatrics, portraits inline). node qa/figma/journey.mjs checks the whole flow.
v4 (2026-10-16): editorial strip-back after founder review: no chips, Newsreader names and quotes, the doctor's own opening statement on each card, results cards to Figma P05 with practice-site portraits (51 of 53), a searching screen with a breathing wattle orb, page ease-in, portrait shimmer, staggered sections, faces on home and recent rows, tinted drill-down panels with "More" opening every quote from the doctor's page. All motion off under reduced motion.
v3 (2026-10-16): 53 real Queensland doctors (four research sweeps) with genuinely personal bios on their own practice websites (women's health, mental health, overlooked chronic conditions) are merged in as published personal profiles (src/data/published.ts, research in data/enriched/personal/research-*.json, every record names its source page). Fictional illustrative profiles are off by default. The patient flow is now one field → results → profile; result cards carry matched chips, one quote in the doctor's published words and the practical line; the profile reads hero → in their words → how they practise → outside the clinic → sees → research / practical / why this match (folded) → source → call. Layout: edge to edge on phones, a device frame on tablets, a 560 px column on laptops.
Production: https://wattlehealth.vercel.app (Vercel project wattlehealth, linked to this repo, deploys every push to main; public). Verify a deploy with BASE=https://wattlehealth.vercel.app pnpm walk and BASE=https://wattlehealth.vercel.app node qa/figma/demos.mjs. Deployment target is Vercel only; there is no static export and no GitHub Pages site (founder decision 2026-10-16). Portraits on the cards are hotlinked from the same practice page each profile cites (data/enriched/personal/portraits.json, founder instruction 2026-10-16; 51 shown, one page had no portrait, one practice image was excluded because its file name says it is AI-generated). The clinician /join flow runs in labelled local mode until SUPABASE_SERVICE_ROLE_KEY is set in the Vercel project (the MCP token cannot read or write env; set it in the dashboard).
Preview deployment (Vercel, built from branch wattle-health-demo of Stef-01/Wattle, the Vercel-linked company repo): https://wattle-git-wattle-health-demo-stefan01-7725s-projects.vercel.app — the company project has Vercel Authentication on previews, so open it while logged into Vercel, or use a share link generated from the Vercel dashboard. To get a public production URL: create a wattle-health Vercel project linked to this repo (the MCP token cannot; npx vercel login then vercel link), add the env from .env.production, and SUPABASE_SERVICE_ROLE_KEY for clinician writes.
pnpm install
pnpm dev # http://localhost:3300
pnpm typecheck && pnpm test && pnpm build
node qa/figma/walk.mjs # full-journey screenshots against `pnpm start`
Copy .env.example to .env.local. The publishable key is safe; SUPABASE_SERVICE_ROLE_KEY is needed only for clinician onboarding writes (without it the join flow runs in local mode).
This is the beginning of the README. Read the rest at the original. Read the full README ↗