Skip to content

Blog

Web design, brand and digital marketing — written while shipping client work. Fifteen years across design, engineering and growth.

Looking for something else? Framework, performance and AI-tooling writing lives in engineering notes, and the industry-by-industry software breakdowns are under business software.

Real builds · by industry

See the custom software + admin dashboard we'd build for your industry

200+ worked examples with the features, operational gaps and ROI maths behind each one.

Explore use cases
Local AI

Faceswap Lost to a LoRA: The 221-Still Render Rig

128 Pixels Is Not a Face

Read article
AI Workflow

Overnight Loops, Part 2: The Hardening Rules

Where the Night Actually Goes

Read article
AI Workflow

The Overnight AI Loop That Ships While I Sleep

Eight Hours a Night, Unattended

Read article
Local AI

Training a Likeness LoRA on a Real Person for Ads

25 Photos, One Trigger Token, Zero Studio Days

Read article
AI Workflow

10 Agentic Coding Failures I Hit With Claude That Sol Got Right

One Real Session, Ten Named Failure Modes

Read article
Opinion

10 Reasons Anthropic Might Be the Most Overvalued Company on the Planet

Great Research Shop. Priced Like an Inevitability.

Read article
AI Workflow

Caveman Mode: Cutting AI Output Tokens 75% Without Losing Accuracy

Full Technical Accuracy, None of the Prose

Read article
AI Workflow

Cheap Models as Always-On Watchers: The Pattern Nobody Uses

The Expensive Model Thinks, the Cheap One Stares

Read article
AI Workflow

Halls and Rooms: How to Structure AI Context Files That Don't Rot

A Knowledge Tree, Not a Wall of Text

Read article
AI Workflow

Hooks Beat Prompts: Deterministic Guardrails for AI Agents

A Prompt Is a Probability. A Hook Is a Guarantee.

Read article
AI Workflow

How I Actually Use AI After Fable and Sol — My Optimised Setup

The Model Is 30% of the Win

Read article
AI Workflow

I Started Grading My AI Every Day. The Results Were Ugly

Two Counts, One Letter, One Row Per Day

Read article
AI Workflow

No Smoke Breaks: Why Your AI Agent Should Never Wait on a Timer

Act When Ready, Not When the Clock Says So

Read article
AI Workflow

Running Multiple AI Agents Without Losing the Thread

Fan Out, Verify, Synthesise

Read article
AI Workflow

Scope Drift: Why AI Builds Four Things When You Asked for One

The Failure Mode That Looks Like Effort

Read article
Model Review

Sol vs Fable 5: The Real-World Verdict After Two Weeks

Half the Price, and Better Where It Counts

Read article
AI Workflow

The Polite Liar: Why Your AI Agrees With You and Why That's Dangerous

Agreement Is Not Accuracy

Read article
AI Economics

The Token Price Collapse: What Half-Price Frontier AI Actually Changes

The Maths That Changes What You Build

Read article
AI Workflow

Verify Before Done: The Gate That Fixes 90% of AI Agent Failures

Scored 100/100 in My Own Failure Log

Read article
Performance

Astro Dynamic Imports — Lazy-Load Pages at Scale Without Blowing Your Bundle

Code-split like it's 2026

Read article
Web Design

Breadcrumbs: The Navigation Pattern Users Trust Without Noticing

Why They Matter Most When You Stop Thinking About Them

Read article
UX Design

Date Pickers: The Input Everyone Gets Wrong

When a calendar widget makes sense (and when it doesn't)

Read article
UX Design

Empty States: The Screens Everyone Designs Last and Users See First

The App Moment That Either Converts or Confuses

Read article
UX Design

Error Messages: The Copy That Decides Whether Users Rage-Quit

From "Invalid Input" to Users Actually Fixing It

Read article
UX Design

Mega-Menus: When Big Navigation Helps and When It Just Overwhelms

Catalog Sites Love Them. Six-Page Sites Hate Them. Here's Why.

Read article
UX Design

Microcopy: The Tiny Words That Quietly Do the Selling

Why 'Start Free' Beats 'Submit', and Why Every Word Costs You Conversions

Read article
DevOps

Netlify Scheduled Functions: Cron Jobs Without a Server

Run background tasks without a cron service

Read article
UX Design

Pagination vs Infinite Scroll: Stop Guessing, Pick by Content Type

The Dead Footer Problem Nobody Talks About

Read article
UX Design

Password Fields: The Input We Keep Getting Wrong

Why your password input is worse than you think — and how to fix it

Read article
React

React Hook Form + Zod: Forms That Validate Themselves

No Duplicate Validation Logic

Read article
DevOps

Self-Hosting npm Packages Beats a CDN Script — Here's Why

Stop trusting third-party CDNs for your critical dependencies

Read article
Web Design

Site Search: When Users Reach For It (And When Your Nav Already Failed)

The Feature You Only Need When Navigation Breaks

Read article
UX Design

Skeleton Screens vs Spinners: The Psychology of the Wait

Why Waiting Feels Different Depending on What You See

Read article
Web Design

Sticky Headers: Useful Nav or Screen-Eating Nuisance?

The Mobile UX Tradeoff Nobody Talks About

Read article
UX Design

Thank-You Pages: Your Most Wasted Real Estate

After the Submit Button, Most Brands Stop Thinking

Read article
UX Design

Tooltips: The UX Crutch You're Probably Overusing

When a label would do the job better

Read article
UX Design

Your 404 Page Is a Conversion Opportunity, Not a Dead End

The Most Neglected Page on Every Website

Read article
Digital Marketing

$2M a Year in Meta Ad Spend: Why the Expert Beats the Agency

What happens when the person reading the data is the person changing the bids.

Read article
Performance

Astro Prefetch: Instant Page Navigation for Free

One attribute. SPA-level speed. No React.

Read article
Web Performance

Preconnect: The 2-Line Resource Hint That Speeds Up Every Third-Party

Two Lines That Save 40% Load Time

Read article
Web Performance

requestIdleCallback — Let the Browser Breathe

Defer JavaScript Until the Browser Finishes Important Work

Read article
Web Design

⌘K Search Palette — How Velocity X Adds Vercel-Style Quick Search to Marketing Sites

Press ⌘K (or Ctrl+K) to search every page and blog post. Built on Radix Dialog + Fuse.js with zero runtime overhead.

Read article
SaaS vs Custom

1:1 Online Tutoring Platform Software — Custom Zoom Auto-Create + Lesson Notes + Recording Library vs Generic Booking

Solo tutors + small practices (5–50 online students, $35–80/hr rates) lose $8k–15k/yr to manual Zoom invites, lost lesson notes, no recorded-session library, payment friction, plus Acuity/TutorBird don't auto-create Zoom or track parent-facing recaps

Read article
SaaS vs Custom

24/7 Emergency Trade Dispatch Software — On-Call + GPS + SMS + Premium Pricing

8-tech emergency plumbing / electrical / locksmith fleet: 24/7 after-hours rotations, GPS dispatch to nearest tech, customer SMS + ETA + tech photo, premium pricing (2–3× day rate after hours), corporate emergency contracts (hospitals, shopping centres, office parks). Chaos: WhatsApp on-call groups, manual GPS routing (Google Maps), payment recovery slow (cash-heavy after-hours work), compliance risk (Fair Work after-hours rules, penalty rates). Custom platform = on-call roster + auto-dispatch + SMS gateway + dynamic pricing + contract lock-in. Year 1: recover $180k lost evening/weekend revenue, upsell premium contracts +$200k, scale to $1.2m ARR with same 8 techs.

Read article
SaaS vs Custom

24/7 Veterinary Hospital Software — Emergency Triage (Critical Cases, Spinal Trauma, Seizures, Toxicosis), After-Hours Roster Management, ICU Monitoring (Vitals Tracking, Temperature, HR, RR, Blood Glucose), Surgical Theatre Scheduling (Emergency + Elective, Pre-Op Checklist, Post-Op Recovery), Pet Insurance Claim Automation with VetPay Integration, ezyVet vs Custom Platform

24/7 veterinary emergency hospitals handle: critical triage (hit-by-car trauma [spinal subluxation [head injury [toxicosis [GI blockage [seizure status epilepticus [all life-threatening, must be triaged into ICU [observation [surgery within 15 min), after-hours rostering (8–12 vets on rotating 12-hour shifts, staff on-call, break relief, sick-day swaps, roster published 2 weeks in advance), ICU monitoring (hospitalised patients require continuous vitals tracking [temperature [cardiac rate [respiratory rate [blood glucose [urine output [treatment logs every 2 hours, VetPay pet insurance claim submission [auto-matched to procedures [claim pre-authorization [[can procedure proceed?), surgical theatre scheduling (emergency Caesar sections, trauma exploratory surgery, emergency orthopedic [mixed with elective dentals [spay-neuter, theatre timing, pre-op checklists [bloodwork [IV access, post-op recovery protocols). ezyVet = appointment-only (books appointment, invoices fee, exit). Missing: emergency triage dispatch (patient arrives, no triage system [vet examines by eyeball [might not be critical [might die), after-hours rostering (Google Sheets rostering [chaos [staff double-booked [no handoff protocol [patient care interrupted), ICU monitoring (whiteboard vitals [not real-time [missing data [animal deteriorates [unnoticed), theatre scheduling (booking conflicts [emergency vs elective overlap [theatre down-time [revenue loss), VetPay claims (manual submission [claim rejected [resubmit [payment delay [client churn). Custom platform = triage dispatch + after-hours roster + ICU real-time dashboards + theatre scheduling + VetPay automation. Emergency vet hospital 8 vets ROI 22 days, $580k year-1 value. AU-specific (Australian Veterinary Association [AVA], AVBC veterinary board registration, controlled drugs register [anesthesia logs [DEA-equivalent), VetPay pet insurance providers (Petshop, Opal, OnePet, Direct)."

Read article
Performance & Design

3D-Skewed Marquee Tech Stack — Velocity X's TechStack Section Anatomy

How Velocity X Sells Your Stack Without Loading 50 Tech Logos

Read article
Content

500 Blog Posts in 72 Hours — How Aidxn's Fable + Haiku Pipeline Worked

72 hours. 500 posts. One content engine. In May 2026, Aidxn shipped a proof-of-concept that topical authority still beats single-post SEO: a fully autonomous content pipeline that generated 500 blog posts across 8 verticals in three days. Architecture: Claude Opus (Fable) as director, parallel Claude Haiku workers, 4–6 posts in-flight concurrently. Real numbers: 30–90s per dispatch, 2–3 posts per turn, 70–90 posts per hour at peak. Here's how it worked, where it broke, what we learned, and whether you should try it.

Read article
Content

600 Blog Posts in 96 Hours — Final Reflection on the Aidxn Marathon

May 2026. After 96 hours of autonomous content generation, Aidxn shipped 600 blog posts across 12 verticals. Not a typo. Not AI slop. 1.05 million words, unique outlines, code examples, real research. Total API spend: $8. This is the final post in the marathon series: how the architecture evolved from 500 to 600 posts, what broke this time, real lessons learned, and whether the SEO bet paid off. Spoiler: the numbers are staggering.

Read article