FOUNDER · AI & AUTOMATION · FULL-STACK
I build software for the workflows people still do by hand.
I'm Martin. I built Datamap, and before that I was Head of AI & System Integrations at Bikekey. I work the whole way round: the process, the data, the backend, the AI layer, the product and the ops.
What I'm best at is digging into what actually needs solving, learning what the job requires fast, and dragging the solution all the way from a vague idea to something running in production.

- Resolving property…
- Calling ownership_data…
- Validating sources…
- Answer ready
Datamap · tool-first AI over verified public registry data
- Idea → paying customers
- Datamap built and launched
- ~3M properties
- Geospatial data index
- AI · OCR · workflows
- Automation in production
- DK & NO
- Production experience
01 · Show and tell
Four minutes with the product open.
I click through Datamap, show how the AI layer pulls numbers out of the registries instead of inventing them, and walk through the OCR pipeline from Bikekey. I'm pretty proud of that last one.
What I cover
- 01Datamap live: search, property views, maps and registries, area analysis, and the AI assistant with its sources.
- 02Why the model never gets to be the source of truth, and how type-safe backend tools deliver the actual numbers.
- 03The event-driven OCR and vision pipeline from Bikekey, and why the human stayed in the loop.
- 04How I pick tools: when it should be an agent, and when a script simply does the job better.
The video is on its way
The recording lands here, with captions and a short summary underneath. Until then the cases below tell the same story in writing.
02 · Case
FLAGSHIP PROJECT · LIVE PRODUCTION
Datamap: public data made usable
Danish property data sits scattered across a handful of registries, each with its own format and its own way in. Datamap pulls them into one map-based workspace where you can search, analyse and ask questions in plain language.
datamap.dk ↗My role
I built and launched the platform myself: product, data engineering, backend, AI, infrastructure, payments and sales.


The data platform
From fragmented registries to one coherent data layer.
I built version-aware ETL and sync flows from the official data sources into PostgreSQL/PostGIS. The index covers roughly 3 million Danish properties, searchable and geospatial.
Updates get validated before they go live. The pipeline can delta-sync, trace where a field came from and roll back, so nobody makes a decision on a half-loaded dataset.
The product
Properties, addresses, buildings, cadastral parcels, ownership, companies, valuations and geographic layers all hang together in the same views.
On top of the data layer sit search, map tools, area analysis, reports, API access, subscriptions, access control and operations.
AI that doesn't guess
AI interprets. SQL delivers.
People make expensive decisions on these numbers. So the model never got to be the source of truth.
The assistant first resolves the right address, property, company or person. Then it calls type-safe backend tools, fetches deterministic data and answers with sources attached.
In Intelligent Search, the model turns your sentence into a validated JSON schema. The backend resolves locations and runs the same filters and queries as the rest of the product. Filters it couldn't read get marked as not applied rather than guessed.
The model handles the language. The system handles the facts.
How a question becomes an answer
User question
plain language
Intent and entity resolution
address · BFE · CVR
Typed backend tool
validated schema
Registry data and SQL
deterministic
Answer with source references
traceable
Technical
- Tool-first AI agent
- SSE streaming
- Type-safe backend tools
- Source references
- Domain and privacy controls
- Conversation persistence
- Rate limits and access tiers
- PostgreSQL / PostGIS
03 · Case
AI AUTOMATION · INSURANCE WORKFLOW
From manual verification to human-in-the-loop OCR
Frame number read
Concept illustration, not a screenshot
The problem
When an insurance customer registered a bike, they uploaded images of the frame number and their documentation.
An employee opened every single case and read the number off by hand. The check mattered (it's what ties the bike to the right owner), but it was the same work over and over.
The solution
I built an event-driven OCR and vision pipeline that reads the frame number out of the image and scores how sure it is about the read.
Clear-cut cases could move straight on. Uncertain results got flagged for manual review.
The human stayed in the loop on purpose. The automation was there to move attention onto the exceptions, where somebody actually has to make a call.
The workflow
Customer uploads images
frame number + documents
OCR / vision reads the frame number
event-driven
Validation and confidence check
threshold
High confidence
The case continues through the fast path without waiting on an employee.
Uncertain result
Flagged for manual review, where a human makes the call.

And the rest of the role
As Head of AI & System Integrations I found the places in customer support and the internal processes where AI actually made sense, and built them.
In practice that meant Intercom AI, workflow automation, API integrations and product delivery across Denmark and Norway.
Earlier, as a full-stack engineer, I worked on insurance integrations, the Norwegian product launch and partners like LB Forsikring and NAF.
I no longer have access to Bikekey's internal dashboards. The screenshot is therefore the public product page, and the diagram is drawn from memory: no confidential systems, customer data or internal code.
04 · Case
Less manual bookkeeping. More control.
As a founder I ran straight into all the admin routines you accept as manual until you've done them 50 times.
So I've built scripts and agent workflows that fetch, structure and reconcile Stripe payments, refunds, fees and documentation for bookkeeping in Dinero.
The system remembers what it has already processed, keeps the basis for each calculation, and puts bookkeeping suggestions up for approval.
The win is that the same month can be run again and come out identical, and that every number traces back to its source.
Stripe
payments · refunds · fees
Local ledger and idempotency
seen before?
Validation and reconciliation
calculation basis preserved
Bookkeeping suggestion
Dinero
Human approval
final say
05 · How I work
Sometimes the answer is a small script.
I don't reach for an LLM just so the solution can be called AI-powered.
I pick tools based on reliability, speed, cost, maintenance and what a mistake costs. Some problems need an agent. Others are better solved with an API integration, SQL, a script, a queue, a CLI or a perfectly ordinary workflow.
- 01
Probabilistic interpretation, deterministic execution
Models are good at language, intent and messy input. Databases, rules and code are good at precision. The strongest systems use both.
- 02
Keep the human in the loop when mistakes are expensive
Automation should move attention onto the hard cases. Uncertainty belongs in plain sight, not tucked away.
- 03
The right model for the right job
I keep up with what the models can do month to month, and weigh capability against latency and cost. Heavy models should be used when the task demands them.
- 04
Find the bottleneck first
Before I build, I try to understand the whole process. Otherwise you just end up running a bad workflow faster.
The toolbox
Used in production or in concrete workflows
- LLM agents and tool calling
- Agent skills
- Reusable agent workflows
- MCP
- Model routing
- OCR and vision
- API integrations
- Data pipelines
- PostgreSQL / PostGIS
- Scripts and CLIs
- Zapier workflows
- Human-in-the-loop automation
06 · About me
The through-line is that I learn it on the way
I've walked into fields several times where I wasn't the obvious candidate. The recipe has been the same every time: say out loud what you don't know, then learn the rest fast.
I started in actuarial mathematics. Probability, statistics and risk set the foundation. Then I switched to business administration and information systems at CBS to get closer to software, product and business.
At the Danish Veterinary and Food Administration I worked in a legal environment without being a lawyer. At Bikekey I started out very green as a developer and ended up a full-stack engineer, then Head of AI & System Integrations.
With Datamap I took the whole trip myself: build, launch, sell.
I'm quick at investigating, asking, testing things out and getting productive in something I didn't know beforehand.

How I got here
Before CBS
Actuarial mathematics
Mathematics, probability, statistics and analytical thinking.
2023 – 2024
Danish Food Administration
Stepped into a legal, compliance-heavy field and learned what the job required.
2023 – 2025
Bikekey
From green developer to full-stack engineer and Head of AI & System Integrations.
2026 – now
Datamap
From an empty codebase to a live product with data, AI, operations and paying customers.
Next
Next chapter
Building solutions inside a company with greater operational scale, more workflows and more people who benefit from them.
SIDE NOTEA slightly odd, but true story
My first job was as an assistant badminton coach, even though I had never played badminton.
They knew. I got the youngest kids alongside an experienced coach, picked up the game as I went and did the job.
“I haven't tried that yet” has never meant the same thing as “I can't learn it”.
07 · Outside the terminal
Outside the terminal
I play guitar and spend a good part of my spare time on strength training and powerlifting.
Strength training appeals to me for the same reason software development does: small, consistent improvements compound over time into something that first looked unrealistic. It keeps body and head sharp.
I value discipline, accountability and being someone people can count on. When I say I'll take responsibility for something, nobody should have to spend energy checking whether it gets done.
Curiosity
I learn best by investigating, experimenting and building something real.
Ownership
I do well with responsibility for the whole stretch, from problem definition to operations.
Reliability
Agreements and responsibility matter. I want to be someone others can rely on.
Technological optimism
Technology should free up more room for human creativity, judgement and innovation.
Where I stand on technology
I'm fundamentally optimistic about technology and AI.
As long as the world is full of problems, we need human judgement, creativity and responsibility. To me AI is a lever that removes the repetitive work and gives people more room to analyse, decide and create.
Long term I hope to leave a small positive mark through technology. I'm still early in this, but the entrepreneurial drive and the appetite for learning aren't going anywhere.
Fluent in Danish and English · Conversational Persian
08 · Contact
Shall we build something that actually moves the needle?
Write to me if you want to talk AI, automation, product development, public data or a project that's slightly too ambitious.
martin.sh99@hotmail.com