Projects

Dupe Cabinet project screenshot
Dupe Cabinet

Data-driven directory site

Independent index of perfume dupes — thousands of clone products cross-referenced to the originals they copy, with notes, sizes and price per ml. A Python pipeline normalizes seller catalogs into the statically generated site.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Python

Visit live site ↗

Slow Cooker Converter project screenshot
Slow Cooker Converter

Calculator tool site

Free calculator that converts slow cooker time on Low or High to oven time and back, plus slow cooker to Instant Pot. Single-purpose tool site with statically generated long-tail pages for every common cook time.

  • Next.js
  • TypeScript
  • Tailwind CSS

Visit live site ↗

Sälja elbilen project screenshot
Sälja elbilen

Comparison site

Swedish comparison of every way to sell a used EV — direct buyers, bid brokers, auctions and private sale — with terms checked against each company's own conditions. Static export with source-backed guides per situation and model.

  • Next.js
  • TypeScript
  • Tailwind CSS

Visit live site ↗

Yrkesförsäkring project screenshot
Yrkesförsäkring

Content site

Swedish guide to business insurance by profession: which coverage matters for 40+ trades, what clients demand and the common mistakes. Pages are generated from structured JSON per profession.

  • Next.js
  • TypeScript
  • Tailwind CSS

Visit live site ↗

Elnätskollen project screenshot
Elnätskollen

Data comparison site

Compares electricity grid fees across all 290 Swedish municipalities and grid operators — prices, increases and price lists. Python scripts parse the operators' tariffs into data for a statically exported Next.js site.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Python

Visit live site ↗

Bokutgivningar project screenshot
Bokutgivningar

Data-driven content site

Upcoming Swedish book releases by author and month, built from harvested pre-order listings. Thousands of static pages generated from a single JSON dataset.

  • Next.js
  • TypeScript
  • Python

Visit live site ↗

Vinterplatsen project screenshot
Vinterplatsen

Directory site

Swedish directory of winter storage for boats, caravans, motorhomes, motorcycles and cars — outdoor spots, cold and heated halls across the country. Harvested listing data rendered as a static Next.js export.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Python

Visit live site ↗

Tidningstoppen project screenshot
Tidningstoppen

Comparison site + digital product

Independent comparison of Swedish magazine apps — price, catalogue and trial periods, ranked without paid placements. Also sells its own printable puzzle pack through Stripe Checkout, with the PDF served only after payment verification.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Stripe
  • Vercel Blob

Visit live site ↗

Robotklipparguiden project screenshot
Robotklipparguiden

Affiliate content site

Swedish buying guide for robot lawn mowers, living on the internationalized domain bästarobotgräsklippare.se. Server-rendered comparison content built for organic search.

  • Next.js
  • TypeScript
  • Tailwind CSS

Visit live site ↗

Robotdammsugarguiden project screenshot
Robotdammsugarguiden

Affiliate content site

Swedish comparison site for robot vacuum cleaners — reviews and buying guides, part of the same family of SEO-driven guide sites.

  • Next.js
  • TypeScript
  • Tailwind CSS

Visit live site ↗

Luftrenarguiden project screenshot
Luftrenarguiden

Affiliate content site

Swedish buying guide for air purifiers — the third of the SEO-focused comparison sites, sharing the same server-rendered Next.js setup.

  • Next.js
  • TypeScript
  • Tailwind CSS

Visit live site ↗

Rivals League project screenshot
Rivals League

Esports tournament platform

Full-stack tournament platform: React front end, Express API on Supabase, Stripe payments, a Discord bot for match operations, plus a Strapi CMS and a separate stats backend.

  • React
  • TypeScript
  • Vite
  • Express
  • Supabase
  • Stripe
  • Discord.js
  • Strapi

Visit live site ↗

Create Discord Bot project screenshot
Create Discord Bot

Productized service site

A service selling custom-built Discord bots, with Stripe checkout and transactional email through Resend.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Stripe
  • Resend

Visit live site ↗

PXB Media project screenshot
PXB Media

Company website

Brand site for the esports broadcast and production company PXB Media, with content managed headlessly in Contentful.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Contentful

Visit live site ↗

Cookbook generator project screenshot
Cookbook generator

Web app

Turns your recipes into a print-ready cookbook — PDF generation in the browser, Supabase for storage, and Stripe-powered checkout.

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Supabase
  • Stripe

Visit live site ↗

Adluelno project screenshot
Adluelno

Company website

Website for a Swedish business advisory and consulting firm — a clean, fast, SEO-optimized Next.js build.

  • Next.js
  • TypeScript
  • Tailwind CSS

Visit live site ↗

Book Report Template project screenshot
Book Report Template

AI web app

AI-powered book report generator — pick a template, let the AI draft the report, pay through Stripe.

  • React
  • TypeScript
  • Vite
  • shadcn/ui
  • Stripe

Visit live site ↗

Webbdoktorn project screenshot
Webbdoktorn

Agency website

Swedish web agency that builds, maintains and optimizes websites for small businesses.

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Supabase

Visit live site ↗

Weekend in Paris project screenshot
Weekend in Paris

Travel content site

Curated weekend itineraries for Paris — statically generated, with the guides written in MDX.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • MDX

Visit live site ↗

Svenska Esportförbundet project screenshot
Svenska Esportförbundet

Federation website + custom CMS

Official site of the Swedish Esports Federation, built as a freelance project with a headless Strapi CMS so the federation can publish news and content themselves.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Strapi
  • Resend

Visit live site ↗

AoE2 Sverige project screenshot
AoE2 Sverige

Community site

Community hub for the Swedish Age of Empires II scene, with community data backed by Supabase.

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Supabase

Visit live site ↗

PromptBibliotek project screenshot
PromptBibliotek

Web app / directory

A Swedish library of AI prompts — browse, search and share prompts, all stored in Supabase.

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Supabase

Visit live site ↗

Cryptoskatt project screenshot
Cryptoskatt

Fintech web app

Helps Swedish crypto traders sort out their taxes — a Next.js app with Supabase for data and Stripe for payments.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Supabase
  • Stripe

Visit live site ↗

Remote Work Radar project screenshot
Remote Work Radar

Content site / blog

Statically generated blog about all things remote work, with posts written in Markdown.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Markdown

Visit live site ↗

Nexus Collegiate project screenshot
Nexus Collegiate

Esports organization site

Website for a collegiate esports organization.

Visit live site ↗

Best Travel Route project screenshot
Best Travel Route

AI web app — in progress

An AI travel companion for planning the best route between destinations. Currently in development.

  • React
  • Vite
  • Tailwind CSS
  • Framer Motion

Visit live site ↗

Portfolio project screenshot
Portfolio

Personal site

This site — including a walkable 3D village version of my CV built with React Three Fiber.

  • Next.js
  • React
  • Tailwind CSS
  • Three.js
  • React Three Fiber

Visit live site ↗

Stryda project screenshot
Stryda

Esports platform — professional work

G-Loot's esports platform, now part of Challengermode. Not a personal project — I worked on it professionally as QA Developer and later Frontend Developer.

  • TypeScript
  • React
  • Next.js

Visit live site ↗

Phoenix Blue project screenshot
Phoenix Blue

Esports organization

Non-profit esports organization where I've served on the board since 2017 and helped create the Phoenix Blue Event Series.

  • WordPress

Visit live site ↗