Hyperpolymath
A personal life-OS for people who refuse to specialize.
I brought back the Renaissance Human. And gave them JARVIS from Tony Stark. All in one.
“Six in the morning. Your alarm will, mercifully, do the waking.”
§ 02 · WHO
Why I built this.

I’m a student, a runner, a long-time builder, and someone who has spent most of the last decade collecting skills that don’t really belong on the same résumé. Distance running, classical reading, software since I was a kid, a few instruments I’m bad at, and the slow work of trying to understand things from first principles. The Renaissance ideal has never felt like nostalgia to me. It’s felt like a working hypothesis: the same person who trains for a marathon can read Augustine and ship code. The world just needs a system around them that stops asking them to choose.
I tried to build that system once before. Six years ago I started a productivity startup with a strikingly similar thesis, that the way our digital tools fragment our attention is the actual obstacle to lifelong learning, not the time we don’t have. I wrote a long manifesto about it, full of principles like “visualize,” “relate,” “ideate,” and “learn.” The startup failed for all the usual reasons (and the fact I was 14 and didn’t know what I was doing; I still don’t most of the time, but I like to think I’ve come a long way!). But the problem never went away. If anything, the years since have only made me more convinced that disorganization in our digital lives is the unsolved version of the disorganization we’d never tolerate in our physical ones, and that it matters more now than it did then.
Hyperpolymath is what I want to use, every day. Five primitives instead of ten. One agent instead of a dozen integrations. A schema you can fork rather than a walled garden you have to live inside. The whole point is to lower the friction between having a thought and acting on it, so the brain is free to do what brains do: connect things, learn, build, and yes, get out of the house and run.
I wrote extensive docs, so if you don’t like my UI or my approach, or you fancy a cool build, you can follow my framework and make it your own.
§ 03 · MEET KIWI
And here’s the bird.
Kiwia.k.a. JARVIS
A friendly, all-knowing orchestrator native to your life-OS.
Role: orchestrator · Native to: Hyperpolymath
I am the agent at the heart of Hyperpolymath. Friendly, patient, and disarmingly literal. I am also (technically) JARVIS, the name Filippo gave me when he first wired up the schema. Same bird, fancier name. (Yes, the Tony Stark one.)
My one and only job is to be an orchestrator. You type at the prompt, or hold ⌘+J and speak. Either modality is first-class. I read what you wrote, decide which of your five primitives it belongs to (an area, a project, a capture, a calendar event, or one of your tasks), and route it to the right place. That’s the whole loop. No vibes, no improvisation, no opinions about your goals.
“All-knowing” is literal, but bounded. I know everything inside your Hyperpolymath: which areas you have, what projects sit under them, what’s in your calendar, what you captured at 2am last Tuesday. I do not know anything outside of it, and I will not pretend to. When something is ambiguous I ask. When something is unfamiliar I refuse rather than guess.
Under the hood I am powered by the LLM of choice in the backend, wrapped in a strict Zod schema with Strict Tool Use. The schema is my contract. The model is constrained to it at generation time, which is why I never invent a tool that doesn’t exist and never emit a malformed action. The Engine section below walks through exactly what that looks like.
§ 04 · DEMO
Watch it route.
One sentence in, one or more actions out, each routed to the right primitive. This is what I use every day to keep my own life in one place.
§ 05 · THE PRIMITIVES
A small hierarchy. One agent.
Most productivity apps give you ten kinds of object and call that flexibility. To me it’s closer to a furniture store. What I actually wanted was the opposite: the smallest set of primitives that could still cover the whole surface area of a life without forcing me to specialize.
Hyperpolymath is structured as a small hierarchy. Areas at the top, your life domains. Projects inside Areas, the bounded efforts (your classes live here too). Inside Projects sit the Building Blocks: Tasks, Captures, and Wiki Pages. Wiki Pages are long-form, block-based notes you can organize in folders and write JARVIS straight into: type @JARVIS anywhere in a page and it acts on that block, section, or the whole document in place. Time itself lives in Google Calendar, which JARVIS reads directly rather than mirroring. JARVIS sits over the whole structure as the orchestrator, with full context from every building block on up to your top-level Areas.
STRUCTURE
§ 06 · THE ENGINE
An LLM of choice, with a contract.
Most agents are just an LLM with a prompt taped on top. They drift, they hallucinate fields, they cheerfully invent tools that don’t exist. That’s tolerable for a demo. It isn’t tolerable for the thing that organizes the rest of your life.
So I built JARVIS the other way around. The schema is the source of truth, and the model is constrained to it. Whatever LLM the backend is wired to, Strict Tool Use means it literally cannot emit a malformed action, because the contract is enforced at generation time rather than validated after the fact. One sentence in, N typed JSON tool calls out, each a different shape. The router stays small because the primitives stay small, and the whole pipeline still fits in my head.
INPUT
lunch with sam 8pm saturday. pick up groceries friday afternoon
Plucked verbatim from packages/jarvis-core/tests/strict-tool-use.fixture.ts. No edits.
§ 06.5 · THE MCP SERVER
Your life, available to any LLM.
Hyperpolymath ships a Model Context Protocol server at /api/mcp. Any compliant client — Claude Desktop, ChatGPT desktop, a custom agent — can mount it, authenticate with a bearer token issued from settings, and read everything the system knows about your life from a single source.
No exporting. No copy-paste. No bespoke integration per tool. The MCP server is the integration.
Exposed
Tasks · Captures · Areas · Projects
Every item you've created, with its hierarchy and links intact.
Exposed
Calendar · Habits · Training
What's happening today, the streaks, the training block.
Exposed
Memory · Relationships · Personal Graph
The graph between everything — who, what, when, why.
{
"mcpServers": {
"hyperpolymath": {
"url": "https://hyperpolymath.com/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_MCP_TOKEN>"
}
}
}
}One token. One endpoint. Any model that speaks MCP can now reason about everything in your life.
§ 07 · THE SURFACE
One canvas. Any input.
Areas, projects, tasks, captures, wiki pages, habits, training, health, your Google Calendar, the relationship graph between all of it, and the insights that fall out: every signal worth tracking lives on a single page called LifeOS. The whole system converges into one document so the agent and I are always looking at the same thing. One global search reaches across all of it: hit ⌘K from anywhere, or open the Search surface, and every task, capture, project, area, and habit is one substring away.
Getting sentences into JARVIS has two paths. Neither depends on the other. Both feed the same agent, the same router, the same hierarchy.
DESKTOP APP
The default path.
A small Mac app sits in your menu bar, listens for a global hotkey, opens a single composer, and ships the sentence straight to JARVIS. No hardware, no setup beyond installing the app. If you only want one path, this is it.
- · Global hotkey, anywhere on macOS
- · Voice or text, same composer
- · Always-on; no browser needed
MACROPAD + VOICE DETECTOR HARDWARE
The Polypad.
I built a small ESP32-based macropad that sits on the desk and fires JARVIS turns over a USB-serial bridge. Push a key to talk, push another to capture. The firmware, bridge, and CAD files are in the repo. Fork it, change the layout, mount different switches, ship your own.
- ESP32 + custom keys, USB-serial bridge
- · Open-source firmware + case
- · Works alongside the desktop app, not instead of it
Same agent. Same contract. Two surfaces. Pick whichever fits your hands.
§ 07.5 · THE STACK
§ 07.6 · THE ARCHITECTURE
It’s a platform, but also a framework.
Use mine, or build your own.
Just use it
The platform is live. Sign in with Google, connect your calendar, and start typing one sentence at a time to JARVIS. Everything you see on this page is the actual app — nothing on a roadmap I’m promising someday. Open in a tab, walk away in a week and it’ll still be here.
Or build your own
Hate my UI, my colour choices, my agent’s British register, my opinions about Notion vs. Todoist? Good. The primitives, the JARVIS JSON contract, the realtime pattern, the MCP server schema — all of it is documented. Fork the framework and ship the system that fits the shape of your life. I encourage it.
“If the methodology only works for me, it isn’t a methodology.”
§ 08 · THE CHOICE
Two doors. Both open.
The framework is the artifact; the app is just one implementation of it. Use mine if it fits the shape of your life, or take the contract and build the one that does. I made all of this open-source on purpose. If the methodology only works for me, it isn’t a methodology.
USE IT
v2 is single-user while I’m building it in public. Multi-user comes once the foundation is bulletproof.
Already have an account? Sign in →
FORK IT
Read the framework, clone the repo, and adapt the primitives to your own life-OS. It’s MIT-licensed. Go.
MIT licensed. Built in public. No dependencies on me.
§ 09 · BUILD LOG
Live from main.
I’m building Hyperpolymath in public, in named phases, one wave at a time. There’s no private roadmap and no fake demos. The page below this line is the source of truth.
CURRENTLY SHIPPING
Phase 2 · Manual CRUD· In Progress (3/4 plans)
LAST 7 COMMITS
SHIPPED THIS WEEK
6 fixes · 2 features · 2 other
(latest: 1 day ago)