I've been incrementing on a Next.js app for three years now, which helps me tracks all sorts of things that used to be scattered across different apps.
It holds stuff like:
- A daily journal, plus a curated photo for each day that I can put on a calendar
- Random habits I want to track, like how many cups of coffee I had, did I do my morning stretches, etc.
- Fill-ups and mileage on my car, time to next oil change
- Restaurants I've visited, plus ones I want to visit (I use the Google Places API to search for restaurants)
- Books I've read/want to read
- Movies/TV shows I've watched, and ones I want to watch (I use TMDB to pull in metadata about movies/shows). I also sync my watchlist from Letterboxd
- Strength exercises I do, plus runs + bike rides that I pull in from the Strava API
I used to use several proprietary apps to track these things (Letterboxd, Goodreads, etc), but it's great having them in one place, and with tight control over the database. It's amazing how useful it is to have a log of everything you've done to look back on. Even simple stuff like, last time I was at this restaurant was 2 years ago. What did I order and did I like it?
This hits close to home. I have something similar, except it's not as featureful and it's ridiculously purpose-built for me. E.g. I have one page in this app for generating PDFs of a very specific type that I need. I have another page that parses CSVs from my bank. These aren't tools I use regularly, I just need them occasionally, but they're all in one repo in one project.
There are of course apps that do each of these, but when you start integrating them together, with their different ways of doing auth, different kinds of APIs, etc. things get so complicated. I worked in a company that integrated with some third parties and those integrations were easily 50% of the workload for the dev team and maybe 90% of the workload for support. There is so much effort being wasted on having different systems for different things.
I feel like there's an idea out there that will solve all this for open source--maybe involving stitched GraphQL APIs, OIDC+JWT for auth, etc. Something kind of like Sandstorm[1] except with Sandstorm the different apps weren't necessarily built with Sandstorm in mind. In this system there would be a centralized identity management system like Keycloak that manages concepts like users, roles and apps, and everything else delegates auth to that centralized system.
It holds stuff like:
- A daily journal, plus a curated photo for each day that I can put on a calendar
- Random habits I want to track, like how many cups of coffee I had, did I do my morning stretches, etc.
- Fill-ups and mileage on my car, time to next oil change
- Restaurants I've visited, plus ones I want to visit (I use the Google Places API to search for restaurants)
- Books I've read/want to read
- Movies/TV shows I've watched, and ones I want to watch (I use TMDB to pull in metadata about movies/shows). I also sync my watchlist from Letterboxd
- Strength exercises I do, plus runs + bike rides that I pull in from the Strava API
I used to use several proprietary apps to track these things (Letterboxd, Goodreads, etc), but it's great having them in one place, and with tight control over the database. It's amazing how useful it is to have a log of everything you've done to look back on. Even simple stuff like, last time I was at this restaurant was 2 years ago. What did I order and did I like it?