TL;DR
Threlmark’s core idea is that the disk is the source of truth, meaning all project data lives in plain JSON files on your disk. This design makes the system fast, portable, and resilient, allowing offline work and easy integration with external tools, all without a database.
Imagine building a project management tool that never depends on a server, never locks you into a proprietary database, and keeps working even if your internet drops out. Sounds like a dream, right? But that’s exactly what Threlmark does. Its secret? It treats the disk as the ultimate contract, making your project data a living, breathing part of your local environment.
In this article, we’ll explore how Threlmark’s architecture flips the traditional approach on its head. Instead of a central server or cloud, it relies on plain JSON files stored directly on your disk. This simple decision unlocks speed, portability, and resilience—plus, it makes external tools and AI agents part of the workflow. Ready to see how a disk can be the backbone of a modern, local-first system? Let’s dive in.
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.
portable external SSD drive
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 file editor for Windows
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.
offline project management software
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.
local-first file synchronization tool
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 your disk as the source of truth by storing each project component in plain JSON files.
- Atomic file operations prevent corruption and keep data consistent during crashes or interruptions.
- One file per item design reduces race conditions and makes external editing safe and straightforward.
- External tools and AI agents can participate naturally by reading and writing files directly, no APIs needed.
- Local-first architecture offers speed, resilience, and offline capability that traditional cloud systems struggle to match.
Why ‘Disk Is the Contract’ Changes Everything
The core idea is straightforward: your project data lives on your disk, not in a remote database. This means every change is just a file update. No middleman, no server dependency. This approach solves common problems like offline work, data portability, and complex sync conflicts.
Take a scenario: you’re working on a team, and your laptop suddenly loses internet. Traditional cloud apps can grind to a halt or lose data. Threlmark keeps ticking because all your project info is right there on your local disk. You can continue editing, adding, or deleting—then sync later when the network returns.
This method also makes your data easily portable. If you want to back it up or move to a new machine, just copy the files. No complicated migrations, no vendor lock-in. It’s as simple as copying a folder, which makes the whole system more resilient and flexible.

How Threlmark Stores Data — Concrete and Clear
Threlmark uses plain JSON files stored in a directory structure that acts as the database. Every project, card, and label lives in its own file. For example, each roadmap card is one `
Here’s a quick comparison of traditional databases versus Threlmark’s approach:
| Feature | Traditional Database | Threlmark’s JSON Files |
|---|---|---|
| Data Storage | SQL/NoSQL engine | Plain JSON files |
| Speed | Depends on network and server | Immediate local disk access |
| Portability | Requires export/import tools | Copy files directly |
| Sync & Collaboration | Complex, often with conflict resolution | Simple file merges, conflict awareness built-in |
This setup makes the data transparent and accessible. You can `cat` a file, `diff` two versions, or even manually tweak a card without breaking the system. It’s the ultimate in simplicity and control.
Atomic File Operations Keep Your Data Safe and Consistent
Threlmark avoids corruption through atomic writes: it writes to a temporary file and then renames it over the original. This simple trick guarantees that, even if your computer crashes mid-write, your data stays consistent. Learn more about atomic file operations.
Imagine editing a card. Threlmark reads the current JSON file, merges your changes, then atomically replaces the old file. This process makes sure no partial updates slip through, no matter what.
Here’s a quick code snippet to illustrate:
async function writeFileAtomic(path, contents) {
const tmp = `${path}.tmp-${process.pid}`;
await writeFile(tmp, contents, 'utf8');
await rename(tmp, path);
}
This pattern is the backbone of safe, file-based state management. It’s simple, effective, and proven in many systems where data integrity is critical.

One File Per Item — How It Solves Concurrency and Sync Woes
Instead of one giant JSON list for a project, Threlmark uses one file per card. This means external tools can modify individual cards without risking race conditions or overwrites. Discover how this approach solves concurrency issues.
Imagine two developers working on different cards simultaneously. With the single-file approach, each update is atomic and isolated, so they won’t clobber each other.
Plus, the system reads the actual files on each access, reconciling the lane order against the existing items. This self-healing ensures the in-memory state always reflects the true disk state, reducing sync headaches.
For example, if a card gets deleted, its file disappears, and the lane order readjusts automatically.
Making External Tools and AI Agents Part of the Workflow
Because data lives as files, external tools like IDE plugins or AI agents can participate without special permissions. They just read and write files, just like your local editor. See how this integrates with smart home tech.
Threlmark sets up drop zones for suggestions, handoffs, and reports, which external AI systems can monitor and update. For instance, an AI can suggest a new task, write it into `suggestions/`, and Threlmark will incorporate it—no API needed.
This open approach means you can integrate anything from a simple script to a powerful AI assistant, all working directly on the disk.
Imagine an AI that scans your project, picks out bottlenecks, and moves cards to “Done” based on your rules. That’s the power of a disk-based, file-first architecture.

Speed and Resilience — Why Local-First Wins
Threlmark feels incredibly fast because every interaction is local. No waiting for server responses, no loading screens—just instant updates from your disk. Explore related industry insights.
Plus, it stays operational during network outages. If your Wi-Fi drops, you can still add cards, move lanes, or tweak details. Once online, syncs happen seamlessly.
This resilience is a game-changer for teams that work in environments with flaky internet or need to keep working during outages. It reduces frustration and increases productivity.
For example, during a recent conference, a team used Threlmark on their laptops without internet. They kept moving forward, then synced later, with no data loss or conflicts.
What You Should Do Next: Building Your Own Disk-First App
If you’re inspired by Threlmark’s design, here are steps to start your own disk-based project:
- Design a clear directory structure. Decide where each piece of data lives.
- Use atomic write patterns to keep data safe.
- Store each item as a separate JSON file for concurrency.
- Implement self-healing reads that reconcile disk state with in-memory views.
- Build in support for external tools and AI integrations by watching specific folders.
And remember: treat your disk as the contract. That simple principle unlocks a world of speed, safety, and flexibility.
Frequently Asked Questions
What problem does ‘disk is the contract’ solve?
It solves issues like offline work, data portability, and conflict management by making project data directly accessible and modifiable on your local disk without relying on servers or cloud services.How is this different from traditional client-server architecture?
Instead of a central server holding all data, each device reads and writes directly to local files. Syncing happens later, making the system more resilient and faster for local interactions.Why use JSON on disk instead of a database engine?
JSON files are simple, transparent, and easy to manipulate. They eliminate the complexity of databases while providing full control, versioning, and compatibility with external tools.How does syncing work across devices?
Syncing involves copying file changes between devices, often with conflict resolution. Since each piece is a file, merging changes becomes straightforward and conflict-aware.What happens when two devices edit the same data?
Because each item is a separate file, conflicts are localized. Using a versioning or merge strategy, you can resolve conflicts manually or automatically, avoiding data corruption.Conclusion
Threlmark’s approach shows that simplicity and discipline in data storage can lead to a faster, safer, and more open system. When the disk becomes your contract, you gain control, resilience, and flexibility that modern cloud apps often sacrifice.
Imagine a future where your project data is always accessible, editable, and portable—regardless of network conditions. That’s the promise of a disk-first, file-based architecture. It’s not just a tech trick; it’s a mindset shift. So, what’s stopping you from trying it out?
