I build and run agentic AI in production, and in development, demonstrably.
Who I Am
Where the judgement comes from
Fifteen years of building software, mentoring the developers around me and sitting in the
room with the client — the technical and the commercial halves of the same conversation. With LLMs that
mostly turns into judgement: knowing when a model is a genuine multiplier, and when the prompting, evals and
glue code will cost more than the feature was ever worth. Underneath sits the detail — each provider's models
and their failure modes, harness design, prompt and context engineering, skills, remote and hosted MCP
servers, tool calling.
Role
Lead full-stack developer · AI engineer
Based
Vantaa, Finland
Education
BSc, Electrical & Electronics Engineering — Aalto University
Agentic AI across the whole chain — in my own pipeline and in clients' production
infrastructure. Real LLM features, real users.
Shipped LLM products
GlobalLegalCheck's contract interpreter and Easywaste's Gemini-powered invoice
engine — both live, in front of real users.
Private, self-hosted inference
An OpenAI-compatible endpoint on my own VPS — the API clients expect, but data
never leaves EU, self-hosted infrastructure. GDPR- and EU AI Act-aligned by design.
RAG, MCP & agents
A Qdrant embedding and reranking pipeline for grounded retrieval, plus custom MCP
servers and agentic pipelines (Claude Code, LangGraph) woven through CI/CD.
In clients' infrastructure
OpenAI and Anthropic models with streaming and function calling on the Vercel AI
SDK — built into clients' production apps.
Selected Work
Production Implementations
A cross-section — shipped products, open source, and the experiments in between.
№ 01 — 2026– · Product · CTO
GlobalLegalCheck
AI-native legal-compliance SaaS — contract interpreter, e-signing and lifecycle
management. As CTO, own end-to-end architecture on a self-managed Docker/Traefik/Postgres stack, achieving zero cloud-platform lock-in and optimized resource utilization.
An AI-powered waste-management platform — invoice analysis, automated tendering,
multi-tenant architecture and CSRD compliance. Architected and built solo.
The Finnish National Audiovisual Institute's film archive — codebase overhaul, a new
interface and captioned video streaming, scoped and reviewed in direct conversation
with KAVI's own archive staff rather than through an account manager.
Veterinary practice-management SaaS serving multinational clientele — joined as the
company's first front-end developer, building a form-builder tool and real-time
WebSocket chat on a multi-tenant architecture.
Lead full-stack engineer. I build and ship AI products end to end — the LLM
pipeline, the app, and the infrastructure underneath. Front-to-back since 2011; the last stretch spent putting
agentic AI into production, for my own work and for clients.
Professional experience
Present
CTO & Principal EngineerGlobalLegalCheck
CTO and principal engineer leading technical strategy and hands-on
development of an AI-native legal-compliance SaaS, running entirely on a self-managed VPS with
zero cloud-platform dependency.
Own the architecture end to end — a three-repo codebase (Docker, the Next.js 16 /
React 19 app, a Payload CMS site), CI/CD and delivery — co-developed with Claude.
Built the AI contract interpreter — clause extraction, risk scoring, key-date and missing-clause
checks — reducing manual review time by approximately 70% via a private OpenAI-compatible endpoint and a Qdrant embedding and reranking pipeline.
Multi-tenant data model with audit logging, OAuth/SSO and SSE-streamed analysis; GDPR- and EU AI
Act-aligned by keeping inference and data on EU, self-hosted infrastructure.
Freelance Web Designer & DeveloperHummingbird Design (Tmi)
An independent practice run continuously alongside employment — the studio
behind the Hummingbird Design and MONO design systems.
Worked in the practice full time between Easywaste and GlobalLegalCheck — a project-partitioned
RAG system and Claude Code plugin, self-hosted LLM infrastructure, and the design systems since
carried into production work.
Delivered numerous client sites and web apps end to end — including custom course-enrolment
software and social-media integrations.
Built with PHP, jQuery, WordPress, Django and MySQL.
Full-Stack DeveloperEasywaste Oy & Freelancing
Rebuilt Easywaste's digital waste-management platform on Next.js, starting as
sole developer, with a Gemini-powered AI invoice-analysis engine.
Led the full-stack reconstruction of the platform from a legacy v1 onto a modern Next.js 14 / RSC /
Supabase / Vercel stack, improving load times and developer velocity.
Built a Gemini-powered invoice-analysis engine — multimodal extraction, Finnish Finvoice/Peppol
XML parsing and custom OCR, reducing manual data entry by 80% through a 4-phase pipeline with NDJSON streaming.
Shipped the business logic — automated tendering with algorithmic commission pricing, subscription
billing and CSRD reporting — plus freelance AI features for clients (OpenAI and Claude, function
calling).
Software ConsultantHiQ Finland
Full-stack consultant leading front-end architecture on international
projects, and a contributor to the Helsinki Design System.
Led front-end architecture on European-market projects serving over 100k+ users with React, TypeScript and
GraphQL.
Contributed development and accessibility (WCAG 2.1) fixes to the Helsinki Design System, named
Best Design System at Grand One 2023.
Guided teams on scalable front-end patterns and gave internal front-end lectures.
Front-End DeveloperNordhealth
Front-end lead on healthcare triage products, building robust React /
TypeScript apps with GraphQL and Django / Node back-ends — in direct contact with the
clients using them.
Led front-end architecture on healthcare triage products for international clients, reducing triage processing time by 30% across 5+ core medical products.
Ran client communication first-hand — gathered requirements, demoed builds and took
feedback straight from customers such as the veterinary group Evidensia and the Finnish
National Audiovisual Institute (KAVI), with no account manager in between.
Built with React, TypeScript and GraphQL over Django/Django REST and Node/Express, on PostgreSQL
and MySQL.
Project history
GlobalLegalCheck
Architected and built solo an AI-native legal-compliance SaaS — an LLM contract interpreter with
clause extraction, risk scoring, key-date detection and missing-clause checks, backed by a private
OpenAI-compatible endpoint and a Qdrant embedding and reranking pipeline.
Stood up the entire stack on a single self-managed €10/month Hetzner VPS — Docker Compose, Traefik
+ Let's Encrypt, Postgres 16 / Drizzle, MinIO, self-hosted Documenso e-signing and Umami analytics —
with zero AWS / GCP / Azure dependency.
Designed a multi-tenant, organisation-scoped data model with audit logging, OAuth/SSO (Google,
Microsoft Entra), SSE-streamed analysis, and custom MCP servers for VPS / deploy and CMS tooling —
GDPR- and EU AI Act-aligned by keeping inference and data on EU, self-hosted infrastructure.
Easywaste Digital Waste-Management Platform
Architected and built from the ground up a comprehensive AI-powered invoice-processing system
integrating the Google Gemini API, Finvoice/Peppol XML parsing, and custom OCR for automated
waste-fraction categorisation and cost calculation.
Developed a complete business platform — an automated tendering engine with algorithmic commission
pricing, contract management, equipment tracking, subscription billing, and CSRD compliance
reporting — using Next.js 14, TypeScript, Supabase, and Vercel.
Implemented a 4-phase extraction pipeline with async batch processing, NDJSON streaming,
intelligent fallback detection with Finnish/English keyword mappings, and comprehensive
weight/amount estimation algorithms.
Modern AI-Powered Freelance Projects
Delivered modern web applications with AI capabilities — OpenAI and Anthropic Claude, streaming
multimodal responses and function calling.
Architected full-stack solutions using Next.js 15, React 19, Supabase, serverless edge functions,
and comprehensive infrastructure including DNS, SSL/TLS, CDN optimisation, and cloud architecture.
Helsinki Design System
Contributed to the City of Helsinki's design system — named Best Design System at Grand One
2023 — building accessible (WCAG 2.1) components in TypeScript, React and GraphQL.
Telia B2B E-Commerce
Participated in the development of a microservice-based B2B webstore, using TypeScript, React,
and GraphQL.
HiQ's Internal E-Commerce Triage
Architected and implemented front-end solutions for an e-commerce service using TypeScript, React,
and GraphQL.
Wattivahti
Developed features for a real-time electricity-consumption monitoring app using React, Redux, and
Express.js.
Navisec Health
Owned the application architecture — component and state design, API contracts against Django
REST, and the real-time layer — and implemented notable features including a Form Builder tool
and websocket chat using Django REST, React, and Redux.
Back-end development with Django REST, high-quality ORMs, PostgreSQL, and Google Cloud
Platform.
Viivi Health
Owned the architecture of both the mobile and web applications for a veterinarian
video-reception triage service — shared domain model, API design and the booking flow — and
implemented them using React Native, React, and Express.js.
Included a real-time reservation system with Stripe integration on Google Cloud Platform.
Worked directly with the customer throughout — the veterinary clinics adopting the service,
Evidensia among them — turning their reception workflows into product requirements.
Provet Cloud
Contributed to agile development for multinational clientele as the first front-end developer for
the company, implementing features such as a form-builder tool and websocket chat using React,
Redux, Django, Django REST, and multi-tenant PostgreSQL.
Spoke directly with the clinics running the product — including the veterinary group
Evidensia — gathering requirements and demoing releases to their staff myself.
KAVI Elonet
Overhauled the Finnish National Audiovisual Institute movie-archive web application
(elonet.fi) and designed a new interface for it.
Implemented video streaming with captions using PHP and Finna.
Worked directly with the customer throughout — agreed scope and interface decisions face to face
with KAVI's archive staff, acting as the single point of contact for the institute.
Freelancing Projects
Tens of website-development projects and multiple web-application implementations. Clients
included Suomen Talousverkko, Tuusulan seurakunta, Nurmijärven seurakunta, UP Suomi Oy, Villa
Tammikko, and others.
Notable features: custom course-enrolment software with live enrolment and multiple social-media
integrations.
Project-Partitioned RAG System & Claude Code Plugin
Designed and built an open-source, project-partitioned retrieval-augmented generation system
packaged as a Claude Code plugin — FastMCP server, CLI, embedding index with cross-encoder
reranking, browser-based viewer, and an automated test suite.
Integrated into Claude Code, Claude Desktop, and OpenCode, using Python, FastMCP, the Model
Context Protocol, and TypeScript.
Self-Hosted Autonomous AI Infrastructure
Provisioned and operate self-hosted LLM infrastructure on Linux VPS and ARM64 cloud instances —
remote RAG SQL endpoints and an OpenAI-compatible local LLM query API, built on Ollama,
llama.cpp, and Node.js.
Design Systems & Creative Front-End
Author and maintain personal design systems (Hummingbird Design, MONO) applied across web,
Electron desktop, and Android (Jetpack Compose) applications — token architectures and
hand-written CSS with zero utility-framework dependencies.
Built advanced WebGL/Three.js experiences — procedural 3D generation, vertex and fragment
shaders, custom post-processing chains (depth of field, god rays, CRT), and real-time audio
visualisation with the Web Audio API.
Publish and maintain the shared ESLint configuration @tuomashatakka/eslint-config on npm.
I architect and ship production AI products end to end. As CTO at GlobalLegalCheck, an LLM
contract interpreter over a self-hosted, OpenAI-compatible model with Qdrant retrieval. At
Easywaste, a Gemini-powered invoice engine in front of real users. Custom MCP servers and agentic
pipelines speed the work daily.
LLM pipelines · agents · self-hosted infra · MCP
№ 02 — Discipline
Front-End & Design Systems
A decade leading front-end architecture for multinational products, and a contributor at HiQ to the
Helsinki Design System, named Best Design System at Grand One 2023. I build component systems
people actually want to use; an accessible date picker seen 18k+ times on CodePen carries the same
craft.
design systems · accessibility · React · TypeScript
№ 03 — Discipline
Creative Coding, Audio & Art
Where engineering meets art: Audioblocks for cross-DAW collaborative music
production, a native Electron music player, gesture-controlled instruments driven by computer vision,
and real-time GLSL shader work. Photographer and audio engineer by instinct, digital artist by
habit.
WebGL · audio · creative tech
How I Work
Build · Design · Direct
Three things I do, distilled into three plain promises.
Build
Full-stack products with AI pipelines, multi-tenant data and the whole infra spine —
DNS, SSL/TLS, CDN, edge functions and CI/CD.
Design
Design systems, UI/UX prototyping for web and mobile, and WCAG-grade accessibility —
tokens, components and documentation that scale.
Direct
Lead architecture, mentoring and internal lectures across multinational teams — with
a track record since 2011.
Open Source & Experiments
Repositories & pens
Tools, plugins and studies — the public GitHub and CodePen output behind the products
above.
Open Source
Tween MIDI Editor
A browser-based MIDI editor with piano-roll sequencing, timing controls and an
interface built for quick musical sketching.