Freelance software architect · Stuttgart, Germany

Systems that have to hold, designed and built.

I am Daniel Hartmann. For twenty-five years I have been deciding where the boundaries in a system go and then writing the code on both sides of them — in public-sector platforms, SaaS products, and a multi-tenant booking platform I architect and operate myself. That last one is built day to day with AI coding agents, inside boundaries they cannot quietly cross — and it is in production.

  • 25+ years, since 2001
  • Public-sector platform across three German states
  • A multi-tenant SaaS in production
  • Built with AI coding agents, daily
  • TypeScript · C# · Kotlin · Go · Kubernetes

Contract work is the default. The right permanent role — product ownership, a small senior team — is worth a conversation too: say which one you have.

Daniel Hartmann

Availability

Status
Available now
Capacity
Up to full-time
Where
Remote across the EU, or on site around Stuttgart
Rate
Day rate on request
Contract
Werk- or Dienstvertrag through octabits — DK2 Ventures UG (haftungsbeschränkt)

Services

Four ways this usually starts.

Each one has a shape, a duration and something written down at the end of it. Day rate on request; the first call costs nothing and sometimes ends with me saying no.

Architecture review

An outside read of a system you already run.

1–3 weeks · Fixed price, agreed after a first call

AI-assisted delivery, done carefully

Coding agents in a real codebase, with the guardrails that make it safe.

2–4 weeks to set up, longer if I stay · Fixed price for the setup, day rate beyond it

Greenfield system design

The shape decided before the team starts moving fast inside it.

2–6 weeks · Fixed price or day rate

Hands-on delivery

Building it, not just diagramming it.

From three months, part-time or full-time · Day rate

Selected work

What it looked like in practice.

  1. 07/2024 – 06/2026

    LMZ Baden-Württemberg · DigitalPakt

    Software architect & team coordinator

    Employment

    MUSES — school IT platform for school authorities

    School IT staff in three federal states work in one interface instead of five vendor consoles, and no ticket is lost when the ticketing system is down.

    • C#
    • .NET 9
    • Clean Architecture
    • MediatR (CQRS)
    • React 19
    • Next.js
  2. since 2024

    Octabits · in-house product

    Architect & sole developer, AI-assisted

    Own company

    Reynt — multi-tenant rental & booking platform

    Two architectural bets paid out in public: the payment providers (Stripe Connect and PayPal) were removed wholesale without touching settlement semantics, and four APIs moved from Elysia to Hono in a week with the domain packages untouched.

    • TypeScript
    • Bun
    • Hono
    • Nuxt 4
    • Astro
    • PostgreSQL (RLS)
  3. 01/2023 – 06/2024

    Hoovi GmbH

    Architect & backend developer

    Own company

    Smartflow AI — workflow automation platform

    Architecture and development of the backend for an AI-powered workflow automation platform.

    • Kotlin
    • KTOR
    • TypeScript
    • Python
    • TensorFlow
    • RabbitMQ

Current practice

I still ship every week — with agents at the keyboard.

Reynt is a production multi-tenant booking SaaS — thirteen packages, four APIs, three frontends — that I architected, wrote and operate myself, most of it with AI coding agents doing the typing. That is only defensible because of what sits underneath them: fitness functions that fail the build when a boundary is crossed, invariants placed where nothing can route around them, and integration tests against a real database in CI.

The agent is the cheap part. The guardrails are what I would actually be bringing to your codebase, and they are written down and checkable rather than asserted.

Reynt, by the parts that matter

Packages
13
APIs / frontends
4 / 3
Tests
Integration, real DB
Tenant isolation
Postgres RLS
Hosting
EU

Approach

How I work, in 16 patterns you can check.

Each one names an established pattern, points at the shipped code that would break if I stopped doing it, and says what it costs. None of them belong to a language — the same decisions were made in C#, Kotlin, Rust and Go long before the TypeScript ones.

The shape of the code

Failure is a value, and the framework stays at the door.

4 patterns · Errors as values · Functional core, imperative shell

How the rules survive

A rule you can break is not a rule.

4 patterns · Architectural fitness functions · Put the invariant where it cannot be routed around

Where it meets the world

Other people’s systems will be down. Plan for that, not around it.

5 patterns · Anti-corruption layer · Store-and-forward, backoff with jitter

What gets written down

Documentation that admits what the thing is bad at.

3 patterns · Negative documentation · Intent-revealing commits and a work ledger

Got a system that needs an architect?

A paragraph about what you are building is enough to start. Mail is the fastest way through, and the reply comes from the person who would do the work.

Available now — up to full-time, remote across the EU, or on site around Stuttgart. Day rate on request.