From Monday-Friday 10AM-6PM (excluding national holidays), I'm a software engineer.
Outside of those hours, I'm a dog dad of 2, a climber, a friend, a caffeine addict, and a beer/whiskey enthusiast.
In short, I'm not entirely sure what this is.
The general purpose of this site is to share personal stories and experiences. Some may be funny, some may be sad, some may be absolutely pointless. I don't have a specific goal in mind, so the stories could be about anything and any length.
Currently, I've been spending a lot of time climbing and am invested quite heavily in it (emotionally and physically), so I've created a separate section to discuss climbing. As of now, the plan is to upload my indoor climbing log, as well as the outdoor climbs I've done. If I'm feeling really ambitious, I may copy over my session / beta notes from my outdoor journal.
With that out of the way, if you're curious about some of the things I've mentioned, feel free to poke around the website and give some of my posts a read!
This website is actually a 2 part product.
What you're looking at was built with modern web technologies:
Climbing data is stored in a PostgreSQL database hosted on Vercel, accessed via Prisma ORM.
A daily cron job integrates with the YouTube Data API to automatically link climbing videos to boulder problems.
The application uses Pino for structured logging with a custom transport that sends logs directly to Grafana Loki in production.
The application includes a comprehensive test suite using Jest and React Testing Library. The tests use mocked database calls (no real database required) and cover page logic, filtering, sorting, pagination, and edge cases. Tests are automatically run via GitHub Actions on every push and pull request to ensure code quality.
The second part of the product (the part you don't see) is a separate admin website created with:
The admin website allows me to perform basic CRUD (create, read, update, delete) operations on the climbing data you see here.
Disclaimer: I am NOT a front end developer, and I am NOT a web designer. Things might not look the prettiest, and some front end features might have bugs. Consider them cool learning features.