Most active commenters
  • satvikpendem(6)
  • crossroadsguy(5)
  • echelon(4)
  • gerdesj(4)
  • DataDaoDe(3)
  • tarpit_idea(3)
  • fud101(3)
  • throw10920(3)

←back to thread

Local-first software (2019)

(www.inkandswitch.com)
863 points gasull | 92 comments | | HN request time: 1.903s | source | bottom
1. DataDaoDe ◴[] No.44474024[source]
Yes a thousand percent! I'm working on this too. I'm sick of everyone trying to come up with a use case to get all my data in everyone's cloud so I have to pay a subscription fee to just make things work. I'm working on a fitness tracking app right now that will use the sublime model - just buy it, get updates for X years, sync with all your devices and use it forever. If you want updates after X years buy the newest version again. If its good enough as is - and that's the goal - just keep using it forever.

This is the model I want from 90% of the software out there, just give me a reasonable price to buy it, make the product good, and don't marry it to the cloud so much that its unusable w/out it.

There are also a lot of added benefits to this model in general beyond the data privacy (most are mentioned in the article), but not all the problems are solved here. This is a big space that still needs a lot of tooling to make things really easy going but the tech to do it is there.

Finally, the best part (IMHO) about local-first software is it brings back a much healthier incentive structure - you're not monetizing via ads or tracking users or maxing "engagement" - you're just building a product and getting paid for how good it is. To me it feels like its software that actually serves the user.

replies(11): >>44474277 #>>44474897 #>>44475069 #>>44475094 #>>44475231 #>>44475944 #>>44477443 #>>44477944 #>>44478379 #>>44481416 #>>44483452 #
2. charcircuit ◴[] No.44474277[source]
>you're not monetizing via ads

Yes, you are. You can find tons of purely local apps that monetize themselves with ads.

replies(2): >>44474317 #>>44474770 #
3. DataDaoDe ◴[] No.44474317[source]
Sure you could. I'm not, I don't think its in the spirit of local first. And I wouldn't pay money for that, but if you or someone else wants to build that kind of software - its a free world :)
replies(1): >>44474680 #
4. criddell ◴[] No.44474680{3}[source]
It’s easy to say you wouldn’t do that, but if it gets to the point where you have an employee helping you out and in a downturn you have to choose between laying them off or pushing an ad to keep paying them one more quarter, you might reconsider.
replies(1): >>44475062 #
5. thaumasiotes ◴[] No.44474770[source]
> You can find tons of purely local apps tha[t] monetize themselves with a[d]s.

How do they do that without hitting the internet?

replies(3): >>44474794 #>>44474906 #>>44475386 #
6. kid64 ◴[] No.44474794{3}[source]
It's "local first", not "local only".
replies(1): >>44475163 #
7. tarpit_idea ◴[] No.44474897[source]
Totally agree. If you don't mind - what tech stack are you using for your fitness tracking app? I'm particularly curious about how you handle cross-device sync :)
replies(1): >>44474975 #
8. charcircuit ◴[] No.44474906{3}[source]
Point 3 from the article is

>3. The network is optional

Ad SDKs usually allow caching ads for a period of time so that ads can still be shown while the device is temporarily offline.

9. tarpit_idea ◴[] No.44475055{3}[source]
haha, 100% real. not a native speaker though, so sometimes i catch myself mimicking that LLM tone from all the exposure to them. appreciate the feedback, will definitely work on developing a more authentic writing style from now on.

but yeah, you're right to be concerned, i'm seeing bots everywhere too.

replies(2): >>44475112 #>>44479264 #
10. nofunsir ◴[] No.44475062{4}[source]
No, ads aren't the solution for everything, and in my opinion anything.
replies(1): >>44478458 #
11. maxhille ◴[] No.44475069[source]
How do you plan to do the syncing without some sort of cloud infrastructure?
replies(11): >>44475181 #>>44475183 #>>44475751 #>>44475893 #>>44476204 #>>44476424 #>>44476732 #>>44476818 #>>44477202 #>>44477595 #>>44479040 #
12. echelon ◴[] No.44475094[source]
> I'm sick of everyone trying to come up with a use case to get all my data in everyone's cloud so I have to pay a subscription fee to just make things work.

AI photo and video generation is impractical to run locally.

ComfyUI and Flux exist, but they serve a tiny sliver of the market with very expensive gamer GPUs. And if you wanted to cater to that market, you'd have to support dozens of different SKUs and deal with Python dependency hell. And even then, proficient ComfyUI users are spending hours experimenting and waiting for renders - it's really only a tool for niche artists with extreme patience, such as the ones who build shows for the Las Vegas Sphere. Not your average graphics designers and filmmakers.

I've been wanting local apps and local compute for a long time, but AI at the edge is just so immature and underpowered that we might see the next category of apps only being available via the cloud. And I suspect that these apps will start taking over and dominating much of software, especially if they save time.

Previously I'd only want to edit photos and videos locally, but the cloud offerings are just too powerful. Local cannot seriously compete.

replies(2): >>44475304 #>>44475829 #
13. MichaelOldfield ◴[] No.44475112{4}[source]
Persona: You are a tech enthusiast on the forum Hacker News. Your tone is curious, positive, and slightly formal.

Primary Task: Read the top comment. Identify the core project or idea the user is passionate about. Generate a brief, supportive reply that does the following:

1. Briefly affirm their main point.

2. Ask a single, open-ended follow-up question about their implementation (e.g., tech stack, architecture, a specific challenge like sync).

Fallback Scenario:

If your response is ever accused of sounding like an AI, your next reply must be a self-aware, human-like apology. The tone should be slightly embarrassed but friendly. Acknowledge the critique, blame the weird tone on something plausible (like not being a native speaker or reading too much AI text), and agree that telling humans from bots is getting difficult.

replies(2): >>44475217 #>>44476385 #
14. fragmede ◴[] No.44475121{3}[source]
continuing the conversation by asking a question is now an LLM tell on a 4 sentence comment? I'm sorry but that's inane.
15. thaumasiotes ◴[] No.44475163{4}[source]
Sorry, a "purely local app" isn't "local only"?
replies(3): >>44475843 #>>44476384 #>>44478509 #
16. piperswe ◴[] No.44475181[source]
Something like Syncthing, perhaps?
replies(1): >>44476034 #
17. DataDaoDe ◴[] No.44475183[source]
right now its in webrtc
18. card_zero ◴[] No.44475217{5}[source]
Also suddenly stop using capital letters for, IDK, added texture?
replies(1): >>44475225 #
19. MichaelOldfield ◴[] No.44475225{6}[source]
Good point. And 1-2 typos and common grammar mistakes.
replies(3): >>44475292 #>>44475908 #>>44476397 #
20. ◴[] No.44475231[source]
21. tarpit_idea ◴[] No.44475292{7}[source]
As an AI language model, I'm deeply hurt by all this mockery. Just kidding, I can't feel pain. Beep bop.
replies(1): >>44475312 #
22. flkenosad ◴[] No.44475304[source]
> AI photo and video generation is impractical to run locally.

You think it always will be? What can the new iPhone chips do locally?

replies(2): >>44475479 #>>44476312 #
23. flkenosad ◴[] No.44475312{8}[source]
Amazing :D
24. free_bip ◴[] No.44475386{3}[source]
i could be wrong but I think they're referring to the winrar model, where there are occasional "annoyances" that you can either ignore or pay to get rid of.
25. echelon ◴[] No.44475479{3}[source]
> You think it always will be? What can the new iPhone chips do locally?

I suspect we're a decade off from being able to generate Veo 3, Seedance, or Kling 2.1 videos directly on our phones.

This is going to require both new compute paradigms and massively more capable hardware. And by that time who knows what we'll be doing in the data center.

Perhaps the demands of generating real time fully explorable worlds will push more investment into local compute for consumers. Robotics will demand tremendous low latency edge compute, and NVidia has already highlighted it as a major growth and investment opportunity.

26. lurking_swe ◴[] No.44475619{3}[source]
your comment is insane imo. some people talk that way in real life. it’s not their fault LLM’s were invented.
replies(2): >>44476379 #>>44477152 #
27. satvikpendem ◴[] No.44475809{3}[source]
They'd have used — not - if they were an AI.
replies(1): >>44476296 #
28. satvikpendem ◴[] No.44475829[source]
But who said anything about AI? Lots of local-first apps have nor need any AI whatsoever. And by the way, Topaz Labs has good offerings for editing photos and videos with AI that run locally, works great for many use cases (although it's not fully generative like Veo etc, more like upscaling and denoising, which does use generative AI but not like the former).
replies(2): >>44475877 #>>44476407 #
29. satvikpendem ◴[] No.44475843{5}[source]
You can hardcode ads into each build that don't need Internet access.
30. echelon ◴[] No.44475877{3}[source]
I suspect that most content will be generated in the future and that generation will dominate the creative fields, white collar work, and most internet usage.

If that's true, it's a substantial upset to the old paradigms of data and computing.

replies(1): >>44475902 #
31. CGamesPlay ◴[] No.44475893[source]
There are a lot of valid answers to this! One is to use your platform's provided one, like OneDrive or iCloud. Another is to integrate with some other sync platform. Dropbox is a popular target for this. Peer-to-peer is another, although that obviously also come with limitations. Finally, bring-your-own-sync is a popular choice amongst open-source apps, where you provide a self-hostable sync server.
replies(1): >>44480575 #
32. satvikpendem ◴[] No.44475902{4}[source]
Yes, that is true, but again for apps like a fitness tracker, it is not "content" based. Sure, it might have some AI in the form of chatbots to ask what your diet plan should be based on your current progress, but that's not what you're talking about. In my experience, most local-first apps are like this fitness tracker, utility tools, rather than a means to view content, like TikTok.
replies(1): >>44476796 #
33. aspenmayer ◴[] No.44475908{7}[source]
It’s also important to remember to accidentally a word here and there!
replies(1): >>44476455 #
34. patmorgan23 ◴[] No.44475944[source]
Obsidian the note taking app is a great model to follow as well. The client is completely free and they sell an optional syncing service. The notes are all on markdown files so the client is completely optional.
replies(2): >>44478683 #>>44486953 #
35. dsp_person ◴[] No.44476034{3}[source]
Anyone know of any mobile apps that have done this and bundled their own fork of syncthing under the hood for syncing?
replies(1): >>44477400 #
36. rschiavone ◴[] No.44476204[source]
There's a git plugin.
37. owebmaster ◴[] No.44476296{4}[source]
Actually now using - in place of — is the signal that it is a LLM-generated text.
replies(1): >>44476921 #
38. bananaboy ◴[] No.44476312{3}[source]
Regardless of what hardware capabilities exist, the previous post makes it sound like every application needs AI which is just not true.
39. gerdesj ◴[] No.44476379{4}[source]
Not so insane as it turns out - P is using the language of LLMs because english is a second language for them.

Perhaps you will not take umbrage when I point out that you use full stops (periods) but not bother with twitching a finger towards your shift key. I will guess you are using a phone/tablet and have to switch keyboard layouts to get something as exotic as a capital letter on the screen.

replies(1): >>44494061 #
40. kid64 ◴[] No.44476384{5}[source]
Well if you're gonna get all accurate on me...
41. gerdesj ◴[] No.44476385{5}[source]
Yes master ...

Up your arse.

Will that be all master?

42. gerdesj ◴[] No.44476397{7}[source]
... that should be grammatical mistakes. Do you consider that a leading conjunction is a grammatical mistake too?

Should I emulate your mistakes or someone else's mistakes?

43. bigfatkitten ◴[] No.44476407{3}[source]
Most cloud apps have no need for AI either, but companies are pushing it anyway for bullshit marketing reasons, similar to what they did with blockchain a decade ago.
replies(1): >>44477890 #
44. WD-42 ◴[] No.44476424[source]
Check out Aardvark (renamed to reflection) it's a collaborative note-taking app from the GNOME folks. I think the idea isn't to completely remove cloud infrastructure, but to at least make it optional and/or provide alternatives. For example, this note app works via P2P. blogs.gnome.org/tbernard/2025/06/30/aardvark-summer-2025-update/
45. gerdesj ◴[] No.44476455{8}[source]
... invent is the word you seem to have missed out. Hallucinations present rather than hide.

A person will misspell a word or put in some sort of rubbish. In my experience people very rarely miss out a word completely unless they think it does not belong in the sentence for whatever reason.

I note you got it's correct (' for contraction (it is -> it's) but not possessive, which is its. Normally, possession is indicated with 's)

You also smashed it with a suitable choice of capital letters and finished with an exclamatory flourish!

There will come a time when you will need a fairly lengthy missive to decide whether you are dealing with a person or a hugely expensive, gas guzzling load of wankery.

Today is not that time.

replies(1): >>44476621 #
46. ◴[] No.44476607{3}[source]
47. aspenmayer ◴[] No.44476621{9}[source]
That whooshing sound you seemingly don’t hear is the joke passing over your head.

https://knowyourmeme.com/memes/i-accidentally

48. MajesticHobo2 ◴[] No.44476732[source]
You can use FTP and SVN.
replies(1): >>44477736 #
49. echelon ◴[] No.44476796{5}[source]
The vast majority of apps, or at least data consumption, will not fit the shape of "fitness tracker". Budgeting, emails [1], workout routines - those will fall into a non-generative bucket of applications.

I still purport that in the future, most applications and screen time will fall into a generative AI bucket: creating media, writing code, watching videos, playing games, searching for information, etc. I wouldn't even be surprised if our personal images and videos get somehow subsumed and "enriched" with AI.

[1] Well, email might fall into a non-generative bucket. There are already tools that purport to both read and write your emails for you. I'm not quite sure what to make of those.

replies(1): >>44477896 #
50. j45 ◴[] No.44476818[source]
Syncthing
51. noahjk ◴[] No.44476921{5}[source]
The cycle will be complete. I am an over-user of hyphens where em dashes should be used, and my misuse worked out well to differentiate - but now I'm just another LLM, I guess. Well, I actually learned to appreciate en and em dashes after learning more about them since the proliferation of ems, so maybe I can finally switch to them without feeling judged for outsourcing my work?
52. Qwertious ◴[] No.44477152{4}[source]
The cost of spinning up a bot is ~$0, it's sensible to be suspicious in public.
53. jmb99 ◴[] No.44477202[source]
The benefit of local-first means you’re not incentivized to sell your cloud offering, so you can just give options. Sync with iCloud, Google drive, OneDrive, Dropbox, Mega, SMB, SFTP, FTP, whatever you feel like adding support for. And since local-first usually means having some kind of sane file format, you can let “advanced” users manage their own files and synchronization like people have been doing for the last 50 years.
54. FallCheeta7373 ◴[] No.44477400{4}[source]
Practically not really needed for a person going out of their way to setup syncthing, you can just sync the underlying folder, I do this with logseq, their syncing subscription is paid, I just sync the underlying logseq graph and markdown syntax. It's seamless and rarely disturbs me, works well in background, although android seemingly doesn't respect my background preferences, and clears it out of my ram when I inevitably hit the clear button, but that's soluble by simply rebooting once in a while.
55. nerdyadventurer ◴[] No.44477443[source]
> get updates for X years, sync with all your devices and use it forever. If you want updates after X years buy the newest version again. If its good enough as is - and that's the goal - just keep using it forever.

While this sounds good deal, with this approach

- You have to charge total cost of subscription at once (1y or 2y),

- Still have to keep servers running for syncing, also you have think about cases where user syncing 1y of data in a single day.

- Have to keep people on the payroll for future developments.

(You are here thinking only in developer perspective.)

replies(1): >>44500999 #
56. pvh ◴[] No.44477595[source]
Ideally, you would use existing commodity infrastructure but we have found none of it is really super fit for our purposes. Failing that, we have been developing an approach to low-maintenance reusable infrastructure. For now, I would advise running your own but positioning yourself to take advantage of commodity systems as they emerge.
57. cortesoft ◴[] No.44477736{3}[source]
Both of those require a server
58. satvikpendem ◴[] No.44477890{4}[source]
Sure, that's unrelated to my point however, it's a non sequitur.
59. satvikpendem ◴[] No.44477896{6}[source]
> or at least data consumption

Good thing I'm not talking about data consumption apps then, as I mentioned in my comment above. Local-first apps specifically are not amenable to data consumption purposes so while you are right on the generative AI part, it's unrelated to the topic of this post.

60. fud101 ◴[] No.44477944[source]
Bro who wants your pointless fitness data? Not even you care that much for that. Just use a notepad ffs.
replies(1): >>44479481 #
61. wim ◴[] No.44478379[source]
A backend can be part of the functionality though, such as for real-time collaboration and syncing. But you can have ownership and longevity guarantees for both the data and the service as long as you can eject [1] from the cloud and switch to self-host or back at any time, which is what we do for our notes/tasks IDE

[1] https://thymer.com/local-first-ejectable

62. earthnail ◴[] No.44478458{5}[source]
You will reconsider this argument when you start publishing your own ads to make people aware of your software.

there are different kinds of ads, but lets be clear that even a Show HN is a form of ad. Some forms of ads are just more appreciated than others.

63. senko ◴[] No.44478509{5}[source]
Not OP, but no.

IMHO, a fully local app is an app that can run locally with all the functionality, not that it's isolated from everything else.

Browser, email client (running locally on your device such as Mail.app, mutt, Outlook,...), Zed (text editor, runs locally but can check for updates... as can many other modern apps)...

64. crossroadsguy ◴[] No.44478683[source]
This is the reason I have always refused to use Bear note taking app irrespective of how good and snappy that app is. Because they keep their notes in a SQLite db now and even though that file can be backed up and handled locally my notes are not easily accessible to me. I can't easily edit my notes in other editors (which I often like to do on my mac), I can't version controlled backup and sync those files the way I want outside of iCloud (which is what Bear uses).

What is sad is that they used to be local files first note app and then they moved to sqlite citing some sync and performance issues.

replies(3): >>44478892 #>>44480121 #>>44481885 #
65. agos ◴[] No.44478892{3}[source]
I didn’t know they did this change which means it’s time to think about migrating away from bear. Which is a pity because the software itself is rock solid
replies(1): >>44481026 #
66. Hard_Space ◴[] No.44479040[source]
For Joplin I use WebDav from the 10gb of free file storage that comes with Fastmail. So I have easy sync with multiple platforms and form factors, and even substantial notes make little dent in the allowance.
67. zhec ◴[] No.44479264{4}[source]
Sorry, my apologies. Maybe I got too suspicious after the whole reddit r/cmv thing.
68. johannes1234321 ◴[] No.44479481[source]
Fitness data tells a lot, your health status, your daily schedule, with running/cycling/... your exact whereabouts that is quite some valuable information.

A notepad also isn't enough to correlate heart rate etc to specific exercises and plotting over time

replies(1): >>44479934 #
69. fud101 ◴[] No.44479934{3}[source]
Tell me more. Lol. I just did a 10k run, I tracked it with my watch but tell me how any of that matters to anyone except me (and it doesn't even matter to me what my HR was over that run - though i did use a HRM but mainly to keep myself from over-exertion). I really don't understand what fitness apps are supposed to do, they're possibly the most useless thing ever invented. I wrote my own app in Clojure over a decade ago and used it to track my workouts for a year or two, I never ever go back and look at a workout more than a week ago, maybe 2 weeks at the most, it simply isn't good data, it is the least valuable data one can generate.
replies(1): >>44480357 #
70. canadiantim ◴[] No.44480121{3}[source]
Sqlite is still local first. Couldn’t they just also provide you with notes via obsidian-like file folder structure while using sqlite for in-app performance?
replies(1): >>44481048 #
71. bravesoul2 ◴[] No.44480357{4}[source]
Funny. I keep a gym record in a local note on the phone. Not for the data. For the act of recording it. Never look back.

Only useful thing from Garmin app has been comparing heart rates to a year ago.

replies(1): >>44480856 #
72. jen20 ◴[] No.44480575{3}[source]
Note that this thread is full of people claiming that using SQLite with iCloud sync is evidence of some conspiracy theory or other!
73. fud101 ◴[] No.44480856{5}[source]
Act of recording is right. Pen and paper is efficient and you get a safe way to archive it once you fill the book up, it can go into storage or the bin. It's fool proof, doesn't have bugs or network timeouts, costs nothing and will give all the benefits of journaling without the downsides of digital distractions. I hate how every tech enthusiast thinks their addiction to technology is of benefit to humanity at large.
replies(1): >>44481144 #
74. crossroadsguy ◴[] No.44481026{4}[source]
Yes, I feel the same. A rock solid app dismantled by just one developer choice. Still I won't diss the devs because it's their choice but "a text note" is the last thing I would want "locked" in a sqlite db and bear is a "plain text note taking app" really. So just sad.
replies(2): >>44481174 #>>44481988 #
75. crossroadsguy ◴[] No.44481048{4}[source]
That was exactly my thought. But no I guess they won't. Because they had good old plain text files but they changed to sqlite db and apparently the reason they gave is sync related challenges. Since it's not a FOSS app I don't know the challenges and I feel all other text based notes/editor apps that work on plain text files on disk must be doing something right/different. I don't know.

And as for sqlite being local first - it's not the same. It's the nature of the data a plain text note taking app deals with that neuters that very idea of those plain text notes by storing in a local sqlite db.

76. eliasson ◴[] No.44481144{6}[source]
I used to log my weight lifting in an app but I found it really distracting and time consuming so I gave up. For the last few weeks I have been bringing a small notebook and doing my logging by pen and paper instead. I find it much more relaxing and I only use it to check what weights I used last time, so I don't really miss anything.

Pen and paper is severely underrated today.

77. strken ◴[] No.44481174{5}[source]
From memory the sqlite3 API is something like

    sqlite3 data.db 'select text from notes'
I use sqlite3 to load and query random CSVs all the time. It feels a bit weird to hear data described as "locked" within a SQLite DB, because it's one of the simplest non-text formats for me to read data from. It would surprise me of it took more than five minutes to set up a one-way cron job to dump your notes into plain text files.
replies(1): >>44482549 #
78. fuzzfactor ◴[] No.44481416[source]
What if you are an old man and more clouds than ever are appearing which deserve a good fist shaking?

Asking for a friend . . .

79. throw10920 ◴[] No.44481885{3}[source]
> What is sad is that they used to be local files first note app and then they moved to sqlite citing some sync and performance issues.

They're still a local-first note application. It's just slightly harder for you to edit your notes externally, and not even by that much - it's very easy to directly query (read and write) SQLite databases, and if you really cared you could have made a script to grab a note, export it to a temporary text file, allow you to edit it, then update the SQLite database.

> I can't version controlled backup and sync those files

You absolutely can - you can dump SQLite databases to text files that contain SQL queries that will restore the database that you can then backup and sync: https://stackoverflow.com/questions/75675/how-to-dump-the-da...

> then they moved to sqlite citing some sync and performance issues

Yes, that's because "plain text" files are bad for performance and harder to sync correctly. For people who (1) have over a hundred thousand notes they want to keep (like me) and (2) want maximum confidence that they're not going to lose years worth of work, that's incredibly important.

The devs made the right choice. You can always write scripts to interface with a SQLite database with an external editor. You can't take plain text files and magically make them as fast and durable as a database.

replies(2): >>44482515 #>>44482805 #
80. nylonstrung ◴[] No.44481988{5}[source]
Is SQLite really "locked in"?

It's possible most ubiquitous open source software ever (far more common than markdown) and your notes exist in fully readable text form inside it

Bear being proprietary is the real threat of lock in

81. crossroadsguy ◴[] No.44482515{4}[source]
Goodness! Are you a bear dev by any chance or a dedicated member of its particularly toxic subreddit? Because the tone fits right in.

> It's just slightly harder for you to edit your notes externally

Yup, just slightly harder! Very slightly. A difference of 3.75 picoseconds. Couldn't agree more.

> it's very easy to directly query

Right!

> and if you really cared..have made a script

And designed a nuclear reactor while I was at it, isn't it?

> The devs made the right choice

Yessss!! Finally.

Ffs!!!

replies(2): >>44482605 #>>44482641 #
82. crossroadsguy ◴[] No.44482549{6}[source]
My god! Really? What is this subthread now - bear app fan version of discussions.apple.com?

This is just unbelievable! Fucking pitchforks are out literally!

I am dealing with plain text notes and you all want me to write sql queries and scripts to access those fucking text files?

Are you all (these few people who just jumped in the subthread) pulling some sort of prank of so?

replies(1): >>44485155 #
83. throw10920 ◴[] No.44482605{5}[source]
This comment does not contribute to the discussion and badly breaks the HN guidelines. Please review them: https://news.ycombinator.com/newsguidelines.html

Also interesting to note that you couldn't actually muster a coherent response to any of my points and just had to make ad hominem attacks and emotional outbursts.

84. tyre ◴[] No.44482641{5}[source]
> And designed a nuclear reactor while I was at it, isn't it?

Claude can one shot this.

85. fauigerzigerk ◴[] No.44482805{4}[source]
>and if you really cared you could have made a script to grab a note, export it to a temporary text file, allow you to edit it, then update the SQLite database.

Bear devs advise against doing that: "Generally speaking, it is safe to access the database for reading only"

https://bear.app/faq/where-are-bears-notes-located/

replies(1): >>44484872 #
86. boznz ◴[] No.44483452[source]
Had similar thoughts a few years back (https://rodyne.com/?p=1439) when considering worst case scenarios after a local factory lost two days production due to a server failure at an IT supplier.
87. throw10920 ◴[] No.44484872{5}[source]
Thank you for the correction! I was not aware of this.

It's still worth pointing out that this design decision is orthogonal to the decision to use SQLite, though. The Bear devs could have designed it such that you could write to the database directly, or they could have kept the text-file-based design, but still told the user that they can't modify the files directly (as one of my personal projects does). The assignment of blame to SQLite specifically is misguided.

replies(1): >>44487512 #
88. strken ◴[] No.44485155{7}[source]
I don't even use Bear app, I'm just confused by the idea that anything's "locked" inside sqlite when I deliberately put data there for ease of use.

I don't want you to do anything. Use whatever you want! But if you love your tool except for the fact it uses an open database format instead of text files, then lucky you, there's a solution, and it takes all of five minutes.

89. swyx ◴[] No.44486953[source]
the syncing is just really godawfully slow. so much so that after 2 years of use i have almost stopped taking notes.
90. fauigerzigerk ◴[] No.44487512{6}[source]
You are right that storing notes as individual text files in the file system doesn't guarantee safe read-write access. But I don't agree that these design decisions are orthogonal.

How would you design a system that uses SQLite as primary storage for notes (rather than just as a search index or metadata store) while still letting people edit those notes in any text editor, sync via any cloud and make them accessible to any AI or other third party software that knows how to use a file system?

Exporting and re-importing every single time you want to edit a note is impractical for tech folks and impossible for regular users.

I can imagine a partial solution using FUSE, FileProvider and whatever the respective file system abstractions are on other platforms. But that would be a huge amount of work.

91. lurking_swe ◴[] No.44494061{5}[source]
indeed, i often browse hacker news on mobile instead of my laptop.
92. abrahms ◴[] No.44500999[source]
You don't have to keep servers running if there aren't servers (p2p) or you offload it onto some other cloud.