Work
Products I built on my own and in my jobs, with live links and, where it is public, the source code.
Most of my 1,404 Upwork hours were spent inside other teams' code, under NDA, so that work stays private. The record is at the foot of this page.
Every project
Show
6 projects

ResumifyAI
AI web app, 2024. Case study, Next.js, TypeScript, OpenAI API
Upload a resume as a PDF and get a scored review with charts and concrete fixes.
Case studyNext.js, TypeScript, OpenAI API

PawTalk
Mobile app, dashboard and site, 2024. Case study, Expo, React Native, React
Pet adoption in three parts: a swipe-to-match mobile app, a dashboard for shelters and a landing page.
Case studyExpo, React Native, React

Homepage studio
Static site system, 2026. Case study, HTML and CSS, GSAP, Lenis
54 hand-built homepages for 18 trades, each one screenshotted and accessibility-checked by script before it ships.
Case studyHTML and CSS, GSAP, Lenis

Site Sledge
My small business, 2026. Case study, GoHighLevel, HTML and CSS, Automations
Websites and follow-up systems for contractors, which I run on the side.
Case studyGoHighLevel, HTML and CSS, Automations

Haint & Harbor Paint Co.
Concept homepage, 2026. Live concept, HTML and CSS, GSAP (opens in a new tab)
A painting company homepage from the studio, built around a coastal porch-ceiling blue.
Live concept (opens in a new tab)HTML and CSS, GSAP

Fieldtest Concrete Co.
Concept homepage, 2026. Live concept, HTML and CSS, GSAP (opens in a new tab)
A concrete contractor homepage from the studio, set like a site test report.
Live concept (opens in a new tab)HTML and CSS, GSAP
Built in my jobs
Work from my jobs and my own companies. Live sites are shown as they are today; private tools and work that is no longer online are shown as drawn covers.

Site Sledge, 2026
Site Sledge launch tool
A private Next.js tool for my business. Add a contractor, press Launch, and it creates their GoHighLevel sub-account, writes the profile, brand, site copy and blog posts with AI, makes the images, pushes it all to GoHighLevel and checks the result.
Next.js, React, Prisma, OpenAI and Anthropic APIs, GoHighLevel API, Playwright

Site Sledge, 2026
Command Center
A planning app for running the business: niche research, an offer builder, a financial model, an outreach planner, a sales pipeline board, a client tracker, an SOP library and a map of the GoHighLevel automations.
Next.js, React, Prisma, PostgreSQL, Tailwind CSS, Docker

Merchwell, 2025 to 2026
Merchwell storefront
The Next.js front end for a branded-merch company: catalog, brand and product pages, cart and checkout, and a blog run from Sanity.
Next.js, React, TypeScript, Tailwind CSS, TanStack Query, Sanity

Merchwell, 2025 to 2026
Merchwell Pack Builder
A three-step builder where a team picks products, then packaging, then reviews a quote, with filters and a live pack total.
Next.js, React, TypeScript, Radix UI, Playwright

Panturnal, 2025 to 2026
Sales and marketing at Panturnal
A contract role on the business side: sales, digital marketing and social media outreach for a UK company.
Sales, Digital marketing, Social media

Maildroppa, 2025
Maildroppa
Email marketing for small businesses. I built new marketing pages in Next.js and Tailwind, a React email builder, and the Directus connection behind the content.
Next.js, React, Tailwind CSS, Directus

Astrolean, 2025 to 2026
Astrolean
A software venture I founded and built as its engineer, from the first idea to the code.
Software development, Project management

Monday Merch, 2023 to 2024
Monday Merch shop
The Nuxt e-commerce front end for a merch company in Rotterdam: product listing, filters and quotes.
Vue, Nuxt, Pinia

SIG Service, 2022
Acile
A B2B mobile app that links shops with their distributors so they can order stock, built at SIG Service. It ships on Android and iOS.
Vue, Vuetify, Capacitor, Ionic, TypeScript
Everything else
Side projects, tools for my business, a CLI on npm and a student team build, from 2020 on, with the code or a live link where one is public.
2026
Site Sledge CDN
The shared CSS and a small loader script for Site Sledge sites and GoHighLevel pages, served from Cloudflare Pages.
CSS, JavaScript, Cloudflare Pages
2026
Lead finder
A Python tool on the Google Places API that splits a city into grid zones, finds small businesses by trade and exports them to CSV or Excel, with a small Flask screen to run it.
Python, Flask, Google Places API
2025
AquaFlow
A concept store and marketing site for a water-bottle brand.
Next.js, TypeScript, Tailwind CSS, Docker
2024
Nebula
A command-line tool that reads Vue, React, Svelte and Angular components and keeps only the CSS classes they use.
TypeScript, Node.js
2023
TRP CMS
The modular CMS from my TRP role: e-commerce, product filters, AI content drafts and posting to Facebook, Instagram and LinkedIn.
Laravel, Filament, Vue, Tailwind CSS, Docker
2023
Screamer
A social network in .NET 7 clean architecture with an Angular front end, unit and integration tests, and Docker.
.NET 7, ASP.NET Identity, Angular, Docker
2023
Sweetr
A Twitter-style feed with a SolidJS front end and a Laravel API.
SolidJS, TypeScript, Tailwind CSS, Laravel
2023
NeverNote
A notes app that runs on the web, iOS and Android from one code base.
Ionic, Angular, Capacitor, Firebase
2022
Silikan
A marketplace for booking everyday home services, with live chat, built with a student team.
Vue, Tailwind CSS, Laravel, Socket.IO, Redis
2021
Isiconic
A social network for shoppers that is also a multi-vendor marketplace.
MongoDB, Express, Vue, Node.js
2020
Instagram clone
Profiles, posts and follows, built to learn Laravel with a Vue front end.
Laravel, Vue
2020
Shopping cart
A small store with a cart and sign-in.
Vue, Vuetify, Firebase
2020
Movie Info
A mobile app for looking up films.
Flutter, Dart
2020
BMI calculator
A mobile body-mass-index calculator.
Flutter, Dart
One system, 54 pages
Twelve pages from the homepage studio. Each has its own type, colour and layout, and every one is screenshotted and checked with axe-core by script before it ships.

Plumbing 
Electrical 
Heating and cooling 
Carpentry 
Cleaning 
Landscaping 
Masonry 
Flooring 
Pest control 
Pool service 
Demolition 
Auto repair
The Upwork record
Since 2019 I've billed 1,404 hours on Upwork, kept a 100% Job Success score and earned $30K+, mostly working inside other teams' code.
Recent contracts
Senior Next.js and Tailwind developer
Rated 5.0 of 5
Feb to Mar 2025. Next.js, Tailwind CSS.
Nuxt.js and Strapi build
Rated 4.0 of 5
Sep to Oct 2024. Nuxt.js, Strapi.
Front-end developer
Rated 5.0 of 5
Jan to Aug 2024. Front-end development.
1,230 hours. The client endorsed my work and gave the Clear Communicator badge.