Website
This portfolio: a static Nuxt 3 site with tests and SEO
The site you are on: Nuxt 3 and strict TypeScript, generated as static pages, with Playwright smoke tests, structured data and a GHL-connected contact form.
Overview
- Client
- Me
- Role
- Design and development
- Timeline
- October 2026
- Status
- Live
The challenge
One personal brand, two audiences: a GoHighLevel site and this developer site, sharing a domain, a design and a contact pipeline, while staying fast and easy to update.
The solution
This site is Nuxt 3 with strict TypeScript, generated as static pages under /dev/. Projects live in one typed content file that drives the grid, the case-study pages, the sitemap and the JSON-LD. The contact form posts to a small serverless function that adds the contact to GoHighLevel with tags. Playwright smoke tests check every page, and Lighthouse runs on mobile before each release.
What I built
The pieces of the product
- Nuxt 3 static site with strict TypeScript
- Typed content file driving pages, sitemap and structured data
- Serverless contact function connected to the GHL API v2
- Playwright smoke tests
- Analytics with consent mode for the EU, UK and Switzerland
Results
What changed
- Lighthouse on mobile before launch: Performance 98, Accessibility 100, Best Practices 100, SEO 100
- 20 Playwright smoke tests passing on a phone and a desktop viewport
