Oscar Persson — Lead Front-End Engineer, Stockholm, Sweden. Open to work.

Hi, I'm Oscar.

I am
creative, reliable, outgoing, adaptable, a team player, innovative, open to work!

Full-stack software engineer, specialising in front-end development. I do TypeScript, React, Svelte, the modern web, and I have the range to own a feature end-to-end: data model, API, UI, and the dashboard that watches it after launch. Currently leading a frontend team in Stockholm.

Portrait of Oscar Persson

PRINCIPLES

A few things I keep coming back to.

Considered design

Every layout, animation, and microcopy decision should serve the reader. I push back on flourish that doesn't earn its place.

Performance as a feature

Bundle size, time-to-interactive, and animation cost are part of the design brief — not an afterthought once the product is shipped.

Accessibility by default

Keyboard navigation, contrast, and reduced-motion fallbacks aren't a separate pass. They're part of the first pull request.

Currently in Stockholm. Open to interesting problems. Available remote, hybrid, or on-site.


STACK

Skills, languages, tools, and frameworks I reach for.

Languages

TypeScript

JavaScript

Python

Java

C

C++

C#

Swift

Kotlin

Dart

Ruby

Clojure

HTML

CSS

SQL

Frameworks & Engines

React

Next.js

Svelte

SvelteKit

Vue

React Native

Lynx

Flutter

SwiftUI

Node.js

Ruby on Rails

Three.js

Threlte

Payload CMS

Sanity

Tailwind CSS

SCSS / SASS

Storybook

Vite

Jest

Playwright

Anthropic SDK

OpenAI SDK

Vercel AI SDK

Framer Motion

Unity

Unreal Engine

Platforms & Tools

Git

Docker

GitHub Actions

GitHub Copilot

AWS

Vercel

Firebase

Auth0

Sentry

Datadog

BigQuery

Kibana

Kafka

GraphQL

MCP

PostgreSQL

MySQL

MongoDB

Biome

pnpm

CI / CD

Design & 3D

UX Design

UI Design

Adobe Photoshop

Affinity Photo

Blender

Substance Painter


CAREER

Where I've worked, a condensed timeline.

  1. Lead Front-End Engineer

    Umain AB· Stockholm, Sweden

    2025 — Present

  2. Full-Stack Engineer

    Klarna· Stockholm, Sweden

    2023 — 2025

  3. QA Engineer

    Spotify· Stockholm, Sweden

    2022

  4. Junior Full-stack Engineer

    Skry· Stockholm, Sweden

    2022 — 2023

  5. Lead Teaching Assistant

    Kungliga Tekniska Högskolan· Stockholm, Sweden

    2020 — 2023

  6. Software- & Games Developer

    Special Elektronik· Karlstad, Sweden

    2017 — 2018

See full resume

PROJECTS

A few things I've built, selected work.

A 3D office wayfinder in the browser

GTPS

Interactive multi-floor office map rendered with Three.js. Pick a meeting room and an A* pathfinder traces the route through corridors and stairwells onto the floor; inactive floors fade and slide apart vertically so a path that crosses levels stays legible. Waypoint graphs and floor outlines live in JSON with an in-app debug editor for placing nodes against the real .obj models.

ThrelteThree.js Svelte 5A* pathfindingTypeScriptTailwind
GTPS

A recreation of the Vercel-conf lanyard

Lanyard

A port of the Vercel-style 3D lanyard component to Svelte + Threlte + Rapier. The interesting parts were keeping the physics stable across resizes, taming the constraint solver under fast drag, and getting it under the perf budget for an always-visible hero element. (It's the thing dangling at the top of this page.)

SvelteSvelteKitThree.jsThrelteRapierTypeScript
Lanyard

A native macOS email client for Gmail

Lunch-Maily

A lightweight desktop email client built with SwiftUI that connects to Gmail via the Google API. Features a three-column layout inspired by Apple Mail with a sidebar for label navigation, an email list with read/unread indicators and infinite scroll, and a detail pane that renders full HTML emails. Supports composing, replying, archiving, and label management.

SwiftSwiftUIMacOSAppkitWebKitOAuth 2.0 (AppAuth)Gmail REST APIMVVM
Lunch-Maily

Take-home, full-stack PoC

Munchies (PoC)

A restaurant discovery frontend built end-to-end for a take-home interview. Next.js with SSR/ISR, Payload CMS backed by Postgres, and full production scaffolding: Storybook, Jest, GitHub Actions, because throwaway work is the right place to practice the boring fundamentals.

TypeScriptReactNext.jsNode.jsPayload CMSGraphQLPostgreSQLTailwind CSSPostCSSVercelVercel BlobDockerOrbStackGitHub ActionsCI / CDStorybookJestReact Testing LibraryESLintPrettierYarnGit
Munchies (PoC)

Client work

Client Portfolio

A personal portfolio I built for a client. The interesting work wasn't the stack, it was translating "I want it to feel like this" into components, scoping ruthlessly, and shipping something she can edit herself through the CMS.

TypeScriptNext.jsPayload CMSPostgreSQLTailwind CSSStorybook
Client Portfolio

Tinder for Magic: The Gathering

MTG Deckpick

Tinder for Magic: The Gathering. Cards stream in via the Scryfall API; swipe right to add to a deck, left to skip. Built over a weekend to learn React and the NextUI library.

React.jsNextUIFront-End DevelopmentUI DesignWeb DevelopmentGitJavascriptCSSNode.jsMVPFirestore
MTG Deckpick

WORDS

From people I've worked with.

"Oscar's analytical skills are sharp and effective, and his meticulous approach to problems allowed him to make a number of key recommendations that resulted in an improved product. Beyond the engineering, he's a thoughtful team player — open to discussion, able to receive criticism, and a positive force across the department."
Ivaylo Tsonev Software Engineer · Spotify
"It's people like Oscar who set the culture for us at our company. He takes initiative, responds to feedback, and adjusts toward something even better. He is energetic and thoughtful in equal measure."
Managing Director Umain

Let's build something.

The fastest way to reach me is by email or LinkedIn.

hello@oscarpersson.dev

© 2026 Oscar Persson