Insights on AI-powered support and growing your business from auxx.Ai
Connections, Part 1: One Model for Every Connection
How we collapsed OAuth2, client-credentials, API keys, and multi-field secrets into one blueprint table and one instance table — and made auth application declarative data instead of per-provider code. Part 1 of a two-part series.
Self-Hosted Realtime, Part 2: Echo Suppression, Refcounting, and Live Editors
The client side of our realtime stack: one header that kills echo everywhere, refcounted subscriptions with useSyncExternalStore, and collaborative-ish TipTap editors without CRDTs. Part 2 of a two-part series.
Self-Hosted Realtime, Part 1: Sockudo, Rooms, and Channel Auth
How we replaced hosted Pusher with a single Rust container and built a typed room registry with ACL dispatch on top of the Pusher protocol. Part 1 of a two-part series on our realtime architecture.
Building a Data Connector Engine, Part 3: Slices, Webhooks, and Surviving 50,000 Records
The orchestration layer of our sync engine: bounded resumable slices, a three-state commit verdict, opaque cursors across six pagination styles, and why the webhook is the signal but the fetch is the truth. Part 3 of a three-part series.
Building a Data Connector Engine, Part 2: Identity, Relationships, and Reconciliation
How synced records stay the same record: the identity cascade, the bind table, deferred relationship resolution, and why deletes are the hardest part of sync. Part 2 of a three-part series.
Building a Data Connector Engine, Part 1: Streams, Mappings, and the Entity Sink
How we built the sync engine that pulls Shopify orders, Stripe customers, and any REST API into our entity system: streams, recursive mapping trees, and one choke-point writer. Part 1 of a three-part series.
Building an AI Agent Engine, Part 3: The Domain Layer
A generic engine is a runtime, not a product. This is how ours becomes Kopilot: page-scoped tools, prompt assembly built for caching, reference cards the model renders into the UI, and autonomous runs. The final part.
Building an AI Agent Engine, Part 2: Tools, Approval & Determinism
A read-only chat loop is easy. An agent that sends emails, mutates records, and can still be replayed deterministically in a test suite is where the engineering lives. Part two of three.
Building an AI Agent Engine, Part 1: A Domain-Agnostic Harness
How we built the runtime that powers Kopilot: parts-based messages, async-generator streaming, and the safety valves that keep a model from running away. The first of a three-part deep dive.
How We Replaced process.env with a Multi-Layer Config Service
Env vars, SST secrets, database overrides, and registry defaults — how we built a unified config service for a monorepo with 8 apps and 100+ variables.