I run a lab’s operations and build the software it runs on.

Bioinformatics engineer and full-stack builder at Aarhus University. Native iOS and Android apps, production backends, ML/CV pipelines, offline LLM systems and HPC bioinformatics — designed, built and operated end to end.

4
apps in production
2,000+
users on TankBilligt
3
payment rails live
2
peer-reviewed publications

๐Ÿ‘‹ About

How a lab manager ended up writing production software.

I came to software from the bench. I set up Oxford Nanopore sequencing in-house, prepared and multiplexed libraries for Illumina and Nanopore, and built the 16S, RNA-seq and metagenomics workflows that processed what came off them and somewhere in there I became the person who also built the tools. Today I run daily operations for a molecular biology section at Aarhus University, coordinate an international research consortium, and keep building.

The hard part of writing software for a laboratory is rarely the code. It is that the code has to be right about something biological it does not understand.

That is the thread through everything below. Most developers can build the system; fewer can read the data running through it. I have spent years on both sides of that line, which is why the lab’s ordering and sample database, an offline assistant my colleagues use daily, and a phenotyping pipeline that cleared months of manual measurement all look like the same job to me.

๐Ÿ“ฑ Products & mobile apps

Four in production. TankBilligt and Bliv Klar on both stores, Lynkort and LabCompanion on iOS.

Bliv Klar

Production

Danish citizenship exam prep on iOS, Android and web — the web flow takes real money through Stripe, with the receipt, right-of-withdrawal and terms pages Danish consumer law requires.

SwiftUIComposePlay BillingStripe/PHP

Lynkort

App Store

Danish flashcards with a Leitner spaced-repetition engine, lock-screen widget, and zero external dependencies. Live on iOS; the Android build is unreleased.

SwiftUISwiftDataCloudKit

LabCompanion

App Store

Lab calculators and protocol timers with Lock Screen Live Activities and iCloud sync, for bench scientists. Live on iOS; Android in development.

SwiftUIActivityKitCloudKit

๐Ÿค– AI & automation

On-prem LLMs, local-first pipelines, autonomous agents — and the tooling around them.

labRAG

Production

A fully offline RAG assistant over lab protocols and safety documents — no cloud LLM ever sees the data. It cites a source on every answer, and says a protocol is not in the indexed set rather than inventing one.

OllamaPythonlocal embeddings

Photo Pipeline

Production

A photographer's cull-to-stock automation: RAW culling, a three-axis local-AI scorer, and multi-agency submission.

OpenCVOllamaNIMA
View overview โ†’

cmdlog

Open source

Tooling for the coding agents themselves. It reads Claude Code’s own session transcripts and builds one local page of every command the agent ran — grouped by day, mapped to the repository it ran in, with the output it printed and a search that covers that output. No hook, no daemon, no dependencies, and it never writes to the agent’s own files.

PythonSQLite FTS5stdlib-onlyMIT
Read the code โ†—

Marketing Agent

Concept

Autonomous social-content pipeline designed to give retired hardware new life โ€” data โ†’ generation โ†’ media โ†’ posting.

DockerGeminiPlaywrightmoviepy
View overview โ†’

๐Ÿงฌ Bioinformatics & scientific computing

HPC pipelines and rigorous, reproducible analysis.

genome-decoded

Open source

Turns a consumer DNA download (MyHeritage, FTDNA, 23andMe, AncestryDNA) into a readable, honest report — ancestry, drug response, HLA type, polygenic scores and ClinVar variants — without the genome ever leaving your machine. On the NA12878 reference sample, its HLA calls match the published typing at 10 of 10 alleles and its drug-gene calls exactly match the CDC GeT-RM consensus for 10 of 12 genes, with the other two agreeing in part.

SnakemakeBeaglePharmCATSLURMMIT

PhenoVision

Production

A CV pipeline turning messy lab photos into publication-grade plant phenotype data with YOLOv8/11 + geometry.

YOLOv8/11OpenCVskan
View overview โ†’

WA Pipelines

Production

HPC shotgun metagenomics of the wheat rhizoplane microbiome โ€” gwf/SLURM, dual host-reference removal, Kraken2 + HUMAnN3.

gwfSLURMKraken2R
View overview โ†’

Barley Root RNA-seq

Production

RNA-seq differential expression testing whether transgenes alter the barley root response to AMF โ€” STAR + DESeq2 interaction model.

STARDESeq2R
View overview โ†’

๐Ÿ—„๏ธ Systems ยท ๐ŸŽฎ Game dev ยท ๐Ÿ›ก๏ธ Security

Breadth beyond the day job.

BREEDOME LIMS

In build

A laboratory information system for a 4-node genome-editing facility. Ordering, oligos and personnel/permissions are built; consolidating four standalone databases into one is roughly half done.

FileMaker 2025RBACOAuth/OIDC
View overview โ†’

Tracewire

Prototype

A territory-carving auto-battler with an engine-independent, xUnit-tested pure-C# simulation core consumed by Unity.

Unity 6C#xUnit
View overview โ†’

Cybersecurity Toolkit

Toolkit

Password entropy analyzer with privacy-preserving HIBP k-anonymity breach checks, plus a class-based port scanner.

PythonSHA-256HIBP
View overview โ†’

๐Ÿ“„ Publications

Peer-reviewed, from the research side of the same work.

Signatures of Antagonistic Pleiotropy in a Bacterial Flagellin Epitope
Cell Host & Microbe, 2021 ยท 10.1016/j.chom.2021.02.006 โ†’

A Conserved Juxtamembrane Motif in Plant NFR5 Receptors
PNAS, 2021 ยท 10.1073/pnas.2101526118 โ†’

ORCID 0000-0001-7709-6803 โ†’