Skip to content
REPOCITYAI FOR EVERYONE

AI agents that get work done

RepoCity combines AI agents with fixed checks. Whatever remains uncertain is decided by a person.

Every figure is measured

Every project has a page of its own with benchmarks. The measured values on this page come from the projects' test runs.

A round trip through every project

First RepoCity, the company being built, with its seven parts. Then six standalone projects, each with a presentation.

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.

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.

Cockpit

The message centre above all apps: notifications on the phone's lock screen, actions with one tap.

RadarAuditor

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.

Marketing

Research in which every figure is checked against its source, and a planner for 13 channels. A person approves, posting is done by hand.

Phone assistant

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.

Incoming mail

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.

Websites

Websites for businesses, from design to launch. This site is one example.

Agentic Marketing

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.

One research session

  • Eight analysis skills
  • Research workspace

Figure pass against the source

  • Python
  • Fetching with timeout and retries
  • Figures across spellings

Model pass with a quote required

  • A language model as judge
  • Forced tool call

A person decides

  • Human in the loop
  • Decisions as a file

Hand over the campaign

  • Pydantic
  • Figure guard

Database with a lock

  • Supabase with PostgreSQL
  • Row level security
  • Trigger as a lock

App with planner for 13 channels

  • TypeScript, Preact and Vite
  • Installable web app (Progressive Web App)

Message to the RepoCity Cockpit

  • Triggers
  • Hourly schedule (pg_cron)

Post by hand

  • Blog, LinkedIn, X, XING, Instagram, Facebook, Threads, YouTube, TikTok, Reddit, forum, press, newsletter

Intelligent Document Processing

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)
  • German full-text search
  • Reciprocal Rank Fusion

Answer from fixed templates

  • Only values from the database
  • Dialogue without freely generated text

Daily stock sync

  • Interface with FastAPI
  • Embeddings with fastembed

Operator access

  • Password hash with scrypt
  • Fixed database queries (SQL, Structured Query Language)

Project page in German

Enterprise Knowledge Guard

Company knowledge that only those allowed to see it can see. The access check lives in the database, not in the prompt.

149 of 149 tests passed, 0 blocked passages released.

Interface

  • Streamlit
  • Python

API with a signed token

  • FastAPI
  • Hash-based Message Authentication Code (HMAC) signing
  • Pydantic

Agent with tools per role

  • Tools per role
  • No LangChain, no Software Development Kit

Identity per transaction

  • psycopg 3
  • PostgreSQL transactions

Search with access check

  • Vector search with pgvector
  • HNSW index (Hierarchical Navigable Small World)

Row-level security in PostgreSQL

  • Row level security
  • Database roles and grants

Answer from released passages

  • Language models over plain HTTP
  • Prompt injection defence

Audit log

  • Audit log without a back door

Multilingual YouTube Analyzer

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
Daniel Hü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. 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.

Cockpit

The message centre above all apps: notifications on the phone's lock screen, actions with one tap.

RadarAuditor

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.

Marketing

Research in which every figure is checked against its source, and a planner for 13 channels. A person approves, posting is done by hand.

Phone assistant

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.

Incoming mail

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.

Websites

Websites for businesses, from design to launch. This site is one example.

The process

  1. 1

    Audit and quote

    RadarAuditorDaniel decides

  2. 2

    Quote goes out by mail

    CRM (customer relationship management)Daniel decides

  3. 3

    Acceptance by app, mail or phone

    CRM (customer relationship management)the customer decides

  4. 4

    Optimising website and Google profile

    RadarAuditorDaniel decides

  5. 5

    Order done, invoice goes out

    CRM (customer relationship management)runs on its own

  6. 6

    Request for a review

    CRM (customer relationship management)runs on its own

  7. 7

    Monthly invoice for every subscription

    CRM (customer relationship management)runs on its own

  8. 8

    Monthly audit due

    Cockpitruns on its own

  9. 9

    One tap starts the audit

    CockpitDaniel decides

  10. 10

    Report with before and after

    RadarAuditorruns on its own

  11. 11

    Reminder only after approval

    CockpitDaniel decides

  12. 12

    Tax adviser package with DATEV

    CRM (customer relationship management)Daniel decides

The phone assistant

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.

  1. Call on the business number
  2. LiveKit carries the call
  3. faster-whisper turns speech into text
  4. Qwen 3 on Ollama understands and answers
  5. Piper speaks with a German female voice
  6. CRM enquiry, quote decision, call record
  7. Cockpit notice to Daniel

Start the presentation

The projects

The RadarAuditor and six standalone projects, each with a page of its own. Every page has four tabs: project, org chart, benchmarks and presentation.

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.

108 checks from a single check catalogue. Code computes the points by fixed rules, not a language model.

Skills applied

  1. 1

    App on phone, tablet and PC

    • Installable web app (Progressive Web App)
    • Preact and TypeScript
    • Cloudflare Pages
  2. 2

    Queue in Supabase

    • PostgreSQL with migrations
    • Row level security
  3. 3

    Collector, built for the company's own server

    • Docker container
    • Python
    • Browser automation with Playwright
  4. 4

    Scoring by fixed rules

    • Check catalogue as a YAML file
    • Data models with Pydantic
    • Tests with pytest
  5. 5

    Evaluation in words, without a screen

    • AI evaluation with the skill /auswerten
    • Permissions cut to the minimum
    • Output validated against a schema
  6. 6

    Report as PDF

    • PDF with WeasyPrint
    • Templates with Jinja2
    • Charts with Matplotlib
  7. 7

    Quote on site

    • CRM database functions instead of a separate interface
  8. 8

    Order in the CRM and Cockpit

    • Optimisation with the skill /optimieren
    • Database trigger reports “order finished”

See it in the flight

Agentic Marketing

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.

Skills applied

  1. 1

    One research session

    • Eight analysis skills
    • Research workspace
  2. 2

    Figure pass against the source

    • Python
    • Fetching with timeout and retries
    • Figures across spellings
  3. 3

    Model pass with a quote required

    • A language model as judge
    • Forced tool call
  4. 4

    A person decides

    • Human in the loop
    • Decisions as a file
  5. 5

    Hand over the campaign

    • Pydantic
    • Figure guard
  6. 6

    Database with a lock

    • Supabase with PostgreSQL
    • Row level security
    • Trigger as a lock
  7. 7

    App with planner for 13 channels

    • TypeScript, Preact and Vite
    • Installable web app (Progressive Web App)
  8. 8

    Message to the RepoCity Cockpit

    • Triggers
    • Hourly schedule (pg_cron)
  9. 9

    Post by hand

    • Blog, LinkedIn, X, XING, Instagram, Facebook, Threads, YouTube, TikTok, Reddit, forum, press, newsletter

See it in the flight

Intelligent Document Processing

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.

Skills applied

  1. 1

    Form in n8n

    • Automation with n8n
    • Docker on a Hugging Face Space
  2. 2

    Jev decides

    • Fixed choices with calibrated probabilities
    • Cloudflare Workers AI
  3. 3

    A language model reads the amounts

    • Language model through a programming interface
    • Structured output as JSON
  4. 4

    Rules and routing

    • Rule checks in code
    • Confidence threshold
  5. 5

    Branch A: booked

    • PostgreSQL trigger against double booking
    • Unique index
  6. 6

    Branch B: review by a person

    • Queue with reasons
    • Row level security
  7. 7

    Test bench with 250 documents

    • Benchmarking
    • Synthetic test set with known answers

Project page in German

See it in the flight

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.

Skills applied

  1. 1

    Fetch the official texts

    • Python
    • Retrieval through the Cellar interface
    • HTML parsing with BeautifulSoup and lxml
  2. 2

    Split the law into passages

    • Data validation with Pydantic
    • Bilingual data
  3. 3

    Search in the law

    • Vector search with bge-m3
    • BM25 keyword search
    • Reciprocal Rank Fusion
  4. 4

    Rule set in text files

    • Rule-based question tree
    • YAML
    • No language model decides
  5. 5

    Web page without a server

    • JavaScript modules
    • Bilingual text catalogues
    • Cloudflare Pages
  6. 6

    Finding with citation

    • Six possible findings
    • German and English
  7. 7

    Measured against official examples

    • Evaluation against an outside standard
    • Recounted figures
  8. 8

    Checks on every push

    • GitHub Actions
    • pytest
    • ruff and mypy

See it in the flight

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.

Skills applied

  1. 1

    Chat window in the shop

    • JavaScript without dependencies
    • Accessibility under the German Accessibility Strengthening Act
    • Disclosure under Article 50 of the AI Act
  2. 2

    Guard rules: business figures stay locked

    • Guard rules in the application
    • Separate rights in PostgreSQL
  3. 3

    Understand the request

    • Typo correction
    • Vocabulary for everyday words
    • Recognition from the real stock
  4. 4

    Dual search by meaning and by words

    • Vector search with pgvector and an HNSW index (Hierarchical Navigable Small World)
    • German full-text search
    • Reciprocal Rank Fusion
  5. 5

    Answer from fixed templates

    • Only values from the database
    • Dialogue without freely generated text
  6. 6

    Daily stock sync

    • Interface with FastAPI
    • Embeddings with fastembed
  7. 7

    Operator access

    • Password hash with scrypt
    • Fixed database queries (SQL, Structured Query Language)

Project page in German

See it in the flight

Enterprise Knowledge Guard

Company knowledge that only those allowed to see it can see. The access check lives in the database, not in the prompt.

149 of 149 tests passed, 0 blocked passages released.

Skills applied

  1. 1

    Interface

    • Streamlit
    • Python
  2. 2

    API with a signed token

    • FastAPI
    • Hash-based Message Authentication Code (HMAC) signing
    • Pydantic
  3. 3

    Agent with tools per role

    • Tools per role
    • No LangChain, no Software Development Kit
  4. 4

    Identity per transaction

    • psycopg 3
    • PostgreSQL transactions
  5. 5

    Search with access check

    • Vector search with pgvector
    • HNSW index (Hierarchical Navigable Small World)
  6. 6

    Row-level security in PostgreSQL

    • Row level security
    • Database roles and grants
  7. 7

    Answer from released passages

    • Language models over plain HTTP
    • Prompt injection defence
  8. 8

    Audit log

    • Audit log without a back door

See it in the flight

Multilingual YouTube Analyzer

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. 1

    Link and audio

    • Python
    • Downloading with yt-dlp
  2. 2

    Transcription with timestamps

    • Speech recognition with OpenAI Whisper
    • Word error rate with jiwer
  3. 3

    Chunking by video length

    • LangChain
    • Settings derived from measurements
  4. 4

    Knowledge store in ChromaDB

    • Retrieval-augmented generation: the model answers from passages found first
    • Vector search
  5. 5

    Question, typed or spoken

    • Web interface with Gradio
    • Voice input
  6. 6

    Agent with seven tools

    • Tool-using agent (ReAct)
    • LangChain and LangGraph
    • Tracing with LangSmith
  7. 7

    Answer with timestamp and cost

    • Multilingual answers
    • Cost tracking per request
  8. 8

    Judge scores every answer

    • Evaluation with a language model as judge
    • Comparison with YouTube captions

See it in the flight

More fields of work

Conversational AI

AI assistants you can talk to

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.

Write an email

kontakt@speedofthespirit.dev