······
····
Back to home

6 articles

Thoughts & Notes

How we work: the technology, decisions, and approach behind our projects.

InfrastructureMar 30, 2026
01

CDN for the ones who actually need it

The pitch for CDN is often a blanket recommendation: serve static assets from the edge, reduce latency everywhere. The reality is more precise. CDN improves performance when the content is static, cacheable, and requested from multiple geographic regions. For a regional SaaS product with authenticated users, you're mostly serving uncacheable responses — adding a CDN layer won't change your p95 latency by much, but it will add complexity to your cache invalidation story.

Read
EngineeringMar 25, 2026
02

We don't build SPAs. Here's why.

Most development teams default to single-page applications because that's the path of least resistance—a Create React App, a Vite template, everything client-rendered. The user opens your product and stares at a blank screen while the browser downloads, parses, and executes hundreds of kilobytes of JavaScript before showing anything.

Read
EngineeringMar 20, 2026
03

60 frames, no compromises

Animation quality is one of the fastest ways to tell a premium product from a mediocre one. Most teams reach for JavaScript-driven animations by default—attaching scroll listeners, computing values on every event, setting styles directly. The result is main-thread congestion: the same thread that handles clicks, layout, and JavaScript execution now also drives every frame of your animation.

Read
EngineeringMar 12, 2026
04

TypeScript: baseline, not an option

Some teams treat TypeScript as optional—a choice you make for large projects or when you have time. We treat it as the minimum viable starting point, the same way you wouldn't ship a project without version control. The question isn't whether to use it; it's how strictly to use it.

Read
Design SystemsMar 5, 2026
05

Tokens, not colors

Most projects start with a color palette—a Figma file with named swatches. Then the same hex value gets copy-pasted into thirty component files. When the brand updates, a developer spends a day doing find-and-replace, misses three occurrences, and ships a half-updated product. This is the cost of working with colors instead of tokens.

Read
EngineeringFeb 28, 2026
06

The metrics Google measures — and so do we

Core Web Vitals are Google's way of measuring user experience as a number. LCP measures how long until the largest visible element appears. INP measures how long the page takes to respond to user input. CLS measures how much the layout shifts unexpectedly as the page loads. Together they determine whether your site is ranked as fast, needs improvement, or poor.

Read