Johan Rosenkilde
Problem-solver, AI Engineer, Tech-lead, Algorithmicist, Mathematician
Principal AI Engineer at XBOW
Autonomous Offensive Security · Founding engineer
At XBOW we're building the future of offensive security: a fully automated, always-on pentesting system that finds the vulnerabilities before you ship them to production.
My main focus is the architecture around orchestration of the AI system. The main challenge is to unleash the creative power of the LLMs while ensuring that agents work collaboratively, comprehensively, securely and focused on the tasks at hand.
With founder and CEO Oege de Moor and nine other people, I helped start XBOW in April 2024, back when most people were laughing at the idea that AI would be creative enough for hacking. We proved this a few months later when our first prototype managed to solve most available CTF challenges. Since then, our system achieved #1 rank on HackerOne and has found countless vulnerabilities in real-life systems. I was main architect on most of our AI systems for the first year. As the company has grown, I'm now focusing on the "upper layers" of how agents collaborate, leaving the individual agents to other teams.
Advisor at *codeplain
Spec-driven development
Development as a discipline has been completely transformed with agent AI systems like Claude Code and Codex. The bottleneck is no longer producing code, but making sure that when imposing new conditions the agents' code doesn't clobber over previous conditions, causing breakages and regressions.
Most teams are solving this right now by bottlenecking on code review. I believe that to truly x10 software development, human developers need to stop looking at code at all: instead, the human intent - indeed, the total of conditions imposed on the system over time - must be captured. This is what is actually the heart of the system, and from here, the implementation is simply non-essential implementation details that can be regenerated at will by an LLM. This concept is called regenerative software, a term coined by Chad Fowler.
*codeplain seeks to build the first production-grade end-to-end regenerative software system. As technical advisor at *codeplain, I work closely with CEO Dusan Omercevic discussing the shape and semantics of both the ***plain specification language and the greater regenerative system.
Previous
GitHub Next
GitHub's innovation lab, where I worked with amazing people on wild ideas. Many of my colleagues from Next later joined me at XBOW.
My main claim to fame: I joined GitHub Copilot as the third engineer, when it was an early autocomplete prototype. The rest is history, as they say.
After shipping Copilot I worked on several projects at Next:
- SpecLang — Incepted the idea and led this for 8 months. The idea was that humans would program in natural language and the LLM would translate to code. Sounds familiar? Nowadays that's called "spec-driven development", but back then people mostly just called me mad. We fought model limitations a lot, but we did build a neat UX loop where you changed the spec of a mobile app and watched the app change before your eyes seconds later.
- Next edit suggestion — With Albert Ziegler, trained an LLM from scratch on diffs to predict the user's next edit. Andy Rice led the VSCode UX. We all three left for XBOW before finishing, but it eventually shipped in Copilot.
- Copilot CLI — With Matt Rothenberg. Ask in natural language, get a shell one-liner with a breakdown of what it does. Way before agentic coding in a CLI was a thing.
- RAG before RAG got famous — With Eddie Aftandilian. Built a retrieval engine to improve Copilot suggestions. We learned, as most eventually did, that embeddings are hard to get right.
Researcher in Computational Algebra and Error-Correcting Codes
Associate Professor at the Technical University of Denmark
Came up with fancy algorithms for solving algebraic equations. Particularly obsessed with decoding Reed–Solomon codes and Algebraic Geometry codes.
- Fast list-decoding algorithms, holding several speed records [1, 2, 3, 4].
- My personal favourite in decoding was discovering Power decoding "with multiplicities" [5], open for about a decade. Though our fast algorithm for decoding any AG code [6] was probably more important.
- "Pure" computer algebra: Padé approximations [7], normal forms [8]. My favourite here is our "reshaping" algorithm for fast multi-point evaluation [9].
- Introduced Twisted Reed–Solomon codes [10, 11] — a flexible lever for discovering new classes of special codes. Now my most cited work.