Skip to content

Selected work

AI-assisted engineering with human authority

Flügger · Frontend Lead; designed the workflow · 2026

Designed how a migration team works with AI: specialized agents with scoped instructions, plan-first design documents and human review of every change, used where the client allows it.

  • Scopedagents for migration, parity checks, quality and tests
  • Plan-firstdesign documents before multi-file changes
  • Reviewedevery AI-generated change, like any other

Context

A replatforming touches a large legacy codebase and many business rules. AI assistants can help, but a generic assistant tends to invent dependencies, ignore conventions and miss behavior hidden in legacy code.

I designed the workflow the team uses on the Flügger migration, with the client's approval to use AI.

Instructions in layers

Agent rules live next to the code: one file for principles and prohibitions across the monorepo, one per app for its stack and conventions, and a read-only guide to the legacy app. Topic guides for API clients, CMS blocks, domains, state, styling and testing load automatically for the files being edited.

Specialized agents

Instead of one generic assistant, agents have narrow jobs: migrating a business domain, checking that legacy behavior still exists in the new app, enforcing code quality and modern APIs, and writing tests.

Plan first, then code

Any change that spans several files or involves a design decision starts as a short plan (objective, scope, design, test cases, open questions) that is reviewed before implementation. A status table per business domain keeps people and agents from starting work that is already done.

Human authority

  • No new dependencies without explicit approval, and no pipeline changes without instruction.
  • No self-merging: AI-generated code goes through the same pull-request review as everything else.
  • Pull requests say when AI did a significant part of the work, so reviewers look closely.

What it changed

I believe the workflow contributed to the new frontend's high unit-test coverage and to consistent code across developers. We have not measured a productivity figure, so I do not quote one.

Stack

  • Claude
  • GitHub Copilot
  • Cursor
  • MCP
  • Next.js 16
  • Vitest