TL;DR
Threlmark builds on a simple idea: use local JSON files as the source of truth. This makes apps faster, more reliable offline, and easy to sync across devices without complex databases or cloud dependencies.
Imagine a world where your app never stalls, never loses your data, and works perfectly offline—no cloud, no server, just your own files. That’s the promise of Threlmark’s architecture. It’s a radical shift: the disk itself is the contract, not some distant server or database.
In this article, you’ll see how a simple file layout unlocks powerful capabilities—concurrency, portability, and resilience—all built on plain JSON files. We’ll explore what makes this approach different, why it’s gaining traction, and how it could change the way you build or use apps.
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.
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.
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.

SANDISK 1TB Extreme Portable SSD (Old Model) – Up to 1050MB/s, USB-C, USB 3.2 Gen 2, IP65 Water and Dust Resistance, Updated Firmware – External Solid State Drive – SDSSDE61-1T00-G25
Get NVMe solid state performance with up to 1050MB/s read and 1000MB/s write speeds in a portable, high-capacity…
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.
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.
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.
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.
Json Genie Premium: JSON Editor, Viewer & Formatter
Open, view, and edit JSON and JSONC files with a fast tree-based interface
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.

NEWQ 2TB External Hard Drive for iPhone, USB-C & Lightning Compatible Photo Storage Device, One-Click Backup Photos/Videos to Free Up Phone Space, Offline Transmission Support, No Computer Required
2TB Large Capacity One-Click Backup, Instantly Free Up Your Phone Storage: Running out of phone storage often forces…
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.
POST /api/projects/:id/
items/:itemId/reportDirect call. Applied immediately.
drop reports/.json
→ ingested on read Robust even if the server’s down at finish time.
![Free Fling File Transfer Software for Windows [PC Download]](https://m.media-amazon.com/images/I/41Vq6ZqHfjL._SL500_.jpg)
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.
Static read-only demo
Seeded data, writes to localStorage. Try-before-you-clone.
Personal Node instance
Password-gated, persistent backed-up THRELMARK_DATA_DIR.
Multi-tenant SaaS
Add accounts + per-tenant isolation. A separate build.
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.
Key Takeaways
- Treat local disk files as the canonical source of data, simplifying offline and crash recovery.
- Use atomic file operations to safeguard data integrity during updates.
- Design your system to self-heal by reconciling actual files with visual state on every load.
- Treat sync as a simple layer—copy or merge files—rather than a complex database operation.
- Prioritize local-first principles for offline resilience, speed, and data portability.
Why the Disk Is the Contract: The Core Idea Explained
Threlmark’s key insight is straightforward yet profound: the on-disk JSON files are the source of truth. This means every piece of data—cards, boards, dependencies—lives as a file you can open, edit, or copy.
This approach flips the usual client-server model. Instead of a central database or cloud API, your local files are the authoritative record. Learn more about cloud server solutions. That’s why, even offline, your app remains fully functional, fast, and reliable.
For example, a project’s roadmap lives in a folder full of JSON files. If your device crashes, just restart, and the files are still there—intact. When you sync across devices, you’re just copying or merging files, not resolving complex conflicts in a database.

How Threlmark Uses JSON Files to Stay Simple and Powerful
Every roadmap item is a separate JSON file stored under `items/`. Each file holds all the info for that card—its title, status, timestamps, and metadata. See how local-first architecture works. This one-file-per-item model makes updates atomic and collision-free.
Meanwhile, lane orderings and project settings are stored in dedicated files like `board.json` and `project.json`. These files are read and reconciled on every access, so the system self-heals if a file gets lost or corrupted.
For example, if you move a card from ‘In Progress’ to ‘Done’, you just overwrite that one file. No need to lock or coordinate because the file write is atomic. The entire project remains consistent even if multiple tools update it at once.
Making File Operations Safe and Reliable
Using files safely isn’t just about copying data. Threlmark employs two key patterns: atomic writes and tolerant merging.
Atomic writes mean creating a temp file, then renaming it over the original. This guarantees no half-written files even if your system crashes during a save. Think of it like writing in pencil, then replacing the page completely.
For example, updating a card’s status involves reading its JSON, merging your change, then atomically writing it back. If something goes wrong, the file stays intact—no partial states.
With tolerant merging, the system preserves unknown fields, making future updates backward-compatible. You can add new features without breaking older tools, as they’ll just ignore extra data.

The Self-Healing Board: How It Keeps Consistent
The board’s lane order isn’t stored as a giant list but as an ordered array of item IDs in `board.json`. Every time you load the board, Threlmark cross-references the actual items folder. Missing or orphaned cards are automatically cleaned up.
For example, if a card file is deleted outside the app, the next time you open the board, it’s gone from the lane, preventing stale or broken views.
This self-healing mechanism ensures that your visual workspace always matches the underlying files. It’s like a garden that weeds itself—keeping everything tidy without manual intervention.
Sync Without a Server—How Data Moves Between Devices
Threlmark treats sync as a layer on top of the disk. The core idea is simple: copy files or merge changes between devices. There’s no central server dictating rules—just the files themselves.
Imagine you update a card on your laptop, then sync with your phone. The files under `items/` and `board.json` are copied or merged. Conflicts are resolved by merge strategies or user intervention.
This makes the system extremely resilient. If your internet drops, you keep working. When it returns, sync just updates the files. No complex conflict resolution engine needed—just plain file operations.

Handling Conflicts and Crashes: Keeping Data Safe
Conflicts are managed through versioned, atomic file writes. If two devices update the same file simultaneously, the last write wins, but with a clear record of change.
In case of crashes, the temp files used during atomic writes are a safeguard. Restarts pick up the latest complete files, avoiding corruption.
For example, if two team members edit a card offline, their changes will merge when they sync. If conflicts arise, manual resolution or merge tools can be used, but the core data remains safe.
Why This Architecture Works Best for Offline and Collaborative Use
When working offline, your data remains fully accessible—no network needed. The local JSON files are your single source of truth, making the app fast and reliable.
For collaboration, multiple devices simply exchange files. No locking or complex protocols—just copy, merge, and go. This reduces errors and makes the system easy to scale.
For example, writers on a remote mountain cabin can plan, update, and review their roadmap without internet. When they reconnect, sync seamlessly without losing a thing.

Tradeoffs and Where to Use Threlmark’s Approach
Storing everything in files simplifies local operations but complicates large-scale sync and conflict resolution for many users. It’s perfect for solo tools, small teams, or projects where offline capability matters most.
For example, a solo developer managing personal projects benefits greatly—fast, reliable, no cloud dependency. But a global enterprise might find the conflict management too basic.
Tradeoffs include handling large datasets and complex multi-user sync—areas where traditional databases excel but at the cost of complexity and lock-in.
Lessons from Threlmark for Building Future-Ready Apps
Threlmark’s architecture shows that simplicity can lead to robustness. Using files as the source of truth reduces dependencies, enhances offline resilience, and makes systems more transparent.
Key lessons include prioritizing atomic operations, designing for self-healing, and thinking of sync as an overlay—not the core. These principles apply across many domains, from note-taking to project management.
For example, incorporating a similar file-based model in your app can drastically reduce bugs and improve user trust, especially in unreliable network environments.
Frequently Asked Questions
What does ‘disk is the contract’ actually mean?
It means the app treats the local files on your disk as the single source of truth, rather than relying on a remote server or database. All data updates happen locally, and sync is just file copying or merging.How is this different from a normal client-server app?
Traditional apps store data on a server and fetch it via APIs. Threlmark stores data directly in files, making offline work seamless and removing dependency on an always-on server.Why use JSON on disk instead of a database?
JSON files are simple, portable, and human-readable. They require no server setup, making local edits and recovery straightforward, especially for small to medium projects.How does Threlmark handle sync conflicts?
Conflicts are managed through versioned, atomic writes and merge strategies. When conflicts occur, the system preserves all data and allows manual or automated resolution.Can the app work fully offline?
Yes. Since all data is stored locally as JSON files, you can work completely offline, with sync happening later when connectivity is available.Conclusion
Ultimately, Threlmark’s approach proves that the simplest model—files on your disk—can power complex, resilient apps. When the disk is the contract, you gain speed, offline support, and portability without locking into cloud or database dependencies.
Imagine your next app built on this foundation: reliable, fast, and ready to work anywhere. The only question now is—are you ready to treat the disk as your contract?
