Customers, quotes, orders, subscriptions, invoices and reminders in one place. Every outgoing mail, the request for a review and the package for the tax adviser come from here.
Measures with 108 checks how visible a business is on Google, in directories and in AI assistants, and turns it into an evaluation and a quote on site. The data collector is built for the company's own server.
Built for the company's own server: answers calls on the business number with speech recognition, voice and language model on that server, and writes enquiries and quote decisions into the CRM.
Built for the company's own server: reads incoming mail there and assigns it to customers and quotes. The CRM only records an acceptance by itself when sender and quote are beyond doubt.
Research with AI agents in which every figure has its source, and posts for every channel that only go out after a person has approved them. In RepoCity, the marketing app.
16 of 16 benchmark cases classified correctly, no unbacked finding missed.
Invoices that are only booked when every decision is certain and every check passes. Everything else goes to a person, with the reason.
In a test with 250 documents, no faulty invoice was booked. Of eight systems compared, this setup was the cheapest: 0.39 US dollars per 1,000 documents.
Form in n8n
Automation with n8n
Docker on a Hugging Face Space
Jev decides
Fixed choices with calibrated probabilities
Cloudflare Workers AI
A language model reads the amounts
Language model through a programming interface
Structured output as JSON
Rules and routing
Rule checks in code
Confidence threshold
Branch A: booked
PostgreSQL trigger against double booking
Unique index
Branch B: review by a person
Queue with reasons
Row level security
Test bench with 250 documents
Benchmarking
Synthetic test set with known answers
Project page in German
AI Act Compliance Helper
The questions a lawyer would ask lead to the classification of an AI system under the EU AI Act, with the provision of the law it rests on. Not legal advice.
207 of 217 official European Commission examples classified correctly.
Fetch the official texts
Python
Retrieval through the Cellar interface
HTML parsing with BeautifulSoup and lxml
Split the law into passages
Data validation with Pydantic
Bilingual data
Search in the law
Vector search with bge-m3
BM25 keyword search
Reciprocal Rank Fusion
Rule set in text files
Rule-based question tree
YAML
No language model decides
Web page without a server
JavaScript modules
Bilingual text catalogues
Cloudflare Pages
Finding with citation
Six possible findings
German and English
Measured against official examples
Evaluation against an outside standard
Recounted figures
Checks on every push
GitHub Actions
pytest
ruff and mypy
Schraubi – Spare Parts Assistant
The right used part, even without a part number. Customers write what they need, and Schraubi finds the matching part in the real stock.
Measured with 207 customer requests against 10,000 parts in stock: in 93.2 % of cases the right part is on top.
Chat window in the shop
JavaScript without dependencies
Accessibility under the German Accessibility Strengthening Act
Disclosure under Article 50 of the AI Act
Guard rules: business figures stay locked
Guard rules in the application
Separate rights in PostgreSQL
Understand the request
Typo correction
Vocabulary for everyday words
Recognition from the real stock
Dual search by meaning and by words
Vector search with pgvector and an HNSW index (Hierarchical Navigable Small World)
Ask a video a question and get the answer with a timestamp, in the language of the question. Final project of the Ironhack AI Engineering Bootcamp, 02/2026 to 05/2026.
37 of 37 answers in the live run judged fully supported by the captions.
Link and audio
Python
Downloading with yt-dlp
Transcription with timestamps
Speech recognition with OpenAI Whisper
Word error rate with jiwer
Chunking by video length
LangChain
Settings derived from measurements
Knowledge store in ChromaDB
Retrieval-augmented generation: the model answers from passages found first
Vector search
Question, typed or spoken
Web interface with Gradio
Voice input
Agent with seven tools
Tool-using agent (ReAct)
LangChain and LangGraph
Tracing with LangSmith
Answer with timestamp and cost
Multilingual answers
Cost tracking per request
Judge scores every answer
Evaluation with a language model as judge
Comparison with YouTube captions
DanielHütte
Get in touch
RepoCity is my work. I am Daniel Hütte, AI engineer from Münster. My focus is AI agents and automated workflows. I am looking for a position as an AI (Agent) Engineer.
RepoCity is becoming a company that runs on automation
Seven parts hand work to each other. Daniel steers and supervises, mostly with one tap in the Cockpit.
CRM
Cockpit
RadarAuditor
Marketing
Phone
Mail
Websites
Danielsteers and supervises
The parts of RepoCity
CRM (customer relationship management)Customers, quotes, orders, subscriptions, invoices and reminders in one place. Every outgoing mail, the request for a review and the package for the tax adviser come from here.
CockpitThe message centre above all apps: notifications on the phone's lock screen, actions with one tap.
RadarAuditorMeasures with 108 checks how visible a business is on Google, in directories and in AI assistants, and turns it into an evaluation and a quote on site. The data collector is built for the company's own server.
MarketingResearch in which every figure is checked against its source, and a planner for 13 channels. A person approves, posting is done by hand.
Phone assistantBuilt for the company's own server: answers calls on the business number with speech recognition, voice and language model on that server, and writes enquiries and quote decisions into the CRM.
Incoming mailBuilt for the company's own server: reads incoming mail there and assigns it to customers and quotes. The CRM only records an acceptance by itself when sender and quote are beyond doubt.
WebsitesWebsites for businesses, from design to launch. This site is one example.
All parts share one database in Supabase.
The RadarAuditor's collector, the reading of incoming mail and the phone assistant are built for the company's own server.
At the start it says that an artificial intelligence is speaking and that the call is written down. It answers only from the facts in the CRM and promises nothing beyond them.
Callon the business number
LiveKitcarries the call
faster-whisperturns speech into text
Qwen 3 on Ollamaunderstands and answers
Piperspeaks with a German female voice
CRMenquiry, quote decision, call record
Cockpitnotice to Daniel
Projects that became part of RepoCity
RadarAuditorbecame the product: the visibility audit for local businesses.
Agentic Marketingbecame the marketing app with a planner for every channel.
RadarAuditor
Measures how visible a business is on Google, on the map, in directories and in AI assistants, and what is missing. RepoCity's product.
1
App on phone, tablet and PC
Installable web app (Progressive Web App)
Preact and TypeScript
Cloudflare Pages
2
Queue in Supabase
PostgreSQL with migrations
Row level security
3
Collector, built for the company's own server
Docker container
Python
Browser automation with Playwright
4
Scoring by fixed rules
Check catalogue as a YAML file
Data models with Pydantic
Tests with pytest
5
Evaluation in words, without a screen
AI evaluation with the skill /auswerten
Permissions cut to the minimum
Output validated against a schema
6
Report as PDF
PDF with WeasyPrint
Templates with Jinja2
Charts with Matplotlib
7
Quote on site
CRM database functions instead of a separate interface
8
Order in the CRM and Cockpit
Optimisation with the skill /optimieren
Database trigger reports “order finished”
108 checks from a single check catalogue. Code computes the points by fixed rules, not a language model.
Research with AI agents in which every figure has its source, and posts for every channel that only go out after a person has approved them. In RepoCity, the marketing app.
Invoices that are only booked when every decision is certain and every check passes. Everything else goes to a person, with the reason.
1
Form in n8n
Automation with n8n
Docker on a Hugging Face Space
2
Jev decides
Fixed choices with calibrated probabilities
Cloudflare Workers AI
3
A language model reads the amounts
Language model through a programming interface
Structured output as JSON
4
Rules and routing
Rule checks in code
Confidence threshold
5
Branch A: booked
PostgreSQL trigger against double booking
Unique index
6
Branch B: review by a person
Queue with reasons
Row level security
7
Test bench with 250 documents
Benchmarking
Synthetic test set with known answers
In a test with 250 documents, no faulty invoice was booked. Of eight systems compared, this setup was the cheapest: 0.39 US dollars per 1,000 documents.
The questions a lawyer would ask lead to the classification of an AI system under the EU AI Act, with the provision of the law it rests on. Not legal advice.
1
Fetch the official texts
Python
Retrieval through the Cellar interface
HTML parsing with BeautifulSoup and lxml
2
Split the law into passages
Data validation with Pydantic
Bilingual data
3
Search in the law
Vector search with bge-m3
BM25 keyword search
Reciprocal Rank Fusion
4
Rule set in text files
Rule-based question tree
YAML
No language model decides
5
Web page without a server
JavaScript modules
Bilingual text catalogues
Cloudflare Pages
6
Finding with citation
Six possible findings
German and English
7
Measured against official examples
Evaluation against an outside standard
Recounted figures
8
Checks on every push
GitHub Actions
pytest
ruff and mypy
207 of 217 official European Commission examples classified correctly.
Ask a video a question and get the answer with a timestamp, in the language of the question. Final project of the Ironhack AI Engineering Bootcamp, 02/2026 to 05/2026.
1
Link and audio
Python
Downloading with yt-dlp
2
Transcription with timestamps
Speech recognition with OpenAI Whisper
Word error rate with jiwer
3
Chunking by video length
LangChain
Settings derived from measurements
4
Knowledge store in ChromaDB
Retrieval-augmented generation: the model answers from passages found first
Vector search
5
Question, typed or spoken
Web interface with Gradio
Voice input
6
Agent with seven tools
Tool-using agent (ReAct)
LangChain and LangGraph
Tracing with LangSmith
7
Answer with timestamp and cost
Multilingual answers
Cost tracking per request
8
Judge scores every answer
Evaluation with a language model as judge
Comparison with YouTube captions
37 of 37 answers in the live run judged fully supported by the captions.
RepoCity is becoming a company that runs on automation
Seven parts hand work to each other. Daniel steers and supervises, mostly with one tap in the Cockpit. Status: test stage without customer operation.
The RadarAuditor's collector, the reading of incoming mail and the phone assistant are built for the company's own server. All parts share one database in Supabase.
CRM (customer relationship management)
Customers, quotes, orders, subscriptions, invoices and reminders in one place. Every outgoing mail, the request for a review and the package for the tax adviser come from here.
Measures with 108 checks how visible a business is on Google, in directories and in AI assistants, and turns it into an evaluation and a quote on site. The data collector is built for the company's own server.
Built for the company's own server: answers calls on the business number with speech recognition, voice and language model on that server, and writes enquiries and quote decisions into the CRM.
Built for the company's own server: reads incoming mail there and assigns it to customers and quotes. The CRM only records an acceptance by itself when sender and quote are beyond doubt.
At the start it says that an artificial intelligence is speaking and that the call is written down. It answers only from the facts in the CRM and promises nothing beyond them.
Research with AI agents in which every figure has its source, and posts for every channel that only go out after a person has approved them. In RepoCity, the marketing app.
16 of 16 benchmark cases classified correctly, no unbacked finding missed.
Invoices that are only booked when every decision is certain and every check passes. Everything else goes to a person, with the reason.
In a test with 250 documents, no faulty invoice was booked. Of eight systems compared, this setup was the cheapest: 0.39 US dollars per 1,000 documents.
The questions a lawyer would ask lead to the classification of an AI system under the EU AI Act, with the provision of the law it rests on. Not legal advice.
207 of 217 official European Commission examples classified correctly.
Ask a video a question and get the answer with a timestamp, in the language of the question. Final project of the Ironhack AI Engineering Bootcamp, 02/2026 to 05/2026.
37 of 37 answers in the live run judged fully supported by the captions.
Skills applied
1
Link and audio
Python
Downloading with yt-dlp
2
Transcription with timestamps
Speech recognition with OpenAI Whisper
Word error rate with jiwer
3
Chunking by video length
LangChain
Settings derived from measurements
4
Knowledge store in ChromaDB
Retrieval-augmented generation: the model answers from passages found first
Voice and chat assistants that answer questions, take requests in plain language and pass them to the right place.
For RepoCity this becomes the phone assistant: it answers calls with self-hosted speech recognition and language model, built for the company's own server.
Highend AI Content Production
Images, videos and music made with AI
featuring Ibtihal
Images, motion graphics, videos and music, generated with AI.
Website Setup and Design
Websites you experience
Websites from concept to launch: research, wording, design and build. This site is the example: a flight in real-time 3D from space into the agents' workspace, bilingual, with all texts also available as an ordinary page for search engines.
Three.js
WebGL
Cloudflare
Who builds RepoCity?
RepoCity is the work of Daniel Hütte, AI engineer from Münster. His focus is AI agents and automated workflows: he builds them, measures their results, looks for the errors and builds them better.
Daniel Hütte is looking for a position as an AI (Agent) Engineer.
Frequently asked questions about AI agents
What is an AI agent?
An AI agent is a program that completes a task on its own in several steps. It reads input, decides on the next step, uses tools and delivers a result.
AI agent or classic automation: which fits when?
Classic automation fits when every case runs the same way. An AI agent fits when inputs look different each time, for example documents, emails or freely worded requests. In the projects on this page both work together: the agent reads and decides, ordinary program code checks the maths.
Can you have AI agents developed?
Yes. An agent is built for a specific task, with the data and tools it needs for it. The projects on this page show what that looks like.
How do you stop an agent from waving errors through?
With checks that do not come from the same model. Amounts are recalculated, figures are looked up in the source, and whatever remains uncertain is decided by a human.
What is a multi-agent system?
A multi-agent system splits a large task among several specialised agents. Each one handles a part, and another agent checks the result.
Where is RepoCity based?
In Münster in North Rhine-Westphalia, Germany. RepoCity's software is at the test stage, without customer operation yet.
Get in touch
Tell us what you are working on or what interests you about RepoCity.