kotona.app

Juha Huotari

Solution analyst in Helsinki. I work on data platforms, integration-heavy systems, and infrastructure that benefits from being slightly harder to misuse.

The project pages say what each repo is for, how it is shaped, and where the work currently stands. Writing covers narrower notes, arguments, and failure reports that do not need a permanent project page.

Projects

All projects

Building sprint tooling because agents kept editing the wrong line

sprintctl and kctl are CLI tools for sprint lifecycle management and knowledge extraction. They exist because markdown-based sprint state failed under agentic editing, and the fix was a schema-enforced database rather than better prompts.

  • agents
  • workflow
  • cli-tooling

Turning household analytics into an operating platform

Homelab Analytics is a household operating platform that keeps planning, simulation, and policy logic in one repo, with Home Assistant used as a device-facing partner rather than as the core execution model.

  • architecture
  • home assistant
  • data platform

Recent writing

All writing

The missing layer is binding, not intelligence

The useful workflow layer for solo agent work is not a giant orchestration stack. It is a local-first system that remembers claims, checkpoints, routing choices, and promotion boundaries without pretending one operator needs a whole platform team.

  • note
  • workflow
  • agents

A GitOps rollback needs time to reach Git

A live rollback fixed a crashlooping workload, but the more interesting part was needing to suspend reconciliation long enough for the fix to become the desired state instead of a temporary lie.

  • note
  • operations
  • gitops

Gatus does not need to monitor everything

The monitoring split that held up best was also the less ambitious one: keep Gatus on in-cluster checks, keep edge probes in blackbox-exporter, and stop trying to make one checker own every route shape.

  • note
  • monitoring
  • kubernetes

The boring auth boundary was right

Homelab analytics had enough auth surface to accidentally grow a second identity product. The useful decision was to keep identity proof upstream, keep authorization local, and demote local login to a narrow break-glass path.

  • note
  • auth
  • architecture

Compatibility reports should be a little rude

Backend-owned contracts only become useful release artifacts once the compatibility tooling is conservative enough to complain about real breakage instead of politely missing it.

  • note
  • contracts
  • release-engineering