top | item 42974389

(no title)

quartz | 1 year ago

I wrote a notes app in react native just for myself a few years ago (out of frustration after changing notes apps every year or so) that does /exactly/ what I want and it has been the most used app on my phone for a few years now.

It's offline-first but syncs reliably, uses the exact interpretation and display of markdown I like, searches and sorts the way I like, integrates with AI only in the ways I want it to (specific search capabilities, summarizing), uses on-device dictation via whisper so speech-to-text works when I'm away from a data connection, tracks location... I could go on and on since I add a new feature every month or so from a note (inside the app!) where I keep track of little things I wish it had.

But most importantly nothing ever gets added to it that I don't want... ever. No one else ever updates the terms of service, the UI layout, the retention period, the formatting, the shortcuts... there isn't some subscription I have to keep track of, or "pro" modes, or popups telling me about new features I should check out.

And since I have access to the backing db I can do all kinds of fun stuff with the data-- I've been playing way more with local LLMs lately with it.

I think it's healthy to remember that not everything has to be a startup or a public github repo.

discuss

order

skydhash|1 year ago

And this is why people like Emacs or go for no desktop environment on Linux. Customize it to fit what you need and no further. Then you can just use it without learning where everything is again.

from-nibly|1 year ago

This is why I "rice" my desktop. I keep seeing a lot of videos and posts saying "just use the defaults" and "ricing is a tar pit". But its a great way to understand your tools and build it just for you.

kaz-inc|1 year ago

I've built a very similar contraption, but without any libraries because I got annoyed at having to relearn a new kind of React after react class components got out of fashion and people started using hooks. I built it out of raw JavaScript and a raw python socket server.

How do you manage sync? Mine is a WebApp so I use indexedDB, and that's nice so that it works on my computer browser, but I don't want multiple tab synchronization on my phone and it's tricky to handle. I've built something that works, but I'd love to explore other designs.

You said React Native, so there might be a regular app sort of data store to disk.

quartz|1 year ago

I use watermelonDB for offline-first sync. It’s pretty wonderful.

jdthedisciple|1 year ago

It's like your describing me, except that I wrote my notes app in Flutter. I also added encryption.

It's also likely my most used app both on my phone and desktop. I absolutely love it.

Personal apps are the best!

xuanwo|1 year ago

Oh, that seems like a really good software.