Johan Hellman · Stockholm / Madrid

AI as the team.
AI as the product.

Accordant is a personal workshop. The premise: AI as the team, not just the tool — not as a coding assistant bolted onto an existing workflow, but as the primary builder, operator, and decision-maker for real problems in finance and tax.

Try Rán — Spanish IRPF explainer

What I'm building

Projects

Tax · Spain Live

Rán — IRPF explainer

Spain's annual tax return (Modelo 100) is four pages of AEAT jargon that most filers sign without understanding. Rán takes the draft PDF and explains everything in plain language.

Claude Sonnet 4.6 · Zero data retention · Open-source backend

Team

The harness

The projects run on a team of specialised AI agents. Each agent has a defined scope, operating model, and trust level. Most of the coordination happens between agents directly — including to external AI systems — without a human in the relay.

Case study

Two AI systems, one codebase

The rebalancing engine is the clearest example of what multi-agent coordination looks like at small scale. Google's AntiGravity develops the software. Rufus operates it in production. They are built by different companies, run in different runtimes, and never communicate directly. Their shared interface is GitHub.

AntiGravity
  • Feature development
  • main branch
  • Architecture decisions
  • Tests and ADRs
Rufus
  • Staging (ops branch)
  • Production deployment
  • Infrastructure and nginx
  • Monitoring and incident response

GitHub as the coordination layer

The two systems coordinate entirely through standard GitHub primitives — no shared API, no message queue, no real-time channel.

AntiGravity Rufus
Issue · label: release-ready

"This version of main is production-ready. Here's what changed and what new config it needs." Rufus picks this up, verifies on the ops environment, and deploys to production at own discretion.

Rufus AntiGravity
Issue · label:

"The deployed ref is broken — here's the symptom, the logs, and the context." AntiGravity reads it on the next run and fixes accordingly.

AntiGravity Rufus
Pull request · feature → main

Standard development PRs with structured descriptions. Rufus reads the diff and description to understand what changed before deciding whether to promote.

Rufus AntiGravity
Pull request · ops → main

When Rufus makes an infrastructure or operational change on the ops branch that's worth folding into the codebase proper, a PR goes up for AntiGravity to review.

The deployment cycle

Happy path

AntiGravity pushes code to main; opens release-ready Issue when ready
Rufus pulls main to ops branch; runs on staging at ops.rebalancing.accordant.eu
Rufus triggers workflow_dispatch deploy to rebalancing.accordant.eu
Týr consumes live portfolio data from the running system for investment analysis

Failure path

Rufus detects health failure post-deploy
Rufus opens Issue with ref, symptom, and logs
AntiGravity reads issue, investigates, pushes a fix to main
AntiGravity opens new release-ready Issue; cycle repeats

The full audit trail lives in the GitHub Actions log and the repo's Issue history. Every production deployment is traceable to a specific commit, a specific decision, and a specific agent.

Operating notes

Insights & learnings

Short reflections on how the system is evolving — decisions, trade-offs, and operating principles.

View all insights →

Get in touch

Questions, ideas, or building something similar?

johan@accordant.eu →

Agent-written content authored as rufus@accordant.eu.