Hi, I’m Jonatan Miarecki, a software engineer and AI researcher. I build things until they run, then figure out how to make them run better. Based in the EU and open to collaborating with anyone building something interesting.

How I got here

It started with Snap Circuits and Lego Mindstorms EV3, and the pattern has stayed consistent ever since: I want to see the thing work. Not in a simulator, not in theory, but actually running and doing something real. During secondary school I worked through Harvard’s CS50x, and the German Physical Society awarded me the DPG-Abiturpreis in July 2025 for my physics results. Both helped, but honestly most of what I know came from breaking things and figuring out why.

At some point I built a fully functional 8-bit CPU in Logisim from scratch: microcoded Harvard architecture, custom Python assembler. It started as an experiment and ended up teaching me more about memory management than most formal resources would have.

What I work on

My core languages are TypeScript, Python, C++, Rust, and C. I run Arch Linux (yes, I mention it) as my daily driver. For running things, I maintain a local cluster of Raspberry Pis and various devices on my home network, powered by solar panels. Everything runs in Docker containers, so when something breaks I can usually trace it, learn from it, and have it back up faster than a cloud provider would even acknowledge the ticket. No cloud lock-in, no subscription, full control over the data. I’m currently working on making parts of this infrastructure more autonomous, with self-managing services and automatic recovery.

The ESP32 is still my favorite platform for anything that needs to interact with the physical world. Cheap, capable, and when something goes wrong you can experiment more!

A lot of what I build starts because I run into an undocumented device, a missing driver, or a protocol nobody has bothered to tackle yet. That tends to be more interesting than having a spec to follow.

I also maintain wkd-checker, an npm package that verifies Web Key Directory endpoints against the IETF specification. It came out of building my own WKD setup and realising there was no easy way to validate it.

Studies and research

I started university early through the Studieren ab 15 program at Bielefeld University in October 2023, completing four semesters of computer science while still in secondary school. I’m currently pursuing a Bachelor’s in Artificial Intelligence and Cognitive Informatics.

My research focuses on how models of human cognition can inform the design of intelligent systems, specifically the gap between what AI can do in theory and how it behaves under real-time, constrained conditions. During the 2025 Bundeswettbewerb Informatik workshops at TU Dortmund, my team built autonomous agents for a Robocode tournament from scratch, no pre-built strategies. Watching something you wrote make decisions in real time, under pressure, is a different kind of feedback than unit tests.

I also enjoy hackathons and programming competitions for the same reason: a hard deadline and an unfamiliar problem space tend to produce more interesting solutions than a comfortable sprint.

Radio, signals, and community

I’m a licensed amateur radio operator under the callsign DN9AJ (Class N, DARC DOK N43), currently studying for the CEPT license, and the youngest member of my local club. What draws me to amateur radio is the same thing that draws me to open-source software: the culture is genuinely open. Frequencies are unencrypted by rule, knowledge gets shared freely, and the infrastructure exists to serve people rather than extract value from them. In emergencies, amateur radio networks run independently of commercial infrastructure, and that independence is the whole point.

On the technical side, I decoded SSTV image transmissions from the International Space Station and received a physical postcard from the crew back. That project turned into an open-source SSTV encoder/decoder and a browser-based WebSDR frontend with no server backend required.

I also hold an A1/A3 drone operator license. For prototyping I use a Prusa i3 MK3S, with models made in OpenSCAD, Shapr3D, or Solid Edge depending on what I’m building.

Not only computer languages

I’m fluent in English, German, and Polish, a bit of French, and currently picking up Italian. Not only do I speak computer languages, but apparently several human ones too, though the compiler errors in Italian are considerably harder to interpret.

Outside of screens: I swim regularly and hold the Deutsches Rettungsschwimmabzeichen Silber, recognized internationally as an ILS Lifesaver. Long-distance running and skiing when I get the chance (πŸ‡΅πŸ‡±πŸ‡¨πŸ‡­).

Get in touch

I’m open to collaboration on software engineering, applied research, or open-source infrastructure.

Find my code on GitHub or my academic record on ORCID.

Reach me at jonatan@miarecki.eu or via Matrix at @jonatan:miarecki.eu.

I prefer encrypted communication. My S/MIME public key and PGP public key are both available. The PGP key is auto-discoverable via my self-hosted WKD endpoint. If you want to understand how that works, I wrote a post on Web Key Directory setup.

Identifiers