The consultancy of Jeff Kloythanomsup, Amsterdam
AI consulting and engineering for EU startups and small businesses
I do AI consulting and AI engineering for EU teams. I put language models to work on the problems that matter, and I ship them to production.
I used to think the model was the hard part of AI work. After building a marketplace on one, I realised it's the easy part. The real work is choosing which problem deserves a model at all. Then comes getting your own data in front of it, keeping it inside guardrails, and keeping European customer data where it belongs. The question I ask first isn't what's possible but what matters to your users and your runway.
That marketplace is ThriveUp Care, which I founded and ran. Its matching runs on a retrieval pipeline over vector embeddings with Claude and OpenAI-compatible APIs. I wrapped it in a Next.js application with 200+ endpoints and a React Native app. I provisioned the AWS infrastructure underneath in Terraform. I'm also a Claude Certified Architect at the Professional level.
Reference architecture
How the pieces connect
An illustrative flow, not a diagram of a client environment.
1
Product interface
Existing apps, APIs, and user permissions.
2
Access and policy
Authentication, PII rules, and request validation.
3
Context retrieval
Approved data sources and scoped search.
4
Model gateway
Model routing, quotas, and retry controls.
5
Quality checks
Evaluations, citations, and human review.
6
Operate safely
Tracing, feedback, and continuous updates.
What's included
Retrieval over your own documents and data
I chunk, embed, and index your content. The model then answers from what you know, with citations back to the source.
Vector search and embedding pipelines in production
Not a notebook. I build a pipeline that re-embeds when data changes, on a vector store sized for your traffic.
Claude or OpenAI-compatible APIs, chosen per use case
Your code talks to one interface, so swapping models is a configuration change. Each task gets the model that earns it. Hosting in an EU region becomes a deployment choice, not a rewrite.
Agents that take real actions, with guardrails
Agents call tools in your systems with scoped permissions. A human approves the steps that matter. Every action the agent takes lands in a log.
Evaluation, so you know when it works
I build a test set from real cases and score it on every change. Quality becomes a number instead of a feeling.
The app and API around the model, not only the prompt
Authentication, billing, rate limits, observability, and the interface. That's the feature your users see and pay for. A prompt in a text box isn't a product.
Where I've done it
Every item here comes from my CV. View CV.
ThriveUp Care, Founder & CEO, 2025 to 2026
Built AI-powered companion-to-user matching on Claude and OpenAI-compatible SDKs, with a RAG pipeline over vector embeddings in Upstash Vector.
ThriveUp Care, Founder & CEO, 2025 to 2026
Shipped the product around it: a Next.js 16, React 19, and TypeScript web application with 200+ API endpoints and an Expo / React Native mobile app, versions 1.0 through 1.37 across roughly 3,000 commits, instrumented with Sentry and PostHog.
ThriveUp Care, Founder & CEO, 2025 to 2026
Provisioned its dev, staging, and production AWS environments in Terraform (ECS, Lambda, AppSync real-time GraphQL), backed by PostgreSQL, Upstash Redis, Clerk authentication, and Stripe Connect payments.
Senior Delivery Engineer, managed cloud provider, 2020 to 2021
Converted a major airline's legacy Python fare-management codebase into AWS Glue jobs powering real-time fare prediction, cutting processing time by 90%.
Anthropic, 2026
Claude Certified Architect, Professional.
Tools I reach for
Claude API, OpenAI-compatible SDKs and APIs, RAG pipelines, Vector embeddings (Upstash Vector), PostgreSQL, Redis, TypeScript, Python, Next.js / React, React Native, Node.js, AWS Lambda, ECS, and AppSync, Sentry, PostHog.
Guides on this
The EU AI Act for startups building with models
How the EU AI Act sorts AI systems into risk tiers, which tier your product is likely in, when the rules apply, and what they mean for the way a team builds.
The GDPR for startups running a cloud platform
What the GDPR asks of a startup's cloud platform in engineering terms: controller or processor, the records to keep, and the controls that prove it.
Keeping data in the EU on AWS, Azure, and Google Cloud
How to keep customer data in EU regions on AWS, Azure, and Google Cloud, what still leaves, and the controls that prove it to a customer or auditor.
Setting up an AI-assisted development workflow
My AI engineering workflow for a team: how I set up Claude Code, Codex, and similar agents with instruction files, retrieval, shared memory, and code review.
Securing AI-generated applications in the public cloud
What changes when an agent writes the code: the new attack paths, the controls that close them on AWS, Azure, and Google Cloud, and the EU reporting clock.
Other services
Cloud migration
I move teams onto AWS, Azure, or Google Cloud, or out of a setup they've outgrown. I map every dependency before anything moves.
Read morePlatform engineering
I do cloud engineering on the platform you already run. I make it calmer, cheaper, and understood by more than one person on the team.
Read moreCloud security hardening
I find the gaps in your cloud accounts, identity, network, and data, rank them by what an attacker reaches first, and close them with your team.
Read moreAI-built app security review
I review the app your AI coding agent wrote, from secrets and sign-in to the cloud account behind it, and rank what to fix first. From €500.
Read moreFractional cloud leadership
Cloud architecture and a senior cloud lead on a fixed monthly retainer, long before a full-time cloud team makes sense.
Read moreCommon questions
- Which language models do you build on?
- Claude and OpenAI-compatible APIs, behind one interface in your code. That makes swapping models a configuration change. I'm a Claude Certified Architect at the Professional level.
- Can our customer data stay in the EU?
- Yes. In the designs I ship, hosting in an EU region is a deployment choice. Retrieval pipelines run over your own data, in your own accounts.
- What is retrieval-augmented generation, and do we need it?
- RAG puts your own documents and data in front of the model at question time, with citations back to the source. The model answers from what you know, not only from its training data. Whether a team needs it comes down to one variable: do the answers depend on its own content? If a well-written prompt already does the job, RAG adds cost without much gain. So it depends.
- How do we know the AI feature works before it goes live?
- I build an evaluation set from real cases and score it on every change. Quality becomes a number before anyone outside the team sees the feature.
Let's talk.
A 30-minute call, no pitch. We look at your current setup, your stage, and the thing that's bothering you about it. I give a straight opinion on what to change, what to leave alone, and whether the problem is the one it looks like. What's the one thing in your stack you'd fix tomorrow?
Prefer email or phone? hello@netninjas.eu or +31 6 45984313
