Spring til indhold

FOUNDER · AI & AUTOMATION · FULL-STACK

Jeg bygger software til de arbejdsgange, folk stadig laver i hånden.

Jeg hedder Martin Shakib. Jeg står bag Datamap, og før det var jeg Head of AI & System Integrations hos Bikekey. Jeg arbejder hele vejen rundt: proces, data, backend, AI, produkt og drift.

Det, jeg er bedst til, er at grave i, hvad der reelt skal løses, lære det nødvendige hurtigt og trække løsningen hele vejen fra uklar idé til noget, der kører i produktion.

Datamap: ejendomsside for Novo Alle 1 med ejendomsresumé, nøgletal og matrikel tegnet på kortet
Idé → betalende kunder
Datamap bygget og lanceret
~3 mio. ejendomme
Geospatialt dataindeks
AI · OCR · workflows
Automatisering i produktion
DK & NO
Produktionserfaring

01 · Show and tell

Fire minutter med produktet åbent.

Jeg klikker rundt i Datamap, viser hvordan AI-laget henter tal ud af registrene i stedet for at digte dem, og gennemgår OCR-pipelinen fra Bikekey. Den sidste er jeg ret stolt af.

Det gennemgår jeg

  • 01Datamap live: søgning, ejendomsvisning, kort og registre, områdeanalyse og AI-assistenten med dens kilder.
  • 02Hvorfor modellen aldrig får lov at være sandhedskilden, og hvordan typesikrede backend-tools leverer de faktiske tal.
  • 03Den eventdrevne OCR- og visionpipeline fra Bikekey, og hvorfor mennesket blev i loopet.
  • 04Hvordan jeg vælger værktøj: hvornår det skal være en agent, og hvornår et script gør arbejdet bedre.

Videoen er på vej

Optagelsen lander her, med undertekster og et kort resumé nedenunder. Indtil da fortæller casene herunder det samme, bare på skrift.

UNDER UDVIKLING

02 · Case

FLAGSHIP PROJECT · LIVE PRODUCTION

Datamap: offentlige data gjort brugbare

Danske ejendomsdata ligger spredt over en håndfuld registre, hver med sit eget format og sin egen vej ind. Datamap trækker dem sammen i ét kortbaseret workspace, hvor du kan søge, analysere og spørge på almindeligt dansk.

datamap.dk ↗

Min rolle

Jeg har bygget og lanceret platformen selv: produkt, data engineering, backend, AI, infrastruktur, betalinger og salg.

Datamap: ejendomssøgning med filtre til venstre og resultater plottet som punkter på kortet
Ejendomssøgning: filtre oversat til et kortudsnit med 1.717 træffere
Datamap: fanen Tingbogen med adkomster, servitutter og ejerfortegnelse side om side
Tingbogen og EJF vist samlet, så juridiske data og ejerdata kan sammenlignes

Dataplatformen

Fra fragmenterede registre til ét sammenhængende datalag.

~3.000.000danske ejendomme i indekset

Jeg byggede versionsbevidste ETL- og sync-flows fra de officielle datakilder ind i PostgreSQL/PostGIS. Indekset dækker omkring 3 millioner danske ejendomme, søgbart og geospatialt.

Opdateringer valideres, før de går live. Pipelinen kan delta-synce, spore hvor et felt kommer fra, og rulle tilbage, så ingen træffer beslutninger på et halvt indlæst datasæt.

Produktet

Ejendomme, adresser, bygninger, matrikler, ejerforhold, virksomheder, vurderinger og geografiske lag hænger sammen i de samme visninger.

Oven på datalaget ligger søgning, kortværktøjer, områdeanalyse, rapporter, API-adgang, abonnementer, adgangsstyring og drift.

AI, der ikke gætter

AI fortolker. SQL leverer.

Folk træffer dyre beslutninger på de her tal. Så modellen fik aldrig lov at være sandhedskilden.

Assistenten finder først den rigtige adresse, ejendom, virksomhed eller person. Derefter kalder den typesikrede backend-tools, henter deterministiske data og svarer med kilder på.

I Intelligent Søgning oversætter modellen din danske sætning til et valideret JSON-skema. Backend slår lokationer op og kører de samme filtre og forespørgsler som resten af produktet. Filtre, den ikke kunne tyde, bliver markeret som ikke anvendt i stedet for gættet.

Modellen håndterer sproget. Systemet håndterer fakta.

Sådan bliver et spørgsmål til et svar

  1. Brugerens spørgsmål

    naturligt dansk

  2. Intent og entity resolution

    adresse · BFE · CVR

  3. Typed backend-tool

    valideret skema

  4. Registerdata og SQL

    deterministisk

  5. Svar med kildehenvisninger

    sporbart

Teknisk

  • Tool-first AI-agent
  • SSE-streaming
  • Typesikrede backend-tools
  • Kildehenvisninger
  • Domain- og privacy-controls
  • Samtalepersistens
  • Rate limits og adgangsniveauer
  • PostgreSQL / PostGIS

03 · Case

AI AUTOMATION · INSURANCE WORKFLOW

Fra manuel verificering til human-in-the-loop OCR

Aflæst stelnummer

WBK72941180
Konfidens0.94

Konceptillustration, ikke et screenshot

Problemet

Når en forsikringskunde registrerede sin cykel, uploadede de billeder af stelnummeret og dokumentationen.

En medarbejder åbnede hver eneste sag og læste nummeret af i hånden. Kontrollen gav mening (det er den, der binder cyklen til den rigtige ejer), men det var det samme arbejde igen og igen.

Løsningen

Jeg byggede en eventdrevet OCR- og visionpipeline, der læser stelnummeret ud af billedet og selv vurderer, hvor sikker den er på aflæsningen.

Klare sager kunne køre videre med det samme. Usikre resultater blev flaget til manuel gennemgang.

Mennesket blev bevidst i loopet. Automatiseringen skulle flytte opmærksomheden hen på undtagelserne, hvor der faktisk skal træffes en vurdering.

Workflowet

  1. Kunden uploader billeder

    stelnummer + dokumentation

  2. OCR / vision udlæser stelnummer

    eventdrevet

  3. Validering og confidence check

    tærskel

  4. Høj sikkerhed

    Sagen fortsætter i det hurtige flow uden at vente på en medarbejder.

    Usikkert resultat

    Flages til manuel review, hvor et menneske træffer afgørelsen.

Bikekeys forside med overskriften “Gør din cykel tryg med en søgbar cykelnummerplade” og en liste over funktioner
Bikekeys produktside. Cyklen bindes til ejeren med MitID og en synlig nummerplade.

Og resten af rollen

Som Head of AI & System Integrations fandt jeg de steder i kundesupport og de interne processer, hvor AI faktisk gav mening, og byggede dem.

Konkret betød det Intercom AI, workflowautomatiseringer, API-integrationer og produktleverancer på tværs af Danmark og Norge.

Tidligere, som full-stack engineer, arbejdede jeg med forsikringsintegrationer, den norske produktlancering og partnere som LB Forsikring og NAF.

Jeg har ikke længere adgang til Bikekeys interne dashboards. Skærmbilledet er derfor den offentlige produktside, og diagrammet er tegnet fra hukommelsen: ingen fortrolige systemer, kundedata eller intern kode.

04 · Case

INTERNAL TOOL · HUMAN-IN-THE-LOOPUNDER UDVIKLING

Mindre manuelt regnskabsarbejde. Mere kontrol.

Som founder løb jeg selv ind i alle de administrative rutiner, man accepterer som manuelle, indtil man har lavet dem 50 gange.

Så jeg har bygget scripts og agent-workflows, der henter, strukturerer og afstemmer Stripe-betalinger, refunds, gebyrer og dokumentation til bogføring i Dinero.

Systemet husker, hvad der er behandlet før, gemmer beregningsgrundlaget og lægger bogføringsforslag frem til godkendelse.

Gevinsten ligger i, at samme måned kan køres igennem igen og komme ud ens, og at hvert tal kan spores tilbage til sin kilde.

  1. Stripe

    betalinger · refunds · gebyrer

  2. Lokal ledger og idempotens

    hvad er set før?

  3. Validering og afstemning

    beregningsgrundlag bevares

  4. Bogføringsforslag

    Dinero

  5. Menneskelig godkendelse

    sidste ord

05 · Min tilgang

Nogle gange er svaret et lille script.

Jeg griber ikke ud efter en LLM, bare fordi løsningen så kan kaldes AI-baseret.

Jeg vælger værktøj ud fra pålidelighed, hastighed, pris, vedligeholdelse og hvad en fejl koster. Nogle problemer kræver en agent. Andre løses bedre med en API-integration, SQL, et script, en kø, en CLI eller et helt almindeligt workflow.

  1. 01

    Probabilistisk fortolkning, deterministisk udførelse

    Modeller er gode til sprog, intention og rodede inputs. Databaser, regler og kode er gode til præcision. De stærkeste systemer bruger begge dele.

  2. 02

    Mennesket bliver i loopet, når fejl er dyre

    Automatisering skal flytte opmærksomheden hen på de svære sager. Usikkerhed skal vises frem, ikke pakkes væk.

  3. 03

    Den rette model til den rette opgave

    Jeg følger med i, hvad modellerne kan fra måned til måned, og vejer evne op mod latency og pris. Tunge modeller skal bruges, når opgaven kræver dem.

  4. 04

    Find flaskehalsen først

    Før jeg bygger, prøver jeg at forstå hele processen. Ellers ender man bare med at køre en dårlig arbejdsgang hurtigere.

Værktøjskassen

Brugt i produktion eller konkrete workflows

  • LLM-agenter og tool-calling
  • OCR og vision
  • API-integrationer
  • Zapier-workflows
  • Scripts og CLI’er
  • Datapipelines
  • PostgreSQL / PostGIS
  • Human-in-the-loop automation

Prototyper og eksperimenter

  • MCP
  • Agent skills
  • Model routing
  • n8n
  • Genanvendelige agent-workflows

06 · Om mig

Den røde tråd er, at jeg lærer det undervejs

Jeg er flere gange gået ind i felter, hvor jeg ikke var den oplagte kandidat. Opskriften har været den samme hver gang: sig højt, hvad du ikke ved, og lær så resten hurtigt.

Jeg startede på forsikringsmatematik. Sandsynlighedsregning, statistik og risiko satte fundamentet. Så skiftede jeg til erhvervsøkonomi og IT på CBS for at komme tættere på software, produkt og forretning.

Hos Fødevarestyrelsen arbejdede jeg i et juridisk miljø uden selv at være jurist. Hos Bikekey startede jeg meget grøn som udvikler og endte som full-stack engineer og senere Head of AI & System Integrations.

Med Datamap tog jeg så hele turen selv: bygge, lancere, sælge.

Jeg er hurtig til at undersøge, spørge, prøve af og blive produktiv i noget, jeg ikke kendte i forvejen.

Portræt af Martin Shakib
Martin Shakib · København

Vejen hertil

  1. Før CBS

    Forsikringsmatematik

    Matematik, sandsynlighed, statistik og analytisk tænkning.

  2. 2023 – 2024

    Fødevarestyrelsen

    Trådte ind i et juridisk og compliance-tungt fagmiljø og lærte det, opgaven krævede.

  3. 2023 – 2025

    Bikekey

    Fra grøn udvikler til full-stack engineer og Head of AI & System Integrations.

  4. 2026 – nu

    Datamap

    Fra tom kodebase til live produkt med data, AI, drift og betalende kunder.

  5. Næste

    Næste kapitel

    Bygge løsninger i en virksomhed med større operationel skala, flere workflows og flere mennesker, der kan få gavn af dem.

SIDEBEMÆRKNINGEn lidt mærkelig, men sand historie

Mit første job var som assisterende badmintontræner, selv om jeg aldrig havde spillet badminton.

De vidste det godt. Jeg fik ansvaret for de yngste børn sammen med en erfaren træner, lærte spillet undervejs og løste opgaven.

“Det har jeg ikke prøvet endnu” har aldrig betydet det samme som “det kan jeg ikke lære”.

07 · Uden for terminalen

Uden for terminalen

Jeg spiller guitar og bruger en stor del af min fritid på styrketræning og styrkeløft.

Styrketræning tiltaler mig af samme grund som softwareudvikling: små, konsistente forbedringer bliver over tid til noget, der først virkede urealistisk. Det holder både krop og hoved skarpt.

Jeg værdsætter disciplin, ansvarlighed og det at være til at regne med. Når jeg siger, jeg tager ansvar for noget, skal andre ikke bruge energi på at tjekke, om det bliver gjort.

  • Nysgerrighed

    Jeg lærer bedst ved at undersøge, eksperimentere og bygge noget virkeligt.

  • Ejerskab

    Jeg trives med ansvar for hele strækningen, fra problemformulering til drift.

  • Pålidelighed

    Aftaler og ansvar betyder noget. Jeg vil være en, andre kan regne med.

  • Teknologisk optimisme

    Teknologi bør frigøre mere plads til menneskelig kreativitet, dømmekraft og innovation.

Teknologisk grundholdning

Jeg er grundlæggende optimistisk omkring teknologi og AI.

Så længe verden er fuld af problemer, er der brug for menneskelig dømmekraft, kreativitet og ansvar. AI er for mig en løftestang, der kan fjerne det repetitive og give folk mere plads til at analysere, beslutte og skabe.

På lang sigt håber jeg at efterlade et lille positivt aftryk gennem teknologi. Jeg er stadig tidligt i det her, men iværksætterånden og lysten til at lære forsvinder ikke.

Dansk og engelsk flydende · Persisk på samtaleniveau

08 · Kontakt

Skal vi bygge noget, der faktisk flytter noget?

Skriv, hvis du vil snakke AI, automatisering, produktudvikling, offentlige data eller et projekt, der er lidt for ambitiøst.

martin.sh99@hotmail.com