Projects

What's already running

A selection of systems I've built and handed over. For each one you get the problem, the solution and a concrete result — no marketing fluff.

Client project · in production

AI chatbot for an education platform

Answers parents 24/7 and matches them with the right branch out of 120 partner schools.

The problem

Parents kept asking the same things — where the club runs, when it starts, whether there's a free spot. Answers were written by hand, and outside office hours people waited a day.

What I built
  • A chatbot embedded directly into the client's website
  • Connected to a database of 120 partner schools
  • Finds the right branch from the location in the question
  • Abuse protection — request limit per visitor
GPT-4o miniJavaScriptServerless
The result
120schools in the database
24/7availability
0waiting for an answer
Assistant
● online
Hello! How can I help you?
Do you have a club anywhere in the north of the city?
Yes — there are three branches there. The closest one has free spots on Tuesday from 4 PM. Shall I send you the details?
Type your question…
Client project · in production

Invoice and contract processing automation

Reads incoming mail, identifies the document type and the supplier, and prepares the payment order.

The problem

Invoices, contracts and ordinary correspondence all landed in one inbox. Everything was sorted by hand, retyped into banking software and watched so nothing slipped through.

What I built
  • Document type recognition — invoice, contract, other
  • Supplier identification and matching to the right company
  • Automatic generation of the payment order
  • Handled mail gets labelled straight in the inbox
  • Telegram alerts for items that need a human look
PythonIMAPOCRBanking APIVPS
The result
99%document type accuracy
98%supplier accuracy
0manual retyping
Client project

AI autoresponder for an e-mail inbox

Prepares a draft reply in the client's own voice. A human always presses send.

The problem

Most incoming questions repeat, but the answer has to sound like a specific person — not a template. Writing them took hours every week.

What I built
  • Connection to the mailbox over IMAP
  • Learns the tone from previously sent mail (RAG)
  • The generated draft waits in a folder, ready to send
  • Handled e-mails get labelled automatically
PythonIMAPRAGLLM
Why a draft, not an automatic reply

Nothing ever goes out in the client's name without them knowing. The system saves the writing, but the final word is always human.

Incoming e-mail customer question Recognition what it's about Draft reply in the client's voice Review by a human Sent by a human The core rule AI prepares — a human approves and sends
Client project · in production

Matching bank payments into a spreadsheet

Reads statements from four accounts, matches each payment to a specific participant and writes it to the right sheet — with no payment reference numbers to go on.

The problem

Payments arrived across four accounts at three different banks and were logged by hand into a shared spreadsheet with dozens of tabs. The catch: the payments carry no reference numbers, and the payer is often named differently from the participant — a parent pays for a child, a grandparent for a grandchild. Matching them meant reading the note on every single payment.

What I built
  • Reading and parsing statements from three banks
  • Extracting the payer, amount, date and payment note
  • Matching against the participant roster — by name, by note, or both combined
  • Finding the right tab out of dozens and writing to the right row
  • A confidence score on every match; uncertain cases go to review
  • Detection of duplicates and payments that don't belong in the records
PythonGoogle Sheets APILLMPDF parsingVPS
The result
323payments in the test run
64tabs written to
13%left for review
Statements 4 accounts · 3 banks Matching name + note Spreadsheet right tab and row EXAMPLE Payment from: Jane Smith · 2,200 CZK Note: "Tom Baker 2.A" tab "Riverside School" → row Tom Baker The payer is often named differently from the participant
Client project · in progress

A personal AI agent running locally at the client

Handles mail, watches listings and carries out tasks sent as a message — all of it on the client's own machine, not in the cloud.

The problem

The client needed an assistant for routine work but didn't want their mail, documents and personal data travelling to a third party's servers. That ruled out the usual cloud tools.

What I'm building
  • Orchestration in n8n and a Python core — both on the client's machine
  • Controlled by an ordinary message, no new interface to learn
  • Reads and sorts mail, prepares draft replies
  • Works with files only inside defined folders (safety whitelist)
  • Watches for new listings matching set criteria
  • An adaptive layer — the agent gradually builds its own knowledge base
Pythonn8nSQLiteIMAP/SMTPWindows services
Status

The core and individual modules are finished and run as auto-starting services. Deployment and tuning at the client are currently under way.

A message request "find out…", "prepare…" THE CLIENT'S COMPUTER n8n orchestration Python core logic and memory Tools mail · files · web Data never leaves the client's computer
Own project · demo mode

Trading bot with its own infrastructure

A demonstration of working with live data, a task queue and monitoring — running on a test account only.

Why I mention it

It isn't a service I sell. It is, however, the clearest demonstration of how I build a system that has to run non-stop, survive failures and stay measurable — which is exactly what business automation needs.

What it includes
  • Real-time processing of exchange data
  • History database and a task queue
  • Dashboard with status and metrics
  • Runs in test mode — no real money involved
PythonFastAPIPostgreSQLRedisGrafanaDocker
Exchange test account Bot evaluation and orders Database history and state MONITORING Metrics Dashboard status and metrics Runs in test mode — no real money involved
Dealing with something similar?

Tell me what's slowing your business down. On the intro call I'll tell you straight whether it's worth automating — and if it isn't, I'll say that too.

Book a free 30-minute call