Introducing
Per Ryan Edin

I am a specialist in software architecture design, from low-level firmware implementations in C to implementing web applications in Angular/TypeScript via C++ backends. I have over 25 years of C++-programming experience. I enjoy understanding how things work, identifying patterns, and finding ways to make complex systems predictable and reliable.

Professionally, I design and build software systems across multiple domains and platforms. But my pride in craft goes beyond coding. In Swedish, yrkesstolthet captures what motivates me: a dedication to doing things well, understanding the implications of every decision, and leaving work in a state better than I found it. This discipline shapes everything I do from designing architectures and writing tests to documenting systems and refining processes.

On a personal note, I'm neurospicy, including autism, BPD, and BD. This means I sometimes work in different ways, I prefer coding in nightclubs with high volume music, lights, and lots of people. Boring offices don't tickle by brain.

What I Do

I work as a software developer across multiple domains and platforms, ranging from low-level embedded systems to modern application development.

My work includes:

I am equally comfortable implementing a scripting-language compiler from scratch as I am designing a web application using Angular/TypeScript, or implementing the application backend in C++.

The last few years I have focused on low-level programming in C for the ATmega MCU series, implementing an EVSE based on the EN IEC 61851-1:2019 standard.

I'm a sucker for Vim which has been my primary editor of choice for over 20 years. Lately I've been looking for a viable GUI-alternative with Vim emulation but I've yet to find something that ticks all boxes. The closest is Code or maybe Zed with a minimalized configuration (I hate bloat).

Technical Stack

Languages

Platforms

Frameworks

Practices

Tools

Engineering Philosophy

I take pride in building software that is understandable, verifiable, and durable.

I enjoy reading, writing, and working from specifications. I also value precision in both implementation and communication. Writing tests and documentation is not a chore for me; it is part of the engineering process and a way to make systems trustworthy for future developers, including myself.

I prefer simple, explicit designs over clever ones, and I aim to leave codebases in a better state than I found them.

Modern C++ in Practice

I use modern C++ as a means to write safer, clearer, and more expressive code. I actively leverage contemporary language and standard library features to make intent explicit and to shift correctness checks as early as possible, preferably to compile time.

Resource management is handled consistently through RAII, avoiding manual lifetime management and making ownership rules explicit. I try my best to design APIs that are hard to misuse while also being easy to test.

Selected Work

Narvik

Narvik is a lightweight, statically typed, procedural language designed for embedding scripting and macro capabilities in host applications. Think of it as a base for implementing VBA-style features.

Technologies: C++, build2, Narvik

BitShift Seafire

BitShift Seafire is a collection of libraries designed to model the HTTP/1.1 protocol as accurately and efficiently as possible, leveraging modern C++ features to create clear abstractions for representations, resources, routing, and protocol behavior. Every design choice is deliberate, balancing correctness, performance, and maintainability.

BitShift Seafire is currently undergoing a rewrite to match the latest HTTP/1.1 specification as defined in RFC 9110 and RFC 9112.

The BitShift Seafire project is named in honor of my beloved dog, Sefyr, to whose memory it is dedicated. He will always be remembered. 💔

Technologies: C++, ASIO, build2

BitShift Paperback

An early alpha implementation of the PDF 1.4 specification in C++. Paperback is an exploration of complex file formats, parsing, and rendering, with a focus on correctness and adherence to the specification.

Technologies: C++, build2

BitShift HyperLane

A reporting engine designed for flexible output and integration. Hyperlane can optionally use BitShift Paperback for PDF generation and has future plans to support ZPL II for label printing. The project emphasizes clean architecture, modularity, and extensibility, allowing reports to be generated efficiently in multiple formats.

The project includes a graphical WYSIWYG designer tool implemented as an Angular library, intended to be embedded directly into the application using BitShift HyperLane.

Technologies: Angular, C++, BitShift Paperback

BitShift Json

Originally created as a deep dive into parsing and compiler design, BitShift Json demonstrates my interest in language processing and formal specifications. I once presented this project in a session on parser and compiler implementation (formal grammars, abstract syntax trees, lexical analysis, etc.), highlighting its architecture and design principles.

Technologies: C++, build2

Contact

I am always open to hearing about interesting problems, potential collaborations, or opportunities to build something new. Whether you are looking for consulting on a project, exploring a partnership, or simply want to discuss ideas, feel free to reach out.

E-mail me at ryan@helloryan.se or use the form below to get in touch.

Optionally, describe what you need assistance with.

I aim to respond thoughtfully and promptly, and I welcome inquiries from both technical peers and decision-makers alike.