Software engineer at Qasa · Stockholm

For six years I've worked on most parts of Qasa's product, mostly on the frontend, and led the architecture for our React Native app. Before that I studied interaction design at KTH and wrote my thesis on interactive music. On the side I make games: a jigsaw puzzle built from Wikipedia articles, and a survival puzzle game where I draw all the art myself.

Me holding my dog on a snowy street

Work

The Qasa app

2023–2024 · Qasa · Architect and technical lead

Qasa is a web product. We wanted a native app, and instead of building a small companion app we decided to move the whole product into React Native over time. I designed the architecture and led the work, with two other developers.

Rather than bring in a cross-platform UI library nobody knew, we took the component library the web app already ran on and made it platform-agnostic. Every component got a native implementation behind the same interface (Stack.web.tsx, Stack.mobile.tsx), and the bundler resolves the right one. The production website and the app ran on the same components, so product code was written once and worked on both. Navigation got wrappers so both apps route with one syntax. Platform-specific code was possible, but sharing was the default and splitting the exception.

Chat and search reached parity with the web, and we ran a beta with real users. After a change in leadership the app was shelved before launch.

React NativeExpoReactTypeScriptGraphQL

Also at Qasa

2020– · Qasa · Software engineer

  • Worked on basically every part of the product, full stack but mostly frontend.
  • Recruited and mentored junior developers.
  • Oversaw the shutdown of the vacation homes service.
  • Migrated our authentication from tokens to sessions.
  • Shaped product and design discussions around the technical constraints.

ReactTypeScriptNext.jsGraphQLRuby on RailsPostgres

On the side

2026 · Browser game

Fluorite

Fluorite turns any Wikipedia article into a jigsaw puzzle. The article is cut into pieces and you put it back together, which means working through the subject instead of scrolling past it. There are puzzles I have curated, three difficulty levels, and anyone can make their own from an article of their choice.

I made it because I like coming at a subject from a different angle, playing with the material rather than just reading it. Tools like Obsidian link your notes for you. What I wanted was to do the linking myself, as a way of learning.

TypeScriptD3Rough.js

Play Fluorite

2023– · Game · In development

In Our Garden

A survival puzzle game about the connections between plants and animals. You go out into the wilderness the way a naturalist would and note what you find. Back home you sort and study it, and what you learn lets you stay out longer and go further, to the far edges of the map where the most elusive animals live.

I have been building it since 2023 in MonoGame and C#, and all the art is mine. I chose a framework over an engine because I wanted the whole game to be code I own and build from, rather than something assembled in an editor. A demo is coming soon.

MonoGameC#Aseprite

Earlier