JH← Back to portfolio

Writing

Blog

Technical posts on full-stack dev, AI architecture, and building products solo.

August 16, 20268 min read

React 20 Is Coming — Here's What's Actually Worth Preparing For (and What Isn't)

React 20 previews deeper React Compiler integration, refined Server Components, and better concurrent rendering. Here's what frontend teams should actually plan for ahead of release.

August 14, 20268 min read

Tailwind CSS 4.3 Quietly Fixes the Scrollbar Styling Problem Everyone's Been Hacking Around

Tailwind CSS v4.3 adds first-party scrollbar styling utilities, expanded logical properties, and new zoom and tab-size utilities. Here's what changes for teams maintaining custom CSS workarounds.

July 30, 20269 min read

Chrome 151 Just Deleted the Last of Manifest V2 — and Quietly Shipped Four APIs Worth Your Attention

Chrome 151, released July 28, removes the AllowLegacyMV2Extensions developer override — the last way to load an MV2 extension at all — and ships Declarative Shadow DOM slot assignment, Soft Navigations metrics, and a new usermedia capability element.

July 8, 20265 min read

Deel vs Wise vs Payoneer: Which Platform European Clients Actually Prefer

European companies paying international contractors increasingly choose Deel over Wise or Payoneer for compliance reasons, not payment cost. Here's what that means for the contractor on the receiving end.

July 8, 20266 min read

Deel vs Wise vs Payoneer: How to Pay Overseas Freelance Developers Without Overpaying in Fees

A buyer's comparison of Deel, Wise, and Payoneer for US, Canadian, Australian, and European businesses paying international freelance developers — real 2026 costs, compliance handling, and which platform fits your team size.

July 8, 20264 min read

Hiring Freelance Developers in Canada from the US: What Compliance Actually Requires

The CRA presumes a worker is an employee unless you can prove otherwise. Here's what US companies actually need to get right when hiring Canadian freelance developers in 2026.

July 8, 20264 min read

Mollie vs Adyen vs Stripe for European SaaS Founders in 2026

Stripe, Adyen, and Mollie serve European SaaS founders differently on fees, local payment methods, and VAT handling. Here's what actually decides the choice at each stage of revenue.

July 8, 20264 min read

What US Startups Actually Pay Offshore Full-Stack Developers in 2026

Offshore full-stack rates span $15 to $180 an hour for the same job title. Here's what actually drives the difference — and why the quoted rate isn't your real cost.

July 8, 20264 min read

Stripe vs Paddle vs Lemon Squeezy for US Indie SaaS Founders in 2026

Stripe's 2.9% + 30 cents looks cheaper than Paddle or Lemon Squeezy's 5% + 50 cents until you price in sales tax nexus exposure. Here's the real comparison for US indie SaaS founders.

July 8, 20264 min read

Stripe vs Wise Business for Canadian SaaS Founders: The FX Spread Nobody Itemizes

Canadian SaaS founders billing in USD lose real revenue to Stripe's currency conversion spread. Here's how Stripe and Wise Business actually compare on FX cost in 2026.

July 8, 20264 min read

What US and European Clients Actually Look for When Hiring Offshore Developers

Offshore developers competing purely on rate are competing in the most crowded part of the market. Here's what actually convinces US and European clients to hire above the bottom-tier rate band in 2026.

July 6, 20268 min read

Angular 21 Finally Kills Zone.js. Signal Forms Are the Bigger Story.

Angular 21 ships Signal Forms, stable zoneless change detection, and Angular Aria. Here's what actually changed, who should upgrade first, and a phased migration plan that isn't a rewrite.

July 1, 20263 min read

Mastra Is Betting That TypeScript Teams Don't Want to Learn Python for AI Agents

Mastra went from launch to 300,000+ weekly npm downloads and production use at PayPal and SoftBank by building AI agent tooling natively in TypeScript. Here's what it actually gives you and where it fits.

July 1, 20263 min read

Vue's Vapor Mode Is Feature-Complete. It's Still Not Ready for Your Production App.

Vue 3.6's Vapor Mode ditches the virtual DOM for compiler-generated direct DOM updates, with benchmarks showing up to 97% faster renders. Here's what's real, what's not stable yet, and how to plan for it.

June 30, 20264 min read

Headless Architecture in 2026 — The Future of Web Development is Already Here

Headless architecture is now mainstream in web development. Learn what it is, why enterprises are adopting it at scale, and how to decide if it's right for your next project.

June 29, 20265 min read

n8n vs Make vs Zapier for Developers: Which Automation Tool Actually Fits

A developer-focused comparison of n8n, Make, and Zapier — self-hosting, code escape hatches, pricing at scale, and when each tool is the right choice for building automation workflows.

June 29, 20266 min read

Next.js 15 Server Components: What Actually Changed and What to Do About It

A practical breakdown of what Next.js 15 changed around Server Components, async request APIs, caching defaults, and the Turbopack-stable shift — what breaks, what's better, and how to migrate.

June 29, 20266 min read

Supabase pgvector for RAG: The Complete Production Setup

How to set up pgvector in Supabase for a production RAG pipeline — embedding storage, similarity search, indexing strategy, chunking decisions, and the Postgres functions that tie it together.

June 29, 20267 min read

Multi-Tenant SaaS with Supabase Row-Level Security: The Complete Pattern

How to implement proper multi-tenancy in a Supabase-backed SaaS using Row-Level Security — the RLS policies, org-scoped data isolation, invitation flows, and the gotchas that break production.

June 29, 20267 min read

How to Hire a Developer From Pakistan on Upwork Without Getting Burned in 2026

A hiring guide for US, Canadian, Australian, and European teams sourcing developers from Pakistan on Upwork — how to read profiles and proposals, what fair 2026 rates look like, and the red flags that predict a bad hire.

June 28, 20265 min read

BYOK Multi-Provider LLM Architecture: How HireOS Routes Across Five AI Providers

How I designed HireOS to route AI inference across five providers behind a bring-your-own-key model — the tradeoffs, safe key handling at the edge, the provider abstraction, and fallback design.

June 28, 20264 min read

Next.js + Cloudflare Workers in Production: Edge vs. Node, Gotchas, and What I'd Do Differently

The setup behind HireOS and CodexGenAI — splitting work between Next.js on Vercel and Cloudflare Workers at the edge, the runtime gotchas that cost time, and the decisions I'd revisit.

June 28, 20269 min read

Paddle vs Lemon Squeezy for Pakistan Founders: Stripe Alternatives That Actually Work

A practical 2026 comparison of Paddle and Lemon Squeezy as merchant-of-record processors for SaaS founders in Pakistan — fees, payouts via Payoneer and Wise, and onboarding friction.

June 28, 20264 min read

A Plan → Execute → Synthesize Pattern for Multi-Agent Orchestration

How I structured agentix around three phases — planning, execution, and synthesis — with a pluggable agent registry and a live network graph for observability, and why single-prompt agents fall over.