Skip to content

/leistungen

Leistungen

Ich arbeite an der Schnittstelle von Software, Hardware und Daten. Die folgenden Themen sind keine Schubladen — die meisten Projekte berühren mehrere davon gleichzeitig.

// service-map · wie die ebenen ineinandergreifen

╭──────────────────────────────────────────────────────────────╮
│ build · was gebaut wird                                      │
│    ▸ [software]          web-apps · dashboards · tools       │
│    ▸ [ai]                llms in bestandsprodukte            │
│    ▸ [ai-engineering]    agenten · rag · evals               │
╰───────────────────────────────┬──────────────────────────────╯
                                │
                                ▼
╭──────────────────────────────────────────────────────────────╮
│ glue · was alles verbindet                                   │
│    ▸ [integration]       webhooks · apis · queues            │
╰───────────────────────────────┬──────────────────────────────╯
                                │
                                ▼
╭──────────────────────────────────────────────────────────────╮
│ edge · physische welt                                        │
│    ▸ [iot]               mqtt · firmware · ota · flotten     │
╰───────────────────────────────┬──────────────────────────────╯
                                │
                                ▼
╭──────────────────────────────────────────────────────────────╮
│ infrastructure                                               │
│    ▸ [cloud]             hetzner · coolify · postgres        │
╰──────────────────────────────────────────────────────────────╯

// querschnittsthema[consulting]  reviews · stack-wahl · workshops
01

Individualsoftware

Web-Anwendungen, Dashboards, interne Tools

Stack

  • TypeScript
  • Angular
  • Astro
  • Next.js
  • Supabase
  • PostgreSQL
  • Tailwind

Problem

Standard-Software bremst, statt zu helfen: Lizenzkosten ohne Mehrwert, Prozesse, die sich nicht abbilden lassen, oder zwei bis drei Tools, die nie sauber zusammenarbeiten. Individualsoftware setzt genau dort an, wo Standard-Lösungen aufhören.

Was Sie bekommen

  • Klar bedienbares Frontend mit allen relevanten Workflows
  • Stabiles Backend mit dokumentierter API (REST oder typsicher)
  • Auth, Rollen, Logging, Backups — alles, was Produktion braucht
  • Saubere Dokumentation und Code, den Ihr Team weiterführen kann
  • Optional: Monatliche Wartung und Weiterentwicklung

Passt, wenn

Ihre Prozesse laufen mit Excel und drei verschiedenen Tools — Sie wollen das in einer Anwendung bündeln. Oder Sie haben eine Standard-Lösung am Limit und brauchen den Spezialfall, den die nie bauen wird.

src/lib/auth.ts ts
 export async function requireRole(
  ctx: Context,
  role: 'admin' | 'editor',
) {
  const user = await getUser(ctx);
  if (!user?.roles.includes(role)) {
    throw new Forbidden(`role ${role} missing`);
  }
  return user;
} 
02

IoT & Embedded

Geräte, Pipelines, Flotten — vom Sensor bis ins Dashboard

Stack

  • MQTT
  • ESP32
  • Node.js
  • Supabase
  • TimescaleDB
  • pm2
  • Docker

Problem

IoT-Projekte scheitern selten an der Hardware — sondern an dem, was dazwischen liegt: unklare Topics, fehlende Idempotenz, Geräte, die sich nicht remote updaten lassen, oder Backends, die bei 100 Geräten knirschen und bei 10.000 zusammenbrechen.

Was Sie bekommen

  • MQTT-Topic-Architektur mit klaren Verträgen und Versionierung
  • Backend-Anbindung mit Datenvalidierung, Idempotenz und Wiederholung
  • Geräte-Management: Provisioning, Konfiguration, OTA-Updates
  • Monitoring und Alerts für Flotten ab 100 Geräten
  • Dashboard zur Live-Beobachtung und Analyse

Passt, wenn

Sie bauen ein Produkt mit Hardware-Anteil und brauchen jemanden, der die Cloud- und Daten-Seite versteht. Oder Ihre vorhandene IoT-Plattform skaliert nicht mehr und Sie brauchen einen Refactor mit klarer Architektur.

mqtt-consumer/handlers/state.ts ts
 // Topic: devices/<id>/state/v1
export const onState = async (msg: StateMessage) => {
  const parsed = StateSchema.safeParse(msg);
  if (!parsed.success) return drop(msg, 'invalid');

  await db.device_state.upsert({
    device_id: parsed.data.id,
    last_seen: new Date(),
    payload: parsed.data,
  });
}; 
03

AI-Integration

LLMs sinnvoll einbinden — mit klarem Nutzen

Stack

  • Claude API
  • OpenAI API
  • TypeScript
  • pgvector
  • Edge Functions

Problem

AI-Hype ist groß, der Mehrwert oft nicht. Die meisten Use-Cases lassen sich auch mit klassischem Code lösen. Ich helfe, die Fälle zu finden, in denen LLMs wirklich Zeit oder Kosten sparen — und sie produktionsreif umzusetzen.

Was Sie bekommen

  • Realistische Use-Case-Bewertung (mit klarem Nein, wenn es Unsinn ist)
  • Integration in bestehende Tools — nicht ein weiteres Standalone-Tool
  • Prompt-Engineering, Tool-Use, RAG, wo es passt
  • Auswertung von Qualität, Kosten und Antwortzeiten unter realer Last
  • Datenschutz-konforme Lösung (Anthropic EU-Region oder lokal)

Passt, wenn

Sie haben repetitive Aufgaben mit unstrukturiertem Text (Klassifikation, Zusammenfassung, Extraktion). Oder einen Support- oder Recherche-Prozess, der von einem internen Assistenten profitieren würde.

src/agents/classify.ts ts
 const tools = [{
  name: 'set_category',
  description: 'Tag the ticket with one category.',
  input_schema: {
    type: 'object',
    properties: {
      category: { enum: ['bug', 'question', 'request'] },
    },
    required: ['category'],
  },
}];

const reply = await claude.messages.create({
  model: 'claude-opus-4-7',
  tools,
  messages: [{ role: 'user', content: ticket.body }],
}); 
04

AI-Entwicklung

Agenten, RAG-Pipelines, AI-native Anwendungen

Stack

  • Claude API
  • Tool Use
  • pgvector
  • TypeScript
  • Streaming
  • OpenTelemetry

Problem

AI als Feature in einer bestehenden App ist ein Problem. AI als das Produkt selbst ist ein anderes. Tool-Use-Orchestrierung, Latenz-Budgets, Fallback-Logik, Halluzinationskontrolle, Kosten pro Anfrage — Themen, die in einem ChatGPT-Wrapper nicht existieren, aber jede ernsthafte AI-Produkt-Entwicklung definieren.

Was Sie bekommen

  • Agent-Architektur mit Tool-Use, mehrstufiger Planung und sauberer Fehlerbehandlung
  • Eigene RAG-Pipeline (Embedding-Generierung, Re-Ranking, Citation-Tracking)
  • Evaluierung mit Regressions-Tests gegen ein Golden-Set — „hofft auf das Beste" ist keine Strategie
  • Kosten- und Latenz-Profile pro Flow, mit Tracing in Production
  • Frontend mit Streaming-Antworten, Tool-Visualisierung und Stop-Mechanik

Passt, wenn

Sie bauen ein Produkt, in dem AI das Herzstück ist — nicht ein Feature obendrauf. Oder Sie haben einen ChatGPT-PoC, der produktionsreif werden muss und plötzlich an realer Last und realer Datenqualität scheitert.

src/agents/runAgent.ts ts
 // Agent-Loop mit Tool-Use — bis das Modell "end_turn" signalisiert.
export async function runAgent(userMessage: string) {
  const messages: Message[] = [{ role: 'user', content: userMessage }];

  while (true) {
    const reply = await claude.messages.create({
      model: 'claude-opus-4-7',
      tools,
      messages,
    });

    if (reply.stop_reason === 'end_turn') return reply;

    // Tools ausführen und Ergebnisse zurückspielen.
    const toolUses = reply.content.filter((c) => c.type === 'tool_use');
    const results = await Promise.all(toolUses.map(runTool));

    messages.push(
      { role: 'assistant', content: reply.content },
      { role: 'user', content: results },
    );
  }
} 
05

Cloud & Infrastruktur

Pragmatische Setups auf Hetzner, Coolify, Supabase

Stack

  • Hetzner
  • Coolify
  • Docker
  • PostgreSQL
  • Cloudflare
  • Caddy

Problem

Cloud muss nicht teuer sein. Viele Mittelständler zahlen jeden Monat für AWS-Architekturen, die sie nicht brauchen. Mit Coolify, Hetzner und Supabase lässt sich das gleiche zu einem Bruchteil betreiben — bei voller DSGVO-Konformität.

Was Sie bekommen

  • Provisionierter Hetzner-Server mit Coolify und PostgreSQL
  • CI/CD via Git: jeder Push deployt automatisch
  • Backups (PostgreSQL + Volumes) in Object Storage
  • Monitoring (Uptime Kuma) und Logs (Loki / Grafana)
  • TLS, HTTPS, automatische Zertifikate über Let’s Encrypt

Passt, wenn

Sie wollen aus dem AWS-Vendor-Lock raus, oder zum ersten Mal eigene Infrastruktur aufsetzen, ohne in DevOps-Vollzeit zu investieren. Coolify gibt Ihnen Heroku-Ergonomie auf eigener Hardware.

coolify.compose.yml yaml
 services:
  app:
    image: ghcr.io/staudt/app:latest
    environment:
      DATABASE_URL: "${DB_URL}"
    labels:
      coolify.managed: "true"
      coolify.fqdn:    app.example.com
  db:
    image: postgres:17
    volumes:
      - pg-data:/var/lib/postgresql/data 
06

System-Integration

ERPs, CRMs, Drittanbieter-APIs sauber verbinden

Stack

  • Node.js
  • REST
  • GraphQL
  • Webhooks
  • BullMQ
  • OpenAPI

Problem

Die meisten Integrationsprojekte scheitern nicht am Mapping, sondern an den Details: was passiert bei einem Timeout, wie wird ein doppelter Webhook behandelt, was, wenn die Quelldaten Schrott sind. Da fangen die Probleme erst an.

Was Sie bekommen

  • Klar definierte Schnittstellen-Verträge zwischen den Systemen
  • Idempotenz, Retry-Logik, Dead-Letter-Queues
  • Mapping-Layer, der auch bei API-Änderungen weiter funktioniert
  • Tests gegen Sandbox-APIs und reale Edge-Cases
  • Monitoring der Sync-Qualität (wie viele Records fehlen, wie alt sind sie)

Passt, wenn

Zwei oder drei Ihrer Kern-Systeme reden nicht miteinander, oder eine bestehende Integration ist eine Black-Box-Bastellösung, die niemand mehr anfassen will. Auch klassisch: SAP/Dynamics ↔ moderne Cloud-Tools.

src/sync/orders.ts ts
 // Idempotent: same delivery_id => same result.
export async function syncOrder(raw: WebhookBody) {
  const id = raw.headers['x-delivery-id'];
  if (await seen(id)) return { ok: true, dedup: true };

  const mapped = mapToErp(raw.order);
  await erp.orders.upsert(mapped);
  await mark(id);
} 
07

Technische Beratung

Architektur, Stack-Auswahl, zweite Meinung

Stack

  • Architektur
  • Code Review
  • Stack-Bewertung
  • Workshops
  • Due Diligence

Problem

Sie stehen vor einer Stack-Entscheidung, einem Angebot von einer Agentur oder einem Architektur-Review — und es fehlt der ehrliche, neutrale Blick eines Praktikers, der nicht auf den Auftrag schielt.

Was Sie bekommen

  • Schriftliche Einschätzung mit Empfehlungen und Risiken
  • Architektur-Review eines bestehenden Systems oder geplanten Vorhabens
  • Bewertung von Drittanbieter-Angeboten (Aufwand realistisch? Stack sinnvoll?)
  • Workshops mit Ihrem Team — Wissen weitergeben, nicht aufbauen
  • Klare Empfehlung: machen, anders machen, oder nicht machen

Passt, wenn

Vor einer großen Investition oder einer Vertragsunterzeichnung mit einem Software-Dienstleister. Oder wenn Sie intern unsicher sind, ob ein bestehendes System noch tragfähig ist.

review.md md
 ## Befund — Auth-Layer

- [!] Session-Tokens werden im LocalStorage abgelegt
       → XSS-Exposure, sollte HttpOnly-Cookie sein
- [!] Kein Rate-Limit auf /login
       → Brute-Force in 24h möglich
- [?] Rollen werden per JWT-Claim geprüft, aber
       nie serverseitig revalidiert

## Empfehlung

Refactor auf Cookie-Session + serverseitige
Rollenprüfung. Aufwand: ~5 Tage. 
Kontakt

Klingt vertraut?

Schreiben Sie mir kurz, worum es geht. Ich melde mich innerhalb von 24 Stunden mit einer ehrlichen Einschätzung — auch wenn ich nicht der richtige Partner bin.