I build things across LLM tooling, applied optimization, streaming ML/stats, and efficient data structures and algorithms. Kotlin is my language of choice, with Python and Go in the mix. Head of Engineering at Theca is my dayjob; PhD in Computer Science from Lund University.
- lx (Go) CLI and agent skill that bundles files for LLMs, with type/function skeletons, tree views, etc.
- vectrify (Python) Raster to vector via LLMs and NSGA-II.
Eignex is all focused around a bayesian optimization framework with a rich constraint system so you can exclude invalid options. This started with my PhD to optimize software configurations. It's all organized in a bunch of Kotlin multip-platform libraries:
- combo The main engine that ties it together. Under construction.
- kumulant Lock-free streaming statistics: EWMA, time-decaying aggregates, and more.
- klause Hybrid general-purpose CSP-SAT-LP optimizer.
- koblas BLAS and LAPACK bindings for dense and sparse matrices together with reference implementations when system binaries are missing.
- skema
- kencode Compact, ASCII-safe encodings for size-limited channels.
- kpermute Shuffle huge sequences without holding them in memory; also handy for ID obfuscation.
- prompts Prompts library used with lx.
- largesofteng Open labs for a Lund course on software at scale.
- aoc23 / aoc25 Advent of Code.
- Google Scholar Publications.





