Work

AI systems we've designed and built.

Recent AI projects in detail, followed by the production engineering that came before them.

Electrical components distributor

AI product data platform for 500,000 technical products

A PIM, AI enrichment and hybrid search platform around Dynamics 365 Business Central that classifies, describes and makes half a million electrical products searchable.

products searchable
~500K
ETIM accuracy
90.7%
embedding latency
20–50 ms
challenge
Product data arrived from the ERP, manufacturer sites and PDF datasheets in inconsistent shape. Every product needed an ETIM classification, a standardized short description and features accurate enough for the webshops to sell from. At this scale, doing it by hand is impossible.
approach
A LangGraph workflow enriches each product: Gemini reads the product image, hybrid retrieval over the ETIM standard with Cohere reranking and a Gemini tiebreaker picks the class, and datasheet extraction fills in the features. Durable Functions push the result back into Business Central and keep search dictionaries and embeddings fresh. Search is Elasticsearch 9, fusing BM25 and vector results with RRF on top of a self-hosted BGE-M3 embedding service running on bare metal with OpenVINO INT8. Gemini models are fine-tuned on the platform's own production data through Vertex AI.
outcome
Around 500,000 products are indexed and searchable, ETIM classification runs at 90.7% accuracy against a curated 140-product ground truth, and the self-hosted embedding tier answers in 20–50 ms at roughly a tenth of the cost of managed cloud inference. An MCP server and a Copilot Studio agent for web, WhatsApp and SMS are in progress.
  • Python
  • LangGraph
  • FastAPI
  • Gemini / Vertex AI
  • Cohere Rerank
  • BGE-M3 + OpenVINO
  • Elasticsearch 9
  • .NET 8 Durable Functions
  • Azure Container Apps
  • Cosmos DB
  • Redis
  • Go
  • MCP
Transport and logistics companyIn progress

Croatian voice agent for delivery drivers

A hands-free assistant that lets drivers ask about their route and report arrivals and deliveries by speaking Croatian, without touching the phone.

challenge
Drivers cannot tap through a delivery app while driving. Croatian makes it harder: no open-source speech model ships the language at all, and general models get the grammar and diacritics wrong often enough to sound broken.
approach
A cascade pipeline on LiveKit Agents — speech recognition, then an LLM, then speech synthesis — with seven tools that call the delivery API directly, so the agent can read out the route and record stops by voice. Every API response is turned into short spoken Croatian before the model sees it, so it cannot guess a delivery status from a raw status code. Nine speech and voice combinations can be switched per session, which means voices and architectures are compared on real calls instead of on paper.
outcome
In pilot: drivers ask about the route and report stops entirely by voice. An automated gate checks on every build that Croatian phrases still reach the right tool, and write actions can be locked off for test sessions.
  • Python
  • LiveKit Agents
  • Soniox STT
  • Mistral
  • Gemini
  • Azure / Cartesia / ElevenLabs TTS
  • FastAPI
  • WebRTC
  • Docker
MVP for a marketplace startup

An AI-built marketplace for summer camps

A four-month MVP: crawling, scraping and LLM extraction that turn thousands of scattered camp websites into one structured, searchable marketplace.

challenge
Camp information was spread across inconsistent websites with no common format. The startup needed an MVP within four months that could collect it all and make it searchable.
approach
A data service crawls and scrapes camp sites, Azure OpenAI extracts and structures the details, and Azure AI Search makes them searchable. Parents and camp owners each get their own web app on a shared API.
outcome
The MVP shipped on schedule: parents find camps in one place, and camp owners manage their listings on a single platform instead of chasing directories.
  • Python
  • Scrapy
  • Azure OpenAI
  • Azure AI Search
  • C# / .NET
  • Vue.js
  • Azure

Engineering track record

The engineering underneath.

AI only works on top of solid software. Before and alongside it, we've built and rescued production systems like these.

  • Electronic proof of delivery

    Global transport and logistics company

    A cloud platform and driver app that capture delivery documents with scanning and computer-vision OCR. Lost PODs dropped to zero and delivery errors fell by 70%.

    .NETVue.jsPostgreSQLAzure Document IntelligenceAzure Computer Vision Visit
  • Virtual meeting license platform

    Global enterprise

    One scheduling app that pools Zoom and Google Meet licenses across the organization, cutting license spend from about $50,000 to $2,000 a month.

    .NETVue.jsAzure FunctionsAzure WebJobsAzure SQL
  • Core system modernization and Azure migration

    Major business organization

    An unstable legacy system moved from VMs to Azure App Services, SQL Managed Instance and microservices on AKS, with fully automated deployments.

    .NETJavaVue.jsAKSAzure SQLAzure Data FactoryAzure DevOps
  • Stabilizing an acquired fintech system

    International fintech company

    CI/CD, job automation, a move to Amazon RDS and central logging turned a fragile, manual system into one a small team could run until it was merged into the core platform.

    JavaSpringVaadinJobRunrAWSJenkins Visit
  • Smart farming operations platform

    Agri-tech lighting and sensor company

    Crop cycles, sensor data and harvest planning in one web app, with Power BI analytics. Built together with a partner company.

    .NETAngularAzure SQLPower BI Visit

Have something similar in mind?

Start a project