Built a workforce-analytics platform used heavily in PE and growth-equity due diligence, as venture CTO, and took it from zero to $3.6M ARR in 15 months. I owned the data infrastructure it ran on, and moved the warehouse to Snowflake as the analytical load grew.
Founder & CEO, Luminik · Oslo, Norway
I turn expensive, repetitive work into products people pay for.
3x technical founder. Today I'm building Luminik, and Alfred in the open.
- $6M+
- In customer pipeline
- 0→$3.6M
- ARR in 15 months
- 3×
- Technical founder
Impact
Outcomes.
Founded a multi-agent platform that connects B2B event spend to revenue. I closed the first contract at $48K before the product existed, by running the workflow with scripts, spreadsheets and decks.
From 43,000 registered attendees to 1,840 ICP matches and meetings booked on the floor. Lead-to-opportunity reached 8%, up from 1.3% the year before, roughly 6x.
Work
Where I've built and shipped.
Founder and operator across GTM tech, private equity, field service, and investment management.
SnowOptix
Founder
A Snowflake cost-optimization tool. It was used by one of the global top-3 consulting firms, and the conversations while building it surfaced the bigger problem that became Luminik.
Aura · Bain & Company
Venture CTO
Took a workforce-analytics SaaS platform, used heavily in PE and growth-equity due diligence, from concept to $3.6M ARR in 15 months. Owned product, architecture, and the engineering team, and built the data infrastructure: a medallion warehouse on Snowflake with a Cube.js semantic layer, plus Lightcast and BLS taxonomies for comparable workforce data.
Mainteny
Co-founder & CTO
Field-service management SaaS for maintenance companies across Europe. Built and launched the MVP solo in 3 months, raised a $2.7M seed, and scaled the team to about 15 across five countries.
6x more of the room, from the same booth. 1.3% of RSA to 8%.
Approach
How I work.
A few principles I keep coming back to.
-
Get close to the problem
I work next to the people who have the problem, so the product comes from what they do day to day.
-
Earn trust before production
The real work is the cases that break: evals, a judge I have calibrated, and adversarial tests, so I know how a system behaves before customers see it.
-
Stay hands-on
I write the code, review it, and read what the system produces in the wild. This kind of work does not lead well from a distance.
System
Most of what I build is one loop: signals, agents, evals, durable runs, outcomes.
- Signals
- Agents
- Evals
- Durable runs
- Outcomes
Skills
What I build with.
AI-native, and the systems under it. Drawn from what I'm shipping at Luminik and Alfred.
Agentic systems
Multi-agent orchestration, autonomous agent fleets (Alfred), LangGraph, MCP, tool use and planning
RAG & memory
Vector DBs, embeddings, hybrid and semantic search, context engineering, agent memory
Evals & guardrails
LLM-as-judge, eval harnesses, benchmarking, red-teaming, adversarial tests, safety gates
LLMOps & reliability
Tracing (Langfuse), OpenTelemetry, cost and latency control, failure handling, durable execution
Applied ML & model work
RL and reward design, prompt and context engineering, fine-tuning, multi-model routing (Vertex, OpenAI, Anthropic)
Distributed systems
Microservices and SOA, event-driven and async services (asyncio, aiohttp), FastAPI, Django, Spring Boot + Kotlin, Kubernetes, Kafka
Full-stack & mobile
Next.js, React, TypeScript, React Native and Expo, Tauri, end to end from data model to UI
Cloud & data platform
AWS, Terraform, Snowflake, data pipelines and warehousing, Postgres, CI/CD
Writing
What I'm learning.
Hands-on writing on AI-native engineering, evals, durable workflows, and the operator side of building companies.
OCR and the offline reality: a primer on reading text on a phone with no signal
Why OCR is harder than it looks, why the public datasets are skewed Latin, and why production offline OCR still runs on classical and CNN/transformer engines like `Tesseract`, Apple `Vision`, `ML Kit`, and `PaddleOCR` rather than a full VLM on the phone.
Scaling WebSockets: what changes when the connection never closes
A realtime chat UI is easy with one server. The hard part starts when a message for user A arrives on a server that does not hold A's socket. This is a primer on why WebSockets are different to scale, the pub/sub backplane that fixes the fan-out, and the connection, presence, backpressure, and reconnect problems you inherit by keeping the connection open.
Websockets, SSE, and HTTP/3 from first principles
A primer on the real-time web protocols, derived from scratch: what problem each one solves, how it works on the wire, when to use which, and how HTTP/2 and HTTP/3 (QUIC) change the tradeoffs. With real-world analogies and connection-model diagrams.
Contact
Let's talk.
If you're building something hard in AI, or hiring someone who has, I'd like to hear about it.