Product development
Apps from first version through production: UI, APIs, data, and the pieces around them.
- Frontend and authenticated apps
- Backend, APIs, and database design
- Payments and third-party integrations
- Deploy and hosting
I build production-ready web applications, real-time systems, and practical AI features for startups and small teams. Based in Karlstad, Sweden.
Apps from first version through production: UI, APIs, data, and the pieces around them.
Live updates, background work, and long-running jobs that need to stay reliable.
AI inside real products when it clearly helps, with cost and production in mind.
Most of my work takes one of two forms: a bounded project or an ongoing retainer. Either works for me. What matters is that we align early on what "done" means and how we stay in sync when the scope or priorities change. I work primarily remote.
A clear goal with a clear end: an MVP, an internal tool, or a defined piece of a product. I scope it, build it, and hand over something that runs in production.
A set amount of time each month for features, fixes, and whatever comes up. Useful when you need steady engineering help without hiring full time yet.
In both cases I own the technical decisions and the implementation. I use AI coding tools as leverage in day-to-day development. They speed things up, but the judgment stays with me. If a product needs AI features, I add them when they clearly help users, not by default.
Python, Django, Django REST, PostgreSQL
JavaScript, Vue.js, Nuxt.js
Django Channels, WebSockets, Celery, Linux, Nginx
Stripe, Mailgun, OpenAI, Claude
Production systems and products I built for clients, from first scope to launch.
Sailing race management for clubs: series and events, competitors, results, and role-based access for owners, admins, and members.
Django · DRF · Djoser · Channels · Redis · PostgreSQL · Nuxt
Internal platform for multi-site content operations: WordPress publishing, AI-assisted drafting, webhooks, scraping, and long-running Celery jobs with live progress over WebSockets.
Django · DRF · Celery · Redis · PostgreSQL · Channels · Vue
Live quiz MVP: join by code, timed rounds, real-time scoring over WebSockets, scheduled starts, and Swish payouts for prizes.
Django · DRF · Channels · Celery · Redis · PostgreSQL · Nuxt
Marketplace MVP for a Swedish health startup: categorized inquiries, partner matching and alerts, and orders tied to those inquiries.
Django · DRF · Djoser · PostgreSQL · Vue · Mailgun
Frontend demo for a kitchen worktop configurator: drag-and-drop 2D layout, live measurements, and quote generation.
HTML · CSS · JavaScript
"Vilhelm has been helping us develop a custom content management system using Django, Django REST, Celery, and third-party APIs. It allows us to manage multiple sites, schedule articles, and generate images with ease. The ongoing, iterative approach has been smooth, and we're very pleased with the result."
Anders Gärme, Webbstream"Vilhelm developed our MVP for a live, local quiz competition, covering both front and back end, and enabling players to compete for cash prizes with Swish payments. The development process has been efficient, and the final product meets our needs perfectly."
Andreas Asplund, Grannkampen"Vilhelm has helped us with everything from requirements, design, development and implementation of our web application. The collaboration has been very good from start to finish and the project was delivered according to plan!"
Linus Lindeborg, Hälsoförmedlingen