Places Diary #1: An Introduction
Places is a web app I’m building to keep track of places I’ve been and places I want to go. I’ve been working on it on and off for about 18 months in my spare time and have over 300 code commits in the repo.
What is it?
It’s essentially a places organizer. You can search for places (restaurants, breweries, museums, venues, or anything else that interests you), save them, and add notes — like why you are saving it or a recommendation from a friend who’s been there.
You can also create collections of places you save. A couple of my favorites are 50 Top Pizza Spots in the United Sates and Date Night. I also make a collection before each trip I take of the places I want to try in whatever city I’m visiting.
Some other niceties include:
- Filters: view all places of a certain category, whether or not you’ve visited before, and your favorites
- Check-ins: add photos and notes when you visit a place to remember what was good or what to avoid next time
For the most part, Places is meant to be personal, but you can create a public link for any of your collections and share with anyone to view. It’s useful for sharing places with people you are traveling with or recommendations for a friend who is visiting.
I’m trying to keep things relatively simple by avoiding too many NPM packages and limiting third party services. The app is deployed on a traditional server running Linux and Node.js and built using:
- Remix: web framework
- Tailwind: css framework
- SQLite: database
- Prisma: ORM (but I’m working on removing it due to it’s limitations with math, unions/polymorphism, search, etc.)
- MapKit JS: maps, points of interest
The app has been functional enough for me to use as my main “place-saver” for over a year, but there is still plenty to add and polish.