Our Blog

Insights, tutorials, and best practices from our team of experienced developers.

Orosu: Why We Replaced SSH Deploy Keys With Signed WebSocket Jobs
DevOps

Orosu: Why We Replaced SSH Deploy Keys With Signed WebSocket Jobs

Every CI pipeline eventually has to get a build onto a server, and most teams solve it with SSH keys in secrets and a copy-pasted rsync script. We built Orosu instead — an open-source Rust tool that turns deployment into an authenticated, bounded WebSocket job instead of an open shell. Here is the problem it fixes, how it works, and where its edges are.

August 8, 2026
How AI Agents Struggle with Flutter: 7 Gaps Experience Still Closes
Software Engineering

How AI Agents Struggle with Flutter: 7 Gaps Experience Still Closes

We let agents write a large share of our Flutter code, and we review a lot of Flutter written by agents nobody supervised. The difference is not typing speed — it is seven decisions an unsupervised agent gets wrong every single time: it recomputes derived state instead of keeping one source of truth, ships no tests or benchmarks, wires complex async into if-pyramids instead of streams, treats design tokens as constants instead of a Theme, invents a new UX vocabulary on every screen, concatenates strings where ICU is required, and simplifies uniformly instead of knowing where complexity has to stay. Here is what each one looks like in Dart, why the agent lands there, and what we do instead.

July 26, 2026
How We Build With AI: Architecture and Flexibility Over Keystrokes
Software Engineering

How We Build With AI: Architecture and Flexibility Over Keystrokes

AI now writes a large share of the code in any serious shop — 84% of developers use it daily. We lean into that on purpose. Letting agents produce the code frees our engineers to do the work AI is worst at: architecture, flexibility, and the whole-system decisions that determine whether software survives its second year. Here is how we actually build in 2026, why we moved the human effort up the stack, and how we keep AI-written code from turning into the tangled codebases we audit every week.

June 19, 2026
AI Code Audit Findings: 11 Problems in Almost Every AI-Built Codebase
Software Engineering

AI Code Audit Findings: 11 Problems in Almost Every AI-Built Codebase

Your AI-built app may already be live, and the security holes are only part of the story. We audited dozens of codebases built with Cursor, Claude Code, Bolt, Lovable, and long ChatGPT sessions, and the same eleven problems recur almost every time: hardcoded secrets, no input validation, authentication that checks the box but not the request, zero tests, no error handling on the unhappy path, N+1 queries, stale dependencies with known CVEs, rampant duplication, no consistent architecture, callback hell instead of proper async patterns, and no awareness of the deployment environment. Here is what each one looks like, why AI produces it, and how we fix it.

June 18, 2026