Disk Is the Contract: Inside Threlmark’s Local-First Architecture

📊 Full opportunity report: Disk Is the Contract: Inside Threlmark’s Local-First Architecture on ThorstenMeyerAI.com — validation score, market gap, and execution plan.

TL;DR

Threlmark introduces a local-first project management system where disk-stored JSON files serve as the authoritative data source. This approach enhances portability, safety, and interoperability without relying on a database. The system is designed to be restartable and external tools can participate seamlessly.

Threlmark has unveiled a novel architecture that designates disk-stored JSON files as the definitive source of project data, foregoing traditional server or database dependencies. This local-first approach allows for portable, interoperable, and restartable project management, with external tools able to participate directly through file manipulation.

The core design decision in Threlmark’s system is that the on-disk layout functions as the API, with no central server or database involved. The data resides in a directory (defaulting to ~/.threlmark) containing a manifest, dependency graph, project metadata, and individual JSON files for each roadmap card. This structure ensures every artifact is inspectable, portable, and compatible with any tool capable of reading and writing JSON files.

The architecture emphasizes safety through atomic file writes and tolerant read-merge-write updates, preventing corruption and enabling forward compatibility. Each project’s cards are stored as individual files, allowing external tools to modify them without conflicts. The self-healing nature of the lane ordering in the project board ensures consistency between the actual files and the visual representation, even when external modifications occur.

Disk is the contract: inside Threlmark’s architecture — ThorstenMeyerAI.com
ThorstenMeyerAI.com
Threlmark · Technical Deep-Dive
Threlmark · architecture

Disk is the contract: inside a local-first roadmap hub

A Next.js app on top of plain JSON files — no database, no cloud, no accounts. The key decision: the on-disk layout IS the API. Everything else cascades from taking that seriously.

Next.js · TypeScript · JSON-on-disk · MIT · part 2 of the Threlmark series
01The core decision

There is no server-of-record — the files are the record

The UI and any external tool reach the same files through the same discipline. The data root defaults to ~/.threlmark — home-based, because it’s a shared hub every one of your apps points at.

~/.threlmark/ ├─ threlmark.json # manifest ├─ links.json # dependency graph ├─ projects// │ ├─ project.json # meta + wipLimits │ ├─ board.json # lane ordering │ ├─ items/.json # ONE card per file ← source of truth │ ├─ suggestions/ # the Inbox (drop-zone) │ ├─ handoffs/ # recorded agent handoffs │ ├─ reports/ # agent report drop-zone │ └─ ROADMAP.md # human-readable mirror ├─ shared/items/ # cards many projects ref └─ archive/ # archived, still readable

Inspectable

Every artifact is a file you can cat, diff, grep, commit.

Portable · no lock-in

Back up with cp, sync with Dropbox / git, migrate trivially.

Interoperable

Any tool in any language joins by reading / writing files.

Restartable

No in-memory state to lose — stateless over the files.

02Making files safe
Python in Action: 60 Mini Projects to Automate Everything (Part 1): Practical CLI Tools, File Automation, and Data Cleaning with CSV, Excel, and JSON

Python in Action: 60 Mini Projects to Automate Everything (Part 1): Practical CLI Tools, File Automation, and Data Cleaning with CSV, Excel, and JSON

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Two disciplined patterns instead of a database

“Just use files” is easy to get wrong. These two patterns — ported from a battle-tested sibling app — are what make file-based state sound rather than reckless.

Pattern 1

Atomic writes

Write to a temp file in the same dir, then rename() over the target. Rename is atomic on one filesystem — a crash mid-write leaves the complete old file or the complete new one, never a half.

write .tmp-pid-rand fsync rename() over target
Pattern 2 · one file per item

The board heals itself

A single roadmap.json array races when two tools write at once. One file per card makes writes collision-free. Lane order lives in board.json and reconciles on read.

The payoff: an external tool never touches board.json. It writes an item file — the board fixes itself on Threlmark’s next read. Unknown keys are preserved, so the contract is forward-compatible.
03Derived, never stored
Real-World Android App Projects with Kotlin and Jetpack Compose: Build Production-Style Android Apps with Modern Architecture, API Integration, State Management, Local Data Storage, Practical Projects

Real-World Android App Projects with Kotlin and Jetpack Compose: Build Production-Style Android Apps with Modern Architecture, API Integration, State Management, Local Data Storage, Practical Projects

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

The numbers can’t drift from the files

Anything computable from item state is computed — so the displayed numbers can never disagree with the underlying JSON. Priority is the clearest example: it’s calculated on read, never persisted.

priority — computed on read

Impact weighted heaviest; effort the only axis that subtracts. Reused verbatim from the original tool, so imported cards rank identically.

priority = max(0, round(impact·3 + evidence·2 + fit·2effort·1.5))
a 5 / 5 / 5 / 4 card 29
work-item age
now − lane-entry time. Past threshold (dev 7d, ranked 21d, idea 60d) → stale.
cycle time
first DevelopmentDone. Derived from append-only transitions[].
throughput
items reaching Done per ISO week, 8-week window.
WIP
count per lane; over the cap shows 3 / 2 in red.
04The closed agent loop · press play
Amazon

disk-based JSON file organizer

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

A handoff is a first-class flow event

The genuinely 2026-shaped part: most building is done by AI agents, so Threlmark closes the loop. Watch a card go from ranked to Done without anyone dragging it.

Handoff → report → self-move

The brief carries a reporting protocol. The agent reports through REST or the filesystem — and a done report moves the card itself.

Ranked
Add price-drop alertsscore 31 · ready
Development
Handed off 🤖
Done
▶ preferred — REST
POST /api/projects/:id/
items/:itemId/report

Direct call. Applied immediately.

▶ fallback — filesystem
drop reports/.json
→ ingested on read

Robust even if the server’s down at finish time.

🤖 claude done: price-drop alerts shipped · typecheck + lint + build passed — card moved to Done
05Portfolio score & deployment
Amazon

interoperable project management app

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

A small formula, and an honest hosting caveat

Because items are globally addressable (/), the Portfolio ranks everything together by a status-weighted score — finishing beats starting, blockers get a boost.

Portfolio ranking — status-weighted

In-flight work floats to the top; bottlenecks cost the most, so blockers get nudged up.

score = priority · statusWeight (+ 0.1 · blockedCount · priority)
1.3
development
1.0
ranked
0.85
idea
0.15
done
Path 1

Static read-only demo

Seeded data, writes to localStorage. Try-before-you-clone.

Path 2

Personal Node instance

Password-gated, persistent backed-up THRELMARK_DATA_DIR.

Path 3

Multi-tenant SaaS

Add accounts + per-tenant isolation. A separate build.

The elegant part: the store interface src/lib/*/store.ts is the natural seam — the same boundary that keeps the local tool simple is the one you’d extend for multi-tenancy. The architecture doesn’t fight that future; it just doesn’t pay for it until you need it.
ThorstenMeyerAI.com
Threlmark · open source (MIT) · github.com/MeyerThorsten/threlmark · part 2 of a series · file layout, formula, weights & agent-loop channels are Threlmark’s actual mechanics.

Advantages of a Disk-Based Contract System

This approach offers multiple benefits: complete inspectability of artifacts, portability across different tools and environments, interoperability with any programming language, and restartability without in-memory state. By avoiding a central database, Threlmark enables a collaborative ecosystem where external tools can participate freely, and data can be backed up or migrated easily. This design fundamentally shifts how project data can be managed, shared, and extended.

Background and Rationale for Local-First Design

Traditional project management tools often rely on centralized servers or cloud databases, which can fragment data and limit portability. Threlmark’s architecture builds on principles from local-first software design, emphasizing user control, data portability, and resilience. The decision to use JSON files as the contract stems from a desire to create a simple, robust, and open system that can operate independently of cloud services or proprietary databases.

This design is inspired by similar approaches in note-taking and personal data management apps, where local file storage enables seamless synchronization, backup, and external editing. Threlmark extends these principles into multi-project roadmapping, aiming to unify fragmented roadmaps and enable AI agents to participate directly in the workflow.

“The on-disk layout is the API. It’s a simple, powerful contract that makes the system portable, restartable, and open to external tools.”

— Thorsten Meyer, creator of Threlmark

Unanswered Questions About Scalability and Collaboration

It remains unclear how well this disk-based approach scales with very large projects or teams, especially when multiple external tools modify files simultaneously. The system’s robustness under concurrent external edits and its integration with cloud storage solutions are still being tested. Additionally, the user experience in complex workflows and how the system handles conflicts require further validation.

Future Developments and External Tool Integration

Threlmark plans to release more detailed documentation and tooling support to facilitate external tool participation and collaboration. Further testing will explore scalability, conflict resolution, and integration with cloud storage providers. The project aims to demonstrate how this architecture can support larger teams and more complex workflows while maintaining its core benefits.

Key Questions

How does Threlmark ensure data safety without a database?

It uses atomic file writes—writing to a temporary file and then renaming it—ensuring that partial writes cannot corrupt data. Read-merge-write patterns also preserve data integrity during updates.

Can external tools modify project data directly?

Yes, since each artifact is a JSON file, any tool capable of reading and writing JSON can participate, enabling a highly interoperable ecosystem.

What are the limitations of this approach?

Handling concurrent external modifications at scale and integrating with cloud storage solutions are still being explored. The system’s performance with very large projects is also under assessment.

Is this approach suitable for team collaboration?

Potentially, but further development is needed to handle conflict resolution and synchronization in multi-user environments effectively.

Source: ThorstenMeyerAI.com

Nothing in this article is financial or investment advice. Cryptocurrency and precious-metal investments carry significant risk — do your own research and consider a licensed advisor.
You May Also Like

From AGI to the Future: Discovering the Next Frontier in AI Evolution

The journey from AGI to an unimaginable future unfolds new possibilities, but what ethical dilemmas will we confront along the way?

Fctr’S Strategy Rotates Continuously, Raising Questions of Circular Motion.

Curious about how Fctr’s continuous rotation strategy navigates market shifts and resource allocation? Discover the challenges they face in aligning with their strategic goals.

One-Minute Rundown: GitHub Copilot’s Major Update and the Oscars’ Fiery AI Debate

You won’t believe how GitHub Copilot’s new features and the Oscars’ AI debate are reshaping creativity—discover the implications for artists and developers.

One Video In, a Whole Publishing Kit Out — Without the Cloud

Discover how local-first video workflows can produce all your publishing assets from a single video, without relying on cloud services. Control, privacy, and cost savings await.