Martin Dahl

Sweden · Open to new roles

Software engineer, twenty years in. C#/.NET, TypeScript, and the machines underneath.

Read more about me
Selected workAll work →
AutomationSolver
TypeScript · SQLite · OAuth

A ladder-logic puzzle game: program a Mitsubishi-style PLC to solve motor-control problems, then get graded by an engine that runs identically on client and server.

LingoFlow
React · Postgres · TypeScript

Daily language practice that adapts to what you keep getting wrong, with stories, streaks and an honest progress model.

ReflexLoop
React · Node

An autonomous agent with persistent memory, run outside any chat UI, with a console to approve or reject what it wants to do next.

2026-09-06Ray-tracing a rotating black hole in the browser2026-09-06Back to school, twenty years in2026-08-14One grading engine, two runtimes2026-06-02Twenty years of C#, and what I had to unlearn for TypeScript
Where I've beenFull history →
2025–2026

Automation Electrician program · Nercia

A year of ladder logic, control cabinets and PLCs, taken deliberately after twenty years on the software side.

2021–2022

IT Consultant · Consulence AB

C# APIs for home automation and IoT with MQTT real-time updates; Azure Linux VMs, VNET and SQL/Cosmos DB; a React frontend over the whole thing.

2018–2019

C++ Developer · Aveva AB

New object types in Aveva Atlas, a 3D CAD system for the marine industry, plus maintenance on a large PML/C++ legacy codebase.

2017–2018

Software Developer · Egmont Publishing

C# on a cross-platform magazine subscription platform, and the admin portal for PDF import, monitoring and publication schedules.