Work / Apps & Platforms
Venture
A business launchpad and AI knowledge vault with its own desktop app: research-grounded templates for starting a business, a pipeline that stages new projects and sends them out to their own repositories, and a catalog of 1,483 tools any agent can read.
- Status
- In development
- Stack
- Python · FastAPI · React · TypeScript · Tauri · Obsidian vault
- Started
- July 2026
- Source
- Private repo
What it is
Every new venture starts from the same questions: what does this kind of business need to be ready, which tools should it run on, and where does the work live once it starts. Venture answers them in one place, so a project begins with that work already done instead of rediscovering it each time.
Its products are guidestones: long readiness templates, one per class of business (SaaS, consulting, marketplaces and more), plus cross-cutting ones for foundations, content marketing and scale. A new project is staged inside Venture with its brief, its spec and the guidestones that apply, then ejected to its own repository, where the real building happens. Nothing venture-shaped is built here, with one deliberate exception: Venture's own interface.
That interface is a local-first app over the vault: a FastAPI backend that reads and writes the same Markdown files Obsidian and AI agents read, a React front end, and an installable Tauri desktop shell. Sensitive data such as finance records and contacts stays on the machine and never enters git.
It is in development. The app is built and installed as version 0.2.0 on one machine; five product guidestones have passed their review gate, two are in it, and ten more are outlined.
What it does
- GuidestonesComprehensive readiness templates, written to cover a business from solo founder to enterprise; each venture prunes, the template never does.
- Stage-then-ejectA project is staged with its intake, spec and launch kit, then moved out to its own repository, and the birth is recorded.
- Resource AtlasA zoomable map of 1,483 tools in 46 sections, one Markdown note per tool, each entry grounded in a source checked at the time it was written.
- A living knowledge wikiTool-stack notes and AI-industry knowledge, re-verified against the live web by a monthly freshness sweep.
- A work hubA media inbox, envelope budgeting with deterministic rules, venture readiness tracking, a launch view and metrics deck, and a small CRM.
- DianaAn in-app agent that reads the work side and proposes changes; every write waits for a confirm, and finance and contacts reach only a local model.
- A desktop app that knows if it is currentEach build is fingerprinted, so one command can tell whether the installed app matches the code and update only what changed.
Build log
From a copied vault to a launchpad with an app
The record of how Venture was built, from the first commit on 11 July 2026 to today: every pivot, cut, audit and rebuild, dated, oldest first. Until 3 October 2026 the project was called Ares.
- 191commits
- 85days from first commit, with work on 26 of them
- 1,483tools in the Resource Atlas
- 588automated tests
- 10guidestones written, with 10 more outlined
As of 4 Oct 2026, counted from the repository.
- Era I · 11 – 18 JulA vault becomes a launchpad
- Era II · 19 – 28 JulThe app in 31 stages
- Era III · 1 – 19 AugThe Atlas, and eyes on the app
- Era IV · 24 Aug – 9 SepSole owner
- Era V · 3 – 4 OctThe tuxedo, Diana and a new name
Era I · 11 – 18 Jul 2026
A vault becomes a launchpad
A week from a copied folder of notes to a scoped, generic launchpad: the inheritance purged, the templates made venture-neutral, a template roadmap locked, and the decision that the repository would carry its own app.
-
Seeded from another vault
The first commit copied the templates and notes out of the vault of Pantheon, then Brian's local-first agentic OS, and a briefing, a roadmap, a decisions log and a link gate were stood up the same day. The new repository was declared the canonical home of the guidestones; the old copy became a frozen snapshot. A two-way sync between live copies was rejected as the guaranteed path to silent divergence.
-
The inheritance purged
Seed-era content that did not belong was deleted: 27 operating-agent personas, the old app's internals, superseded meta documents and stale pointers into the other repository. A generic specialist roster and the venture-coaching skill were kept, and two engineering notes moved into the knowledge wiki. Everything removed stays recoverable from the seed commit.
Brian's call Each item was approved one by one.
-
The foundation build
Ten web-verified, open-source-first tool-stack notes landed, along with four decision frameworks, four operating procedures, a specification for authoring new guidestones and the stage-then-eject pipeline document. A monthly sweep to keep the knowledge current was scheduled.
-
An airtight scope
The guidestones had been written around the owner's real company and ventures. Every such reference was swapped for a neutral placeholder, line for line, and each file's added and removed line counts were checked to be equal, proving no content had changed. The owner's live venture records were fenced off outside the generic scope.
Brian's call He asked for a generic launchpad with no real venture data in its templates.
-
The wiki learns three operations
Brian reviewed Andrej Karpathy's "LLM Wiki" write-up and asked whether the vault should work that way. The structure already matched, so only three operations were added: a new source updates every page it touches, answers worth keeping are filed back as pages, and a structural lint joins the monthly sweep. A separate log file and search infrastructure were rejected as premature.
-
The first freshness sweep, and competitor intelligence
The first monthly sweep checked the most volatile stack claims against the live web six days after seeding and fixed what had moved. Competitor and content intelligence became its own business function: a stack note, brief and self-audit templates, and a recurring sweep procedure, with filled briefs living with each venture rather than in the generic library.
-
The app stops being a venture
An operations app (a phone media inbox, project management, budgeting and a launch front end) was staged as the launchpad's first occupant, then reframed the same day: it would not eject, because it is the vault's own interface. The no-building rule gained its one exception. Money became work-scoped, with the code committed and raw financial data kept local and out of git.
Brian's call The reframe was his: the app is the project's interface, not a project of its own.
-
The root becomes the app
All Markdown content, 353 files, moved into one vault folder with its history preserved, so Obsidian opens that folder and the repository root belongs to the app. The operating documents stayed at the root, where the agent briefing must sit to load.
Brian's call He locked the layout during the planning session.
-
A tower roadmap, and an audit of the templates
Eight scoped guidestones were ordered for building, from SaaS to regulated health, with agencies folded into consulting and franchising kept as smaller templates. The doctrine was set the same day: templates cover every scale, and a venture prunes, never the template. An audit of the template corpus confirmed 36 findings; all were fixed and independently re-verified, including one citation with invented precision that was cut.
Brian's call He approved the tower roadmap and its build order.
Method A multi-agent audit with refute-by-default verifiers; separate agents checked every fix.
Era II · 19 – 28 Jul 2026
The app in 31 stages
A written blueprint became a working local app in four days, then a desktop app that updates itself.
-
A blueprint, then one safe way to write
An approved design spec and a single-file blueprint, 31 stages in five phases, set the shape: fully local, a FastAPI backend working directly on vault files and an installable React app, with a hosted fallback recorded as a plan B and never built. The first stages built the gates and one atomic write path for the app's writes.
-
A media inbox the phone can share into
A link shared from a phone lands in a queue; the backend downloads it, extracts audio and keyframes and makes a transcript, then stops at "ready". Turning a video into notes is left to an agent by design. The app became an installable share-target web app.
-
A component library, chosen
Astryx, Meta's open-source design system, became the app's component layer over shadcn/ui and over staying hand-rolled, themed onto the existing tokens, and the first phase's screens were retrofitted to it. A beta library was an accepted risk on an internal tool. It lasted four weeks.
Brian's call Picked from a side-by-side choice.
-
Money OS
Envelope budgeting over local files: statement import by CSV or OFX with a preview, explicit decisions on duplicates and a review queue. Categories come from ordered rules, first match wins and the rest stays visibly uncategorized; the app never asks AI to guess about money.
-
Projects, launch, a metrics deck and a CRM
The remaining phases landed in one day, completing all 31 stages with 194 tests green. A metric's latest value is always its last real data point, and empty states never show invented numbers.
Method Every stage ran store, then API, then screen, tests first, one commit per stage. The first phase was built by Codex in its own worktree and merged after review.
-
A desktop shell
A Tauri window now opens the app, with the backend frozen into the installer and run as a child process that dies with the window, so it cannot be left running. The window opens only after a health check that also compares versions. The installed backend serves the live repository's files, so the desktop app, the dev server and the phone all see one set of data.
-
No manual reinstalls
The shell gained two modes: a development mode that runs the repository's live backend on every launch, and the frozen production mode with an in-app update button that rebuilds and reinstalls. Tauri's own updater plugin was rejected; a signed release pipeline buys nothing when the code lives on the same disk.
Brian's call No manual reinstalls.
Era III · 1 – 19 Aug 2026
The Atlas, and eyes on the app
The first project was born through the pipeline, the Resource Atlas went from nothing to nearly a thousand researched tools in two days, and the app learned to tell when it was out of date and to be looked at, not just tested.
-
The first birth: Avalon
Avalon, a nutrition tracker, became the first venture through the intake procedure: a scored intake, kill criteria committed in advance with dated gates, a map of which guidestones apply and an approved spec. It was ejected to its own repository the same day, and its staging bay collapsed to the records that stay behind.
-
The Resource Atlas, specced and seeded
The vault had deep tool-stack notes but no way to see the whole landscape, and the launch pipeline's "pick a stack" step had nothing behind it. The answer was a zoomable map over one Markdown note per tool, with nothing placed by hand: layout is computed from the taxonomy, so the map reflows as it grows. A malformed entry is skipped and listed rather than breaking the map. 271 entries were seeded that day.
Brian's call Two decisions up front: a reference map plus launch picker, and a zoomable canvas rather than a scrolling page or a hand-arranged board.
-
A thousand tools, researched, not remembered
Per-section research agents took the catalog to 976 entries across 35 sections. The sweep left out tools it found dead or absorbed, and caught licence changes a catalog written from memory would state wrongly. A gate now enforces one home per tool, matched by name and by URL, which caught one analytics tool filed twice. The launch view opens the Atlas in select mode and writes a project's stack file.
Method Cite-or-drop: an entry is written only from a source fetched in that session.
-
Toward a merge
The plan became to merge the work side into Pantheon one day, so the app adopted Pantheon's shell as a functional copy: a titlebar with note search and view history, a resizable left rail and a browser for the whole vault. The plan was retired eleven days later.
Brian's call The merge direction was his steer.
-
The app knows whether it is current
The installed app turned out to be nearly three weeks and about 50 commits behind, missing whole features, and nothing could have said so: the version number never moved and the updater never checked its own result. Each of the app's three parts is now fingerprinted from the source it ships, so staleness is measured, and one script updates only what changed and re-reads the install afterwards. A front-end-only change now takes about 20 seconds instead of a five-minute reinstall.
-
Open into the vault, on shadcn/ui
The app opened to a pairing screen and nothing else, on the one machine that never needed pairing. The desktop app now opens straight into the vault, and pairing moved into Settings for the phone. The same day Astryx was removed in favour of shadcn/ui, which is Radix behaviour with Tailwind styling, copied into the repository rather than installed. The migration exposed three accessibility defects, all fixed.
Brian's call shadcn/ui as the standard across his apps.
-
The agent gets eyes
A screenshot script now renders every screen in a headless browser, so checking the interface no longer depends on a visible window. The first screenshots found what no test had: the Atlas painted its text colour as its background, so all 976 tool names were invisible. The same day the front end was split so each screen loads on demand, taking the first download from 1.18 MB to 301 kB.
Method Screenshot before calling a screen done, and look at it.
Era IV · 24 Aug – 9 Sep 2026
Sole owner
Pantheon dropped its business features, Venture became the only home for them and stopped copying anyone, and the guidestones moved from a hand-built set to an assembled, gated corpus.
-
Eight rulings after the split
Pantheon removed its venture, launch and business-map features, two of which had been reading stale copies of Venture's own templates. Eight rulings followed: venture readiness tracking and the business map were built; a renewals list, a hard-coded department list and an in-app template editor were cut as second copies of facts that already lived elsewhere; and an eight-state project board that had never held a single note was retired.
Brian's call He overruled the recommendation to drop readiness tracking: the venture-coaching skill already specified a ledger that nothing produced.
-
A venture is a folder
Against real data the new Ventures screen came back empty while three ventures sat on disk: they had notes and a business map but no readiness ledger. A venture is now a folder, and a ledger can be attached to one that already exists. The same day the Atlas filled its own backlog of 74 tools that other entries named as alternatives but had no entry yet.
-
Five defects from an adversarial pass
A review of the two new modules found five real defects, among them a name that could permanently corrupt a ledger and take down the whole list, and two quick clicks that could silently lose a write. Each was fixed in severity order behind a test that failed first.
-
Everything is a real file
Three settings lived in browser storage, invisible to the owner, to Obsidian and to git, and lost on any new machine. Settings now live in one Markdown file that explains each key to whoever opens it. A file broken by a hand edit says so instead of quietly resetting to defaults.
Brian's call Anything the app knows is a file a person can open.
-
Venture stands alone
Pantheon became a separate project, and the merge plan was retired. About fifty comments that explained code by where it had been copied from were rewritten to say what the code does.
Brian's call No upstream, no shared shell, no merge target.
-
Radix everywhere it reaches
Over two days every interactive control was moved onto Radix, or onto a plain native element where Radix has none, with a standing rule against adding a dependency for one control. The move surfaced real bugs, including a picker that saved a blank choice, and deleted two hand-rolled modules. A screenshot caught a broken row layout that 373 passing tests had missed.
Brian's call Anything that could be Radix is Radix, from here on.
-
The sweep measures before it checks
The monthly sweep now ranks Atlas sections by how long since their entries were verified and deep-checks the stalest. This pass found the drift a link check cannot see: three tools catalogued as open source that are not, a commercial library listed as free, and five projects that had silently moved to new homes.
-
Eleven new Atlas sections
Infrastructure, security, data, automation, communication, commerce and five more sections arrived with 371 researched entries in one wave, every one verified against a live source. Two sections were cut short when the session ran out and were topped up straight after.
-
The SaaS tower, and an assembler
The SaaS guidestone was drafted at 13 chapters and three annexes, together with a script that assembles any guidestone from its outline and chapter files and generates the parts that used to drift: front matter, the dated facts table, the contents. Twelve more towers were outlined over two days, each researched at primary sources.
-
An audit of the guidestones, finished on the second try
Fixes from an audit of the shipped guidestones landed in two passes; the first was cut off when the session limit stopped the fixers mid-run. Chapter headings were kept byte-identical throughout, because the app keys readiness ledgers on them.
-
SaaS ships through the gate
The SaaS tower passed a two-reviewer ship gate after its fixes landed, with the regulatory dates in its facts table re-checked at source. Marketplace and consulting towers were drafted the same day, the consulting one on Codex, and entered the gate. The corpus stood at five product towers shipped, two in the gate and ten outlined.
Method Two independent reviewers; both must pass before a template counts as shipped.
Era V · 3 – 4 Oct 2026
The tuxedo, Diana and a new name
Two days that gave the app its own look, an agent with hard limits, and the name Venture.
-
The tuxedo
The inherited black-and-gold look was replaced with the project's first design system: black, white and one oxblood red, like a black suit, white shirt and red tie, on a Swiss grid. Gold had come to mean nothing, and nearly a thousand full-colour logos made the Atlas the loudest screen in the app. Emphasis now comes from inversion, colour appears only for real data, destructive actions and focus, and navigation collapsed to the left rail. A phone could never open that rail before; it can now.
Brian's call Chosen from three directions shown side by side.
-
Diana's rules, written first
Before an in-app agent was built, nine rulings set her limits. The app may call a model only through Diana, money is still never categorized by AI, and every write she proposes is held until the owner confirms it. Finance and contact data may reach only a local model, enforced in code rather than by prompt: a prompt is a request, not a boundary.
Brian's call An in-app agent modeled on the one in Alfred, his personal-side project, with sensitive data kept local.
-
Diana built
Nine stages shipped in a day. Each chat runs on Claude or on a local Ollama model, every write comes back as a card to confirm or dismiss, and paid calls have a per-turn ceiling and a daily spending cap. The local-only fence is enforced at six points, and tests seed marker strings into the sensitive data to prove none of it reaches a cloud request.
-
What a real local turn found
With 477 backend tests green, the first real conversation on the local model failed in ways no test had: it filed numbers as memory notes and called tools it had not been given. Offering every tool up front fixed the calls but drifted longer replies into another language, so summoning stayed and her instructions gained a worked example. Replies that claim an action never taken are now flagged. The cloud lane says plainly that it is not configured until a key is added.
-
Ares becomes Venture
The project was renamed so the name says what it is for: getting ventures from idea to birth. Because "venture" already named several things inside the app, every identifier was renamed by hand, class by class, never by global replace, with no aliases left behind. The app took a new white-on-black mark and version 0.2.0; dated records keep the old name.
Brian's call The rename, and that it would follow Diana.
-
The cutover
The project moved to its new folder, its Python environment was rebuilt, both test suites passed again (477 backend, 108 front end), and the installed app was verified against the repository. References in neighbouring projects were updated to the new name.