Hi! So, I have a serious problem with tab hoarding. And now I want to write a browser extension - a bookmark manager. I’ve already attempted it once, and even got to MVP, but then didn’t really use resulting program, was a bit too clunky, and also I realized that this is not the solution to the problem.

Now, few months later, after reevaluating my approach and also finding an imperfect solution that actually works (using Toby as my bookmark manager and closing about 400 chrome tabs), I now have an itch to try again. In a nutshell, it’s a bookmark manager (i.e. having good categorization, unlike read-it-later apps like Pocket) oriented on read-it-later functionality (i.e. having a separate read-it-later list, quick saving and quick deletion of tabs from either main library or read-it-later list, unlike most bookmark managers)

For context, I am senior android developer with 7 years of experience, specializing on Kotlin (so that’s why I’m searching for kotlin-based solutions, like Kotlin/JS and ktor), but my webdev experience is limited by last time I attempted this, and a half-year class in my uni almost ten years ago. And now I have ideas of doing this as a self-hosted app, to avoid limitations of both IndexedDB, and Kotlin/JS, and also to allow sharing bookmarks between browsers (and, if hosted online, between computers). But I haven’t done stuff like this before (had no need), and only approximately understand things like Docker and stuff. But I’m a quick learner.

So, after some (pretty shallow) research, I got an approximate idea how it would work:

  1. Extension written in Kotlin/JS, using Compose for Web + Kobweb Silk (adds containers like Row/Column and Modifier) - That’s the part I’m familiar with, I’ve already learned from zero how it works last time
  2. Ktor server that handles business logic - Never needed ktor in android development yet, so a new area for me
  3. Parse-platform server - Never worked with it either, but looks useful

Not quite sure if I really need three layers, or if I should just use a database and access it with sql queries. Or maybe the other way round, to move business logic to extension, and access parse server from it

So, I’d like some feedback on how dumb am I, if this even a good idea, how should I fix flaws with my plan, or is it fractally dumb, and I should quit programming altogether for coming up with ideas like that without even doing proper research?