ElderCare Companion is a full-stack web application for older adults and carers: daily check-ins, medications, appointments, AI-assisted insights, voice interaction, and a clinic-ready summary you can export as PDF. It is designed to feel calm, dignified, and easy to use—not clinical or overwhelming.
This repository contains everything needed to run and deploy the product, including the Next.js app, Supabase schema, and an optional static landing experience bundled for local preview and hosting.
| Pillar | What you get |
|---|---|
| Voice-first | Listen to summaries and prompts; optional speech input where the browser allows; ElevenLabs TTS for natural read-aloud when configured. |
| Continuity of care | Track mood, symptoms, adherence, and visits in one place—patterns surface on the dashboard instead of scattered notes. |
| AI that stays grounded | Insights and clinic summaries are generated from your logged data (with clear disclaimers: not a diagnosis, not a substitute for a clinician). |
| Bring to the appointment | Generate a plain-language clinic summary with PDF export—built for conversation with a GP or specialist, not for self-treatment. |
| Privacy-minded architecture | Supabase Auth + row-level security so each user’s health data stays scoped to their account. |
The application layer—the Next.js app, API routes, database integration, AI and voice pipelines, auth flows, and UI—was written end-to-end in this repository. It is not a white-label install or a no-code export; it is original implementation work you can read, run, and extend here.
Bundled static assets under silene-clone/ supply an optional marketing-style landing for demos and static hosting; they are packaged for this repo’s workflow (synced into web/public on dev/build). Replace copy, logos, and links freely for your own brand or deployment.
- Frontend: Next.js (App Router), React, TypeScript, Tailwind-aligned styling
- Backend / data: Supabase (Postgres, Auth, RLS)
- AI: Google Gemini (primary) with optional Anthropic fallback; server-side only keys
- Voice: ElevenLabs TTS and optional transcription APIs (keys stay on the server)
From the repository root:
npm install
npm run devThen open http://localhost:3000 in your browser. Use Get started to sign in or create an account, then open the Dashboard at /app.
- Copy
web/.env.example→web/.env.localand add Supabase URL + anon key (required for real auth and persistence). - Optional:
GEMINI_API_KEY,ANTHROPIC_API_KEY,ELEVENLABS_API_KEYfor AI and voice features. - Database migrations live in
supabase/migrations/— use the Supabase CLI (seeweb/README.md) for local Docker or a hosted project.
├── web/ # ElderCare Companion — Next.js application (main product)
├── supabase/ # Migrations and Supabase config
├── silene-clone/ # Optional static landing; synced into web/public on build
├── package.json # npm workspaces — run scripts from repo root
└── README.md # This file
Developer-focused details (scripts, every route, troubleshooting) are in web/README.md. Inside web/, see web/app/README.md (routes) and web/lib/README.md (shared modules).
- Application: Deploy the
webapp (e.g. Vercel): set environment variables from.env.example, run production build (prebuildsyncs the bundled landing intopublic/). - Static-only folder: You can host
silene-clone/alone as a static site if you only need the landing; full ElderCare requires the Next.js server fromweb/.
ElderCare Companion is a wellness and logging tool. It does not provide medical advice, diagnosis, or treatment. Always consult qualified healthcare professionals for health decisions.
See the License section in this repository if present; use of third-party logos or trademarks in bundled assets remains your responsibility when you ship under your own brand.