
Web app · 2023
Hangout
Real-time chat with direct messages, chat rooms and group video calls over a peer-to-peer WebRTC mesh.
- Vue
- TypeScript
- Express
- WebRTC
- WebSockets
- Prisma
- S3
- Cognito
- Amplify
- Docker
View project
Full-stack developer · Freelance
I build web apps, APIs and integrations for startups and small teams. By day I’m a developer at Visma, leading the cloud migration of a payroll-critical app. I started in operations, keeping business-critical systems running through night shifts, so I build software that’s easy to run and hard to break.

01 / Services
Fixed-scope projects or ongoing work, with weekly demos so you always know where things stand.
Customer-facing products and internal tools, built to be fast and easy to change.
At Visma: features for a payroll-critical app, and an incident status page used across the company.
Back ends that connect your systems: clean APIs, real-time features and third-party services.
Hangout runs on my Express API, with Socket.IO, Prisma and Cognito sign-in.
Moving to the cloud, or already there and things keep breaking? I set up deployments, monitoring and automation so your app stays up.
AWS Certified Developer, currently leading a cloud migration at Visma.
02 / Selected work
From real-time video chat to an award-winning game jam entry. Each one links to a live version, a demo or the source code.

Web app · 2023
Real-time chat with direct messages, chat rooms and group video calls over a peer-to-peer WebRTC mesh.
View project

Game · 2024
A pixel art platformer where you shift time to reveal hidden paths. Award winner at GameDev.js Jam 2024, out of over 200 entries.
View project

Web app · 2023
Type a prompt and get concept art back, then refine any part of the image with a new prompt.
View project

Web app · 2022
Search for video games and browse them by developer or publisher, powered by the RAWG database.
View project

Graffino · 2022
Search any city for its current weather, a three-day outlook and an hourly forecast, with saved favourites.
View project

Frontend Mentor challenge · 2022
A responsive landing page for a fictional remote-work start-up, expanded from a hero-only challenge.
View project

Course assignment · 2022
A responsive landing page for a fictional meal-delivery start-up.
View project

Windows app · 2023
A desktop tool that applies effects like gamma correction to audio and video, including to a selected area of the frame.
View project

Windows app · 2022
A Paint-style drawing app in C#, with the classic tools plus a few of my own.
View project
03 / Experience
2024 — now
Visma
Leading the migration of a payroll-critical application from one cloud provider to another, and building its user-facing features in React and Next.js. Day to day I also work with .NET 10, AWS, Docker and CI/CD pipelines.
2023 — 2024
Visma
Kept critical business applications healthy across on-premise, AWS and Azure. Built a status page app that streamlines how the company’s incident managers create incidents, and Python scripts that save about two hours of manual work every week.
2022 — 2023
Visma
Started in operations, monitoring business-critical applications around the clock, night shifts included.
2024 — now
Swiss Webacademy
Teaching a full-stack course in Vue.js and Node.js to a small group, built around hands-on projects, with close feedback and support throughout.
2022
Graffino
Built Weather App, the responsive weather web app in my projects, following industry best practices so it works well on any device and screen size.
04 / Skills
05 / Hobbies
Off the clock I still like building things, just with ink, plastic and pixels.
Landscapes, urban sketches and portraits, on tablet, iPad or in ink
Sprites in Aseprite now and then, and models in Blender
Game jams, like the award-winning Chrono Switch
FreeCAD fixes for drawers, my old Suzuki GS 500 and cats that switch off my PC
A Raspberry Pi under my desk, in a case and mounts I designed and printed
5 to 10 km when I feel like it, 30 to 40 km a month
Tell me what you’re building and where you’re stuck. I’ll reply with how I’d approach it.