Tech
I was bitten by the programming bug when I was around ten, first on a
Commodore 64
and a few years later on an
Amiga.
It turned out to shape my entire career. Many years
later, I still find technology and programming incredibly exciting. I am
also very interested in the overall methodology of software development and quality
assurance, and the “soft values” and psychological safety that can help produce an
enjoyable environment and effective team.
For the past year I
have mostly used AI-driven development, and continuously refine my skills at getting the
outcome I want. Given the right conditions and guidance, the productivity boost can be
incredible. I have made a few tools to help with that — you'll find them below.
Hobby software projects
I periodically work on software projects on the side when I need tools or want to
explore things. Some of my code lives on
GitHub.
I used to do it all by hand, but now my side projects are considerably more automated
(which is good, because I have limited spare time)!
My agentic workflow
I have a clear vision for what I want to achieve and how. I think a lot about the UX,
and sometimes sit in sessions with Claude Design to iterate on the UX. After that, I
set an early architecture (often
starting out with this KMP base) and pair with
Claude to implement it.
When I have achieved some initial stability, I kick off my agentic workflow: I write
tickets which are auto-discovered by a Claude Code skill, which fires off separate
subagents to implement them (to save on the context window). I finally get a comment in
my ticket, a PR, an e-mail, and a second comment and e-mail from a second adversarial
subagent doing code review. If I want to change something, I write
it in the ticket and move it back one column in the board, and Claude picks up the work
again.
Then I can manually review the code (sometimes I just glance through it quickly,
especially for UX, and other times I go more in-depth), and test it. I try to have a
backlog of refined, well-specced issues that my agents can work on during the night.
Lunamux
A macOS terminal built for working alongside AI agents: tabs, windows and a
built-in multiplexing session server. Sessions can be viewed as a flat 2D layout or
lifted into a 3D world you fly through. Native
Android and
iOS apps connect to the same
server, so you can remotely control your sessions from your phone.
www.lunamux.dev →
Lunicle
An issue tracker you host yourself, on your own computer, at your favorite Docker
hosting service, or in Google's cloud. Boards, sprints and epics, plus an
MCP server so agents can work on the same issues as everyone else.
I use it to steer the development of my own hobby projects — have a look at the
public issue tracker boards for
Lunamux and
Lunicle.
www.lunicle.dev →
Lunula
A UI toolkit written in Kotlin that powers many of my personal projects.
It supports customisable tabs and windows, themes, and persisted layouts.
This allows me to re-use the same look and feel across multiple apps.
github.com/soderbjorn/lunula →
Work
For almost ten years now, I have been working at
Framna,
an innovation studio specialising in mobile apps.
If you live in Sweden, you probably use
some of the apps we have built.
At Framna I am an engineering manager, which means I spend as much time dealing with
people as I do with software. Over the years I have discovered that people are just as
interesting as computers — and even more important!
Before Framna, I worked on other interesting things: real-time systems,
airport booking and
reservation systems, and, during a few years as a
contractor, software for
hospitals' blood banks
— plus a short stint in
optical networking
equipment.
I gave a talk at
Jfokus
and a couple of other conferences four years ago —
watch it here.
Personal
I live in Solna outside Stockholm, Sweden. I have been married for fourteen years,
and my wife and I have a 14-year-old son and a 10-year-old daughter.
I like watching science fiction in general and Star Trek in particular, and I am a member of
Stockholm Trekkers.