A sunday sidequest - archeryscore.app

This past saturday I was out doing field archery which was great, I was testing out the new limbs I added to my bow (an upgrade from 35# to 45#) in preparation for the new bow I have ordered. Which unfortunately has a 13 month wait time so I still have months of waiting (est April). But whilst we were shooting scoring was becoming a little annoying, our usual scorer has an app (only available on android), but their phone was on low battery when we started. So we had to resort to apple notes :^)

This sparked an idea, why not create a web app. I'm a developer, I build things. So sunday morning I set off on my little side quest of creating a web app to score our little archery adventures. The goal was simple, provide a log of all your previous games and be able to easily log a current game.

After a few hours archeryscore.app was born, a simple Next.js site using Prisma and oh was development rapid... well until it wasn't. I used to think I was pretty good at Next.js after all it was just a React app with a little server side pizzaz. But I haven't really used it since the new app router came out. So on my journey I had an argument with 'the edge', which in my opinion was ridiculous since I am self hosting so it is legit node. So the hoops I had to jump through to get Prisma with postgres working was a complete an utter pain.

Thankfully I am a developer and I am used to fixing things, so after googling and seeing other people had this issue but with no real solution I now just run the auth checks in the main apps layout :^). It's fast and it works and I now have it working. But also fuck you Next.js and your 'edge'.

Now the web app isn't complete but it is definitely close. I need to finish the UD in CRUD for the scorecards then the next step is complete offline support as sometimes when shooting there can be little to no signal. Expect another blog post to see how I acheive this as I haven't done this before and I have grand plans. But overall I am happy with this sidequest and I do think it will be useable (unless I need to edit it).