How to Monitor Cats Without Losing Your Sanity

How to Monitor Cats Without Losing Your Sanity

When you've got two chaotic cats and four cameras with pathetic interfaces to monitor them, you either give up or build something better. This is a deep dive into the system I ended up building something to actually do what the default apps promise but never deliver.

ONVIFOBSFlaskWebSockets
Why Every IP Camera App Sucks (And How We Fixed It)

Why Every IP Camera App Sucks (And How We Fixed It)

Most IP Camera apps are cluttered, laggy, and weirdly stubborn about layout or responsiveness. So we built our own: a clean, mobile-friendly control panel with real-time streaming, swipe gestures for pan and tilt, and just enough polish to not feel like a weekend hack.

React.jsPWAs
SKUs, Variants, Payment Reconciliation & Existential Dread

SKUs, Variants, Payment Reconciliation & Existential Dread

The adventures of building a dynamic, CMS controlled furniture e-commerce backend where product variants multiply like rabbits, orders need to remember what they bought six months ago, and Stripe payments must never leave customers charged but orderless—all while keeping our frontend sane with type-safe automation.

KeystonePrisma ORMStripe
Lilac: A Modern E-commerce Frontend That Doesn't Typecast

Lilac: A Modern E-commerce Frontend That Doesn't Typecast

How we built a furniture e-commerce frontend that scales, performs, and doesn't make developers want to quit programming. From GraphQL code generation to payment orchestration, animation systems, and state management—the complete technical deep dive.

GraphQLPrisma ORMKeystoneSearch Engine Optimization (SEO)Performance OptimizationFramer Motion
Death by a Thousand Tooltips

Death by a Thousand Tooltips

The trials and tribulations of building a high-performance, accessible overlay framework for enterprise legal software & achieving WCAG AA compliance - all with performance and customization at the forefront.

AngularRxJSDOM Manipulation
If You Can Fill a Spreadsheet, You Can Build an Assessment

If You Can Fill a Spreadsheet, You Can Build an Assessment

We discuss the architecture of a sophisticated healthcare assessment platform that lets you create complex risk calculators without code using a matrix-based decision logic.

StrapiNext.jsNo Code Tools
Next.js Saved Our Blog—and Probably Our Sanity

Next.js Saved Our Blog—and Probably Our Sanity

Learn how valuable eliminating runtime errors and improving performance is to establish development standards for a junior team, and how the Razzle.js to Next.js transition saved us.

Next.jsPerformance OptimizationSearch Engine Optimization (SEO)
How We Built Landing Page IKEA for Marketing Teams

How We Built Landing Page IKEA for Marketing Teams

How we transformed a 1.5-2 day landing page creation process into a 20-minute drag-and-drop experience using Strapi polymorphic components and dynamic routing.

Search Engine Optimization (SEO)Next.jsStrapiNo Code Tools
WYSIWYG - unless you use tokens!

WYSIWYG - unless you use tokens!

Optimizing a RoosterJS-based email editor that was suffering from performance issues, recursive event loops, and cursor instability when handling dynamic variables in recruitment email templates.

React.jsRooster.jsDOM ManipulationPerformance Optimization
How I Learned to Stop Worrying and Love DOM Orchestration

How I Learned to Stop Worrying and Love DOM Orchestration

In this case study, we explore some of React 19's wonderful quirks, DOM manipulation & learn why you should worry if your React code starts looking like jQuery.

React.jsPerformance OptimizationDOM ManipulationFramer Motion