📊 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 employs a unique local-first architecture where project data is stored as JSON files on disk, making the system portable, safe, and open. This approach eschews traditional databases, enabling seamless external tool integration and AI automation.

Threlmark has introduced a novel architecture that uses on-disk JSON files as the authoritative source for project data, eliminating the need for a central server or database. This design choice enables a highly portable, interoperable, and restartable system that supports external tools and AI automation without complex infrastructure.

The core of Threlmark’s system is its decision to treat the disk as the contract, with all project data stored as JSON files in a dedicated directory (~/.threlmark). This setup allows external tools, including AI agents, to read and write data directly, fostering open collaboration and integration. The architecture avoids traditional server-based models, instead relying on atomic file operations such as rename() to ensure data integrity during updates. Each project maintains its own folder containing metadata, lane order, individual item files, and shared references, making the system fully inspectable, portable, and compatible across tools and platforms.

Key technical choices include atomic writes to prevent corruption, a read-merge-write pattern that preserves unknown fields for forward compatibility, and a self-healing board structure that reconciles external changes automatically. These decisions enable the system to operate reliably in environments with concurrent external modifications, supporting a restartable workflow that does not depend on in-memory state or centralized servers.

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
DSDCDJ File Box with Lock - Portable File Organizer Box with Handle, Sturdy Important Document Organizer with Label, Slide, Reflective Strip for Hanging Letter/Legal Folder

Upgraded File Organizer: The file box is made with tear-resistant 800D polyester fabric and reinforced with thick cardboard…

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
SanDisk Professional 22TB G-Drive Enterprise-Class External Desktop Hard Drive - 7200RPM Ultrastar HDD Inside, USB-C (10Gbps), USB 3.2 Gen 2, Mac Ready - SDPHF1A-022T-NBAAD, Dark Grey

SanDisk Professional 22TB G-Drive Enterprise-Class External Desktop Hard Drive – 7200RPM Ultrastar HDD Inside, USB-C (10Gbps), USB 3.2 Gen 2, Mac Ready – SDPHF1A-022T-NBAAD, Dark Grey

USB-C (10Gbps) drive for fast backup with up to 280MB/s read and 280MB/s write (1 MB/s = 1…

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
Hand Checkering File 6" Cut 00 20 lines per inch (Gunsmith Swiss Pattern File by Grobet)

Hand Checkering File 6" Cut 00 20 lines per inch (Gunsmith Swiss Pattern File by Grobet)

Perfect Spacing For Grip Frames, Hammer Spurs, etc.Parallel in width and gently tapered in thickness. Overcut is parallel…

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
Free Fling File Transfer Software for Windows [PC Download]

Free Fling File Transfer Software for Windows [PC Download]

Intuitive interface of a conventional FTP client

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.

Why Disk-First Design Transforms Project Management

This architecture fundamentally shifts how project data is managed by removing reliance on cloud services or databases, making the system more open, portable, and resilient. For a deeper dive into local-first architectures, see Disk Is the Contract: Inside Threlmark’s Local-First Architecture. It allows users to back up, migrate, and integrate with other tools effortlessly, reducing lock-in and enabling AI agents to participate directly in the workflow. For developers and teams prioritizing transparency and control, this approach offers a compelling alternative to traditional centralized systems, potentially influencing future project management software design.

The Evolution of Local-First Project Tools

Traditional project management tools often depend on cloud-based servers and databases, which can limit portability and control. Learn more about the evolution of local-first project tools in Disk Is the Contract: Inside Threlmark’s Local-First Architecture. Threlmark’s approach builds on the growing ‘local-first’ movement, emphasizing data ownership and offline resilience. Prior efforts in this space have struggled with concurrency, data integrity, and external integration; Threlmark addresses these challenges through its file-based, atomic operations and self-healing structures. The design echoes principles from other local-first applications but applies them specifically to multi-project roadmap management, pushing the boundaries of what is possible without a central server.

“The on-disk layout is the API. This choice cascades into how concurrency is handled, external participation, and automation.”

— Thorsten Meyer

Remaining Questions About Threlmark’s Scalability and Adoption

While the architecture’s benefits are clear, it is not yet confirmed how well this approach scales with very large or complex projects. Additionally, the level of adoption among teams and its integration with existing workflows remain to be seen. The long-term stability of the file-based system under concurrent external modifications and its performance in real-world scenarios are still being evaluated.

Next Steps for Threlmark and the Local-First Approach

Threlmark plans to release further documentation and developer tools to facilitate broader adoption. Future updates may include enhanced automation features, improved handling of large data sets, and community integrations. Monitoring how users leverage this architecture in diverse environments will be key to understanding its practical viability and influence on project management tools.

Key Questions

How does Threlmark ensure data integrity without a database?

It uses atomic file operations, specifically writing to temporary files and renaming them atomically, to prevent corruption during updates.

Can external tools modify Threlmark data safely?

Yes, the architecture is designed for external tools to read and write JSON files directly, with safeguards like tolerant normalization to preserve data integrity and forward compatibility.

Is this approach suitable for large or complex projects?

It remains to be seen how well the system scales with very large datasets or highly complex workflows; ongoing testing and user feedback will clarify this.

How does Threlmark handle concurrency with multiple external modifications?

Concurrency is managed through atomic file writes and self-healing structures that reconcile differences upon each read, minimizing conflicts and race conditions.

What are the main advantages of treating disk as the contract?

It provides portability, transparency, interoperability, and resilience, enabling users to back up, migrate, and integrate with other tools easily.

Source: ThorstenMeyerAI.com

You May Also Like

South Korea to invest $576 billion in AI chip production with Samsung and SK Hynix

South Korea commits $576 billion to develop AI chip production, partnering with Samsung and SK Hynix to strengthen its tech industry and global competitiveness.

OpenAI keeps shuffling its executives in bid to win AI agent battle

OpenAI announces a major reorganization, consolidating leadership roles to focus on developing advanced AI agents amid strategic shifts and investor pressure.

Uber’s $1,500/month AI limit is a useful signal for AI tool pricing

Uber caps employee AI tool usage at $1,500 monthly, indicating a new approach to AI tool cost management and pricing signals in the industry.

Undervolting Your GPU for Local Inference: Lower Heat, Same Tokens/sec

Undervolting your GPU via power limiting can significantly lower heat and noise during AI inference without sacrificing tokens/sec, confirmed by recent tests.