Architecture
The apps, the shared API, and how a request flows from your screen to the database and back.
AverCare is a monorepo — several apps and shared libraries living in one codebase — built around a single API surface. That one decision shapes everything else.
The surfaces
Web app
The main app and the home of the API. Most logic — AI, search, scan analysis, calendar, telemedicine — lives here.
Mobile app
iOS and Android, plus the watch surfaces. It calls into the web API rather than reimplementing the backend.
Watch apps
Native Apple Watch and Wear OS apps that stream vitals and chat over a secure phone bridge.
Shared packages
Database access, validation, logging, and typed schemas reused everywhere.
One API to rule them all
Every surface — phone, watch, web — talks to the same backend. A feature is implemented once on the server and instantly available everywhere. The mobile app doesn't have its own copy of the AI logic; it sends a request to the web API and renders the result.
How a request flows
You do something
Tap a button, send a chat message, finish a scan.
The client calls the API
A typed request goes to the shared API surface. The same endpoint serves web and mobile.
The server does the work
It checks who you are, validates the input, talks to the database and any AI models or third-party services, and assembles a response.
You get a result
Often streamed — chat replies and AI output arrive token-by-token so it feels instant rather than making you wait for the whole thing.
The data layer
A single relational database (PostgreSQL) stores your profile, chats, vitals, calendar, documents, and more. It's extended with vector search so the AI can find the most relevant pieces of your documents by meaning, not just keywords — the foundation for the AI stack.
Why a monorepo?
Shared types are the secret weapon. When the shape of a "vital reading" changes, the database, the API, the mobile normalizer, and the AI tools all see the same change at once — the compiler catches mismatches before they ever ship.