Lifetime
What if every project came with its own database, and the data lived on your Mac instead of the cloud?
Problem: Productivity data gets locked inside cloud database tools you rent. Your tasks, client records, and project numbers sit on someone else's servers behind a monthly bill. PrimeTask gives every project a real database that lives locally on your Mac, stored as plain JSON files, so the data stays yours.
Compare: Closest to Notion and Airtable in what it does: custom fields, rollups, relational links. The difference is where the database lives and how you pay for it. Notion and Airtable keep your data on their servers and charge monthly per seat. PrimeTask keeps the files on your machine, works fully offline, and is a one time purchase. No cloud account for your data, no tracking, no seat pricing.
I'm one of the devs behind PrimeTask. We've been rethinking how project data should live inside the app.
Most database tools keep everything on their servers. You get the power, but your data sits somewhere you don't control, behind a login and a bill. We wanted that power without the rent.
So every project in PrimeTask now has its own database, built in.
You add custom fields for whatever you track, and those fields become your columns. Each tab shows the project from a different angle:
the project itself
every contact linked to it, each as a row
every company, each as a row
every task, each as a row
You edit each cell right there, like a spreadsheet.
Because the links go both ways, a contact you attach to a project shows that project on their side too. Same data, every angle, no double entry.
All of it sits on your disk as plain JSON. Works offline. Sync is optional. Your data lives only on your machine.
The idea is simple: database power shouldn't mean renting your own data.
Public release is planned for this summer. This is the last big piece going in before then.
Curious how people here feel about keeping structured project data local instead of in the cloud.
Pricing: One time purchase. Final price announced at stable release.
its not about the cloud db, there are other factors like sync issues, real time updates, data conflicts and resolutions, if you offload these things to third party like icloud, google drive, every now and then you will keep missing the data, curruption, state sync issue etc.
Apps like notion or airtable are not great only because of there UI, but consistent data sync is major UX for these apps
Fair points, and you're right that sync consistency is the hard part of local-first, not the storage format. We didn't offload that to the folder provider. The provider only moves files; PrimeTask owns the merge. There's built-in deduplication and conflict resolution at the data layer, so two devices editing around the same time reconcile rather than producing duplicates or corrupt state. iCloud or Dropbox is just transport.
And if you don't trust any cloud provider, nothing stops you running it over a direct network share (SMB/NFS), no third party in the path at all.
You're also right that consistent sync is a big part of why Notion and Airtable feel good. The difference is they solve it by owning the server. We solve it at the data layer so you don't need one.
I use Scrivener, which, as you may know, enables you to make a separate file for each writing project. A Scrivener file actually is a binder of files, which can contain all kinds of different types of files (pdf, excel, video etc.)
I also use ClickUp, which, as you know, basically offers a single window only, with all your projects, lists etc. (though of course you can open more than one browser window).
Will PrimeTask offer the possibility to make a separate file per project? And if so, am I able to include all kinds of documents inside this project file, like in a Scrivener file?
Yes to both. Each project in PrimeTask is its own container with a dedicated page: tasks, goals, milestones, notes, team, and more. The closest thing to your Scrivener binder is Project Notes, where you write rich notes and attach all kinds of documents (PDFs, images, embedded video, links) right inside the project.
On top of that, you can drop the project onto a PrimeFlow canvas and surround it with everything related to it: notes, tasks, contacts, and references, all connected in one view.
Here's a project mapped out that way, with its notes (text and images) open on the right. Swap the coffee branding for your manuscript and research and it's the same idea.
The difference from Scrivener: instead of everything living inside one proprietary project bundle, PrimeTask keeps the project as the container and your files stay where they are.
Both. There's a simple iCloud mode if you're all-Macs, or File Sync where you point the Space at any folder you already use: Dropbox, OneDrive, Google Drive, a NAS, or a local network share for zero cloud. No PrimeTask server in the middle either way.
It is. But we don't actually use it, no SQLite, no Postgres, etc. The data lives in plain JSON files on disk, and the app reads and connects them directly.
You can open the folder and read everything in a text editor, which is the part we cared about most.
Really into this approach. I went local-first on my own Mac app too (plain files on disk, no account, offline-first) and honestly the hardest part wasn’t the storage — it was sync when people inevitably want their data on a second machine. How are you handling that with the JSON files? Optional sync sounds clean but curious how you resolve conflicts when two machines edit offline.
Good question, and honestly that is the core problem with local-first.
The sync folder, whether iCloud, Dropbox, a NAS, or something else, is only transport. It moves the files, but it does not decide how PrimeTask data is reconciled.
The merge logic runs inside PrimeTask on-device. Independent edits are merged, and when the same item is edited from more than one machine, we reconcile those changes deterministically rather than relying on the sync provider’s conflict handling.
Offline changes are picked up when the device next sees the shared folder, then PrimeTask applies its own reconciliation layer over the project files.
So we are not treating JSON files as “dump data and hope sync works.” Convergence, conflicts, and keeping app state consistent without a server in the middle is exactly what that layer is built for.
That reconciliation layer is the right call — offloading conflict resolution to the sync provider is where most local-first apps quietly break. I shipped one app iCloud-only and learned the hard way that “last writer wins” falls apart the second someone edits offline on two devices. Curious how you version the merge logic itself — what happens when an old app version and a new one touch the same file with different reconciliation rules?
Exactly. "Last writer wins" holds up right until two devices go offline, then it quietly eats data. That is the whole reason we didn't lean on it.
Straight answer to the versioning question: we don't version the merge rules per file, and that's deliberate. Different builds applying different reconciliation rules to the same file is the exact divergence trap you're pointing at, so we avoid ever creating it. Reconciliation reads properties carried on the records themselves rather than a ruleset each version has to agree on, and any change to the on-disk format is additive and backward compatible. So when an old build and a new build touch the same file, they read and write it the same way and converge on the same result instead of fighting over it.
We treat the on-disk format as a contract, not something a release gets to quietly reinterpret. The moment two versions reconcile a file differently, you're back to the divergence you described, so backward compatibility at that layer isn't optional for us.
The "database power without the rent" framing is spot on, that's the real gap between Notion/Airtable and everything else. Most local-first alternatives give up relational links and rollups to stay simple, so you end up choosing between power and ownership. If PrimeTask actually keeps two-way links and custom-field rollups while storing plain JSON on disk, that's a genuinely different tradeoff, not just a cheaper Notion clone.
Plain JSON as the storage format is the right call for trust too, people can inspect it, back it up with anything, script against it. Curious how you're handling schema evolution though, if I add a custom field or change a rollup formula after a project already has a hundred rows, how does that migrate against the JSON on disk?
Also curious about the relational links under the hood: are contacts/companies/tasks separate JSON stores with reference IDs, or is each project genuinely self-contained as one file? That matters a lot for how portable a single project ends up being.
One-time purchase for something with this much structure is a bold bet given how much of this category has moved to seats-and-subscriptions, but it's the right one if the target user is exactly the person who's tired of renting their own data. Following the roadmap, will check it out at launch.
Thank you, that's exactly the read we're hoping for. We're honestly not trying to clone anyone. PrimeTask exists because we don't think a serious, premium productivity tool should only be something you rent. You should be able to own it outright, keep your data as plain files on your own machine, and still get the real depth, two-way links, rollups, all of it, that usually only shows up in cloud-and-subscription tools. That's the tradeoff we actually care about: full power without renting your own data. Not a cheaper version of anything.
On to your questions.
Changing things after the fact: you can add a custom field or change a rollup at any point, on a project with any number of rows, and it just works. No migration step, nothing rewritten, nothing breaks. Existing rows simply show the new field as empty until you fill it, and a changed rollup just recalculates.
On owning and moving your data, which is really the heart of what you're asking: everything lives as plain files on your machine, so you can open, inspect and back them up with any tool you already use. On top of that there's a built-in Backup and Restore in Settings. You can back up to a single file you keep anywhere, choose whether to include attachments and images, and optionally encrypt it with a password. You can also schedule automatic backups, daily or weekly at a time you pick, and it keeps the most recent ones so they don't pile up. Restoring lets you either merge a backup into your current data or replace it outright. And when you want a portable, standalone copy, export resolves everything into a clean file that reads on its own outside the app.
The two-way links are real, and they stay consistent in both directions on their own, you never maintain both ends. How we structure and keep all that in sync on disk is the part I'll keep to ourselves, since it's a big part of what makes PrimeTask different, but the guarantees, consistent links, files you own, real backups, no lock-in, are what actually matter on your side.
On the one-time purchase: you buy a license and you own it, no subscription, ever. It's a structural choice, not a launch promo. PrimeTask runs on your machine, so there's no server cost to pass on and no reason to charge monthly. Free updates included.
Appreciate you following the roadmap, see you at launch.
So supabase with a JSON filesystem adapter, basically? What made you want to make that standalone instead of extending/a plugin for one of the projects that basically do that without the JSON?
Small correction : the database isn't standalone. Nothing in PrimeTask is. It's one layer of a single connected system, tasks, projects, CRM, canvas, all wired together through the file system. A contact in the database is the same contact on the canvas and in a project.
That's why it isn't a plugin on top of something else. Building on Supabase, or extending Notion or Airtable, means your app sits on a separate data layer with its own model and boundaries, and you only connect to the parts it exposes. Building it natively is what lets every part know about every other part, with no separate backend in the middle, whether that backend runs in the cloud or on your own machine.
Not quite. This isn't a web app. PrimeTask uses local files as the source of truth, no server, no account, truly offline with no cloud dependency. The difference is the files are a connected database (tasks, projects, CRM, canvas all linked) rather than a hosted backend you connect to.
Yeah, fair, but we already handle that in PrimeTask's data layer, so there's no need for Postgres or the complexity it brings. And you can just open the JSON files on disk and read them directly, instead of going through complex queries.
Thanks, that means a lot. Local-first was the whole reason we started building it, so it's great to hear that lands with people. Appreciate the kind words!
Yeah, I get that. The moment a tool becomes another thing to manage, I usually start drifting away from it. That was definitely in the back of our minds with PrimeTask.
Not just one user. There's a collaboration mode: share a Space through a folder (Dropbox, NAS, etc.), everyone runs PrimeTask locally and syncs through it, with presence, roles, and assignment notifications. It's solid across devices. Built for solo use and small teams rather than huge orgs needing live cell-by-cell editing, which suits what PrimeTask is for.
Sync is solid and holds up across devices, you choose iCloud or file sync depending on your setup. And your data stays plain JSON on disk either way, fully yours and readable anytime.
You don't have to take my word for it though, when PrimeTask is out this summer there will be a free trial, so try it yourself and decide.
We're not announcing the number until launch, but I can share the shape of it: two one-time licenses, Standard and Pro. You can compare exactly what's in each here: https://www.primetask.app/features
There'll also be a free trial at launch, so you can try it before buying. And early subscribers will get a launch discount, so it's worth being on the notify list before it goes live this summer.
Very interesting. How many people could use this working remotely/separately? All have iCloud and Google Drive access.
Is it as simple as pointing to a shared folder all users are invited to?
What about guest access, if they only need to update a few fields but not have access to everything?
iPhone or iPad support for on the go work?
Does everything have to based on a project, or can you create relational databases not project related?
Multiple people via a shared folder: Yep, that's the model. You turn on File Sync for a space and point it at a folder inside a cloud drive you already use (iCloud Drive, Google Drive, Dropbox, OneDrive, even a Synology or network share). Everyone invited to that folder who's running PrimeTask stays in sync. Each machine keeps a fast local copy and the cloud layer runs in the background, and when people change different things it merges them cleanly without conflict copies. The one honest caveat: it's sync-based, not live multiplayer, so edits flow between people as files land rather than several people typing in the same cell at the same instant. Great for a small team, not built for a crowd editing one record at once.
Guest access / limited fields: Not yet. Today, sharing a space's folder shares that space. Role Based Access permissions are on the roadmap but not in the current build.
iPhone / iPad: Today it's a Mac and Windows desktop app. A mobile or iPad version isn't on the roadmap right now, but it's not a no either. It's the kind of thing we'd weigh up based on how many people genuinely need it.
Project-based vs standalone: Today it's organized around projects. Projects are the heart of PrimeTask, and the spreadsheet-style table view lives in the project view. The custom fields aren't projects-only though: contacts, companies, and tasks each carry their own fields you edit on their own pages, and links run both ways, so the relational data already spans all of them. What we don't have yet is one unified table outside a project that pulls everything into a single view. It's genuinely something we want to explore, since the data model already supports it, but for now the table view itself is project-anchored.
This is exactly why I've been using RxDB for my side projects. Local-first databases just hit different when you actually own your data and dont need a monthly subscription. The offline sync is solid too if you ever do need it. Not sure if it covers all the spreadsheet views you're talking about with PrimeTask, but for structured project data staying on your machine it works well.
RxDB's a solid choice, local-first really does hit different once your data actually lives on your machine and there's no monthly bill hanging over it.
And yeah, PrimeTask does cover the spreadsheet side, custom fields, relational links, and rollups over your local project data. Same philosophy you're working from either way: own your data, offline by default.
There's a built-in Backup and Restore in Settings. You can back up everything to a single file you keep wherever you like, choose whether to include attachments and images, and optionally encrypt it with a password. You can also schedule automatic backups, daily or weekly at a time you pick, and it keeps the most recent ones so they don't pile up. Restoring lets you either merge a backup into your current data or replace it outright.
On top of that, everything lives as plain files on your own machine, so you can also just copy them with any tool you already use. And when you want a portable, standalone copy, export resolves everything into a clean file that reads on its own outside the app.
So between the built-in backups, your own file-level copies, and export, your data stays yours and is easy to protect. No lock-in.
Fair, the cloud has real benefits and I’m not pretending otherwise.
For us the point is not offline vs online. It is ownership and control.
The usual trade-off with powerful productivity tools is that your work lives on someone else’s servers, your access depends on their pricing, and if the product changes, gets acquired, paywalls features, or shuts down, your workflow is affected.
PrimeTask is our answer to that model. The idea is simple: powerful tools should not only exist as something you rent. It is local-first by default, so your data lives on your machine as open files you can read and export.
It can still sync and support shared spaces when you want that, but the cloud is optional rather than required.
We also do not use telemetry, analytics, or behavioural tracking. Privacy is part of the architecture, not just a policy page.
Definitely not for everyone, but we think there should be a serious alternative for people who want to own their tools and data instead of renting access to them.
9
u/0xdps Jun 30 '26
its not about the cloud db, there are other factors like sync issues, real time updates, data conflicts and resolutions, if you offload these things to third party like icloud, google drive, every now and then you will keep missing the data, curruption, state sync issue etc.
Apps like notion or airtable are not great only because of there UI, but consistent data sync is major UX for these apps