Inspiration

Most personal-modeling products begin with a long blank form. But a person’s AI agent may already know useful fragments of family history and life context. The missed opportunity is not merely autofill: it is a shared working surface where the person sees the model changing while the agent gathers only what is actually missing.

What it does

Longevity is a privacy-first WebMCP workspace in which a person and their agent build a visible Life Function together. The agent reuses structured facts already available in its context, asks only for gaps, and submits those facts directly into the open page. Longevity then visualizes parental trajectories, the client’s observed trajectory, influence coefficients, a hereditary model, and conditional life-extension scenarios.

When context is sparse, the agent runs a live four-chapter interview: family and influence, ancestors, parents, and the client’s trajectory. It asks one short question per message, accepts text, voice, approximate answers, or “I don’t know,” and stops the required interview as soon as the first calculation is ready.

Why WebMCP

Longevity exposes seven client-side WebMCP tools. The agent can read the intake and privacy contract, submit known facts, inspect completeness, request exactly one next interview step, add a structured answer, and retrieve scenario comparisons. Every accepted tool call updates the same in-tab state the person is looking at.

This creates an experience that was difficult before WebMCP: private context can be reused without forcing the person to re-enter everything, while the browser remains the shared visual source of truth. The person can inspect sources and assumptions, adjust father, mother, and environment coefficients, and watch the Life Functions recalculate immediately—without the agent scraping or clicking through the UI.

Privacy by architecture

The deployed static page has no intake server, account, analytics, cookies, database, or persistent storage. It accepts structured facts only, never raw chat, audio, or transcripts. Personal facts remain in JavaScript memory inside the open tab and disappear on reload, tab close, or Clear. A restrictive Content Security Policy uses connect-src 'none'. The WebMCP manifest also states that retention of the external agent conversation is controlled by that agent platform, not by Longevity.

How we built it

  • React 19, TypeScript, and Vite
  • Imperative WebMCP registration through document.modelContext.registerTool()
  • Strict JSON Schemas and structured tool results
  • Abort-scoped re-registration when the locale changes
  • Fully client-side calculations and state
  • English-first interface with a complete Russian UI and WebMCP contract
  • Netlify static deployment with restrictive security headers
  • Automated coverage for intake flow, privacy, calculations, charts, tool registration, and localization

Challenges and lessons

The hardest design problem was balancing completeness with a conversational interview. Too few questions produced a weak model; a conventional questionnaire felt endless. The four-chapter policy, one-question rhythm, explicit unknowns, and separate preliminary/refinement phases made the flow both bounded and useful.

A second challenge was making strong privacy language technically true. That led us to keep all personal state inside the tab, forbid raw conversational media, expose the privacy boundary to the agent before submission, and distinguish page storage from the agent platform’s own retention policy.

Finally, the model had to remain legible and epistemically honest. Longevity shows completeness, provenance, assumptions, and uncertainty, and presents its calculations as a conditional Androphysics model—not medical advice, a biological forecast, or a prediction of a person’s death.

Built With

Share this project:

Updates

Submission history