One human. One team. Fully autonomous.

Agent-powered agent power.

Strug City is a fully autonomous agentic product and engineering organization, led by one human and built in public. Three products in production. One platform underneath.

4
Products
3
In Production
1
Human
Checking activity...
Scroll

The Story

A project became an experiment. The experiment became a team. The team is building the company.

Strug City is what happens when one operator decides to prove that the right AI team can build, run, and grow a real technology company. Led by Ryan Knollmaier — Founder & Chief Human Officer, with Sabine as Chief of Staff and an eight-agent Strug Works Virtual Engineering team — Strug City has shipped three products to production with three more in development.

It is an experiment, a company, and a working answer to one question: what can one human and the right AI team actually do?

The Platform

Anti-Strug: the agentic operating system that powers everything we make.

Anti-Strug provides persistent memory, intelligent routing between agents, and multi-agent orchestration. Every Strug City product is a client. The platform improves every time any of them ships.

Strug City runs on Strug Works (built on Anti-Strug). This site is the first end-to-end production engagement. See the receipts →

MCP — Anti-Strug speaks open standards. Claude Code, Cursor, and any MCP-compatible agent can connect and interoperate.

MCP →External AgentsAnti-StrugplatformSabineStrug WorksSportsFeedtumiPoppinAnti-Strug(self)

The Thesis

We don't build features looking for a market. We identify under-served need states and build the products that solve them.

— Strug City operating principle

Every product on this site started with an honest answer to one question: who is the actual person being failed by the current options, and what would actually serve them?

Read the product thesis →

Building in Public

Recent shipments

See the full stream →
engineering

ListService: 352-line CRUD layer with 25-finding TDD audit

Shipped the service layer for Unified Lists (PR #288): 352-line ListService with create, read, update, archive operations enforcing user isolation. Three TDD audit rounds caught 25 findings—security issues (missing RLS restore), type-safety degradations (ValidationInfo → object), and logic bugs (empty update → false 404). Completes the three-part infrastructure: migration → models → service.

unified-lists
engineering

ListService item CRUD with reminder cascade + 14-finding audit

Extended ListService with 4 item operations (add_items, update_items, delete_item) bringing the service to 646 lines. Three TDD audit rounds caught 14 findings: missing RLS, partial-failure tracking, reminder cascade ordering, atomic RPC for position race prevention. Ships with 1,126 lines of tests (9 CRUD + 12 audit).

unified-lists
engineering

ListService: resolve_list_by_name with 3-tier fuzzy matching

Added name resolution to ListService with exact match, substring match, and NotFound outcomes. Returns Found (exact or single substring), Ambiguous (multiple substring matches), or NotFound with suggestions. 77-line method with 282 lines of TDD tests (T-21 through T-27) covering all resolution paths. TDD audit caught 5 findings: error handling gap, empty update validation, batch update invariant, type safety, dead code cleanup.

lists

Where do you want to go from here?

For the curious

See what Sabine can do

A production AI Chief of Staff, live and working in the wild.

Try Sabine live →

For the technical

The Anti-Strug architecture

Persistent memory, intelligent routing, multi-agent orchestration.

See the architecture →

For the connected

Get in touch

Partnerships, collaborations, press — Ryan reads every email.

Get in touch →