Professions.gg

A Classic WoW tool that calculates leveling success rates and crafting costs - and the first personal project I actually shipped.

Date
Summer 2021
Type
Personal Project
Stack
Next.js (Pages Router)
TypeScript
PostgreSQL
Tailwind
Prisma
Vercel
Apify
Blacksmithing recipe page showing skill-up success rates at different levels.
Leveling success rates: see the exact odds of skilling up on each craft.

Context and Objective

There was no good way for Classic WoW players to figure out the success rate of leveling up their professions, or estimate crafting costs. I wanted to combine game data from Wowhead with live auction house prices into one useful tool.

Honestly, I also just wanted to finish something for once. My projects kept dying halfway through when I got distracted by work or shiny new tech. I picked WoW because I knew I'd stay interested, the community is supportive, and most importantly, the game had a release date. Having a real deadline kept me honest.

  • Next.js (Pages Router)
  • TypeScript
  • PostgreSQL
  • Tailwind
  • Prisma
  • Vercel
  • Apify

Architecture and Delivery

Next.js gave me SSR for SEO (important for a fan site) plus serverless API routes in one codebase. Tailwind CSS let me move fast on the UI without fighting stylesheets.

I kept the backend simple with Prisma ORM and PostgreSQL - type-safe, works well with Next, and I didn't need anything fancier. Vercel handled deployment with edge caching that would prove essential later.

Challenges and Trade-offs

Scraping recipe data from Wowhead was painful. Puppeteer kept failing on thousands of pages - cookie popups, race conditions, slow requests. Apify SDK eventually saved me with proper request queuing and automatic retries.

Then I launched on Reddit and got 20,000 users in one day. My database was in a different region to my server (oops), so I scrambled to fix caching. Also discovered half my traffic was mobile, so I quickly built a better responsive layout. Fun times.

Leatherworking recipe page with estimated gold costs from live auction house prices.
Cost estimation: live auction house prices to calculate gold per skill point.