Our Blog

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

Cybersecurity

Your SSL Pinning Probably Isn't Working

Google says certificate pinning "is not recommended for Android apps." Apple says "in most cases, pinning is not necessary and should be avoided." OWASP now says the answer to "should I pin?" is "probably never." Meanwhile pinning ships in roughly half the mobile apps we audit — and on Flutter it usually protects nothing at all, because Dart does not use the platform networking stack, so the pin-set in your network_security_config.xml is never read. Here is what pinning actually buys you in 2026, whether you need it, five rules if you do, why Flutter breaks all of them, and how to find out in half an hour which of those applies to your app.

August 27, 2026
Software Engineering

Everyone Got the Timeline Wrong: AI, Juniors, and Quantum

Two years ago the loudest voices in tech said software engineers would be obsolete by now. They were wrong: developer employment did not collapse. But the same wave that failed to remove developers removed something else — the routine work that turned beginners into seniors. Employment of developers aged 22 to 25 is down roughly 20% since late 2022 while their older colleagues held flat or grew. Meanwhile quantum computing is running the identical hype cycle one lap behind, and the milestone that actually matters is not the one in the headlines. Here is what the evidence supports, what it does not, and how to tell the two apart.

August 18, 2026
dxpdf 0.5.0: Teaching a DOCX Converter to Read the Rest of the World
Software Engineering

dxpdf 0.5.0: Teaching a DOCX Converter to Read the Rest of the World

dxpdf converts Word documents to PDF without Office, LibreOffice, or a cloud API. Version 0.5.0 is the release where it stopped quietly assuming every document is written in English — UAX #14 line breaking, UAX #9 bidirectional text, and CLDR-driven numbers and dates that follow the document's own language. Here is what shipped, the design decisions behind it, and the measured numbers.

August 11, 2026
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 End-to-End Encryption Actually Works: Key Exchange, the Double Ratchet, and Its Real Trade-offs
Cybersecurity

How End-to-End Encryption Actually Works: Key Exchange, the Double Ratchet, and Its Real Trade-offs

A deep dive into how end-to-end encryption is established and kept secure over time — the X3DH handshake, the Double Ratchet algorithm behind Signal and WhatsApp, group messaging with sender keys, and an honest look at what E2EE protects and what it does not.

August 3, 2026
The Flutter App Development Process: How We Take an App From Idea to App Store
For Founders

The Flutter App Development Process: How We Take an App From Idea to App Store

The actual process behind a Flutter build — discovery, design, architecture, iterative development, QA, release, and maintenance — run as short feedback loops rather than a waterfall. What happens in each phase, what you get out of it, who is in the room, how long it takes, and the specific places the process breaks.

July 29, 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 Ship 20+ Branded Apps From One Flutter Codebase — and Survive Apple 4.2.6
For Founders

How We Ship 20+ Branded Apps From One Flutter Codebase — and Survive Apple 4.2.6

Most "white-label" app shops just reskin one binary — and Apple guideline 4.2.6 rejects exactly that. Here is the architecture we use to ship 20+ genuinely distinct branded apps from a single Flutter codebase: per-tenant authentication and server-driven content that make each app a real standalone product, not a duplicate.

July 10, 2026