Blog

Writing

Field notes on shipping AI integrations, WordPress plugins, and full-stack web products — opinionated, with code that actually runs.

Freelancing6 min read

Why I built three full-stack products back to back

One React Native + Python wallet and two MERN/Next.js web apps, built solo in a short stretch — what shipping three different products in a row actually taught me versus writing three more tutorials.

July 7, 2026Read article →
AI7 min read

Adding AI-generated content to a product without it feeling bolted on

AI-generated workout plans, reports, or drafts are easy to demo and hard to ship well. The difference is almost never the prompt — it's what happens to the output after the model returns it.

July 6, 2026Read article →
Full-Stack8 min read

Designing a microservices backend in Python: lessons from building a digital wallet

Six FastAPI services, one gateway, and the boundaries that actually mattered — what building a multi-currency wallet with fraud screening taught me about splitting a backend by responsibility instead of by guesswork.

July 2, 2026Read article →
Next.js7 min read

Two-sided auth in Next.js: role-based routing patterns for SaaS

Trainer or client, admin or member — when one app serves two different kinds of users, routing and middleware need to enforce roles at more than one layer. Patterns from building Reppod on Next.js 16 and Auth.js.

June 25, 2026Read article →
Full-Stack9 min read

Building a multi-tenant SaaS on the MERN stack: lessons from WorkNavo

How to model organizations, roles, and scoped data access when one user can belong to several workspaces — with real patterns from a MongoDB + Express + React app.

June 18, 2026Read article →
AI8 min read

The Claude API: a practical guide for developers

A hands-on overview of the Claude API features that actually matter in production — streaming, prompt caching, tool use, and extended thinking — with working examples for each.

May 26, 2026Read article →
WordPress6 min read

React patterns inside Gutenberg blocks — what transfers and what doesn't

Gutenberg uses React but the patterns are different. Here is what React developers need to unlearn when writing blocks.

May 25, 2026Read article →
WordPress7 min read

Freemius vs WooCommerce for WordPress plugin licensing — a real comparison

Two ways to monetise a WordPress plugin. One is built for it. Here is the comparison after using both.

May 22, 2026Read article →
AI6 min read

Adding AI to a WordPress plugin with the Claude API

A practical walkthrough for adding Claude-powered features to an existing WordPress plugin — server-side PHP requests, a secure REST endpoint, and a Gutenberg block that consumes it.

May 21, 2026Read article →
Next.js6 min read

WordPress vs Next.js — how to choose for a client project in 2026

Not a framework war. A practical decision framework based on client needs, budget, and who maintains it after launch.

May 20, 2026Read article →
AI6 min read

AI tools for WordPress developers in 2026 — what actually works

Most AI tool roundups are useless. This one covers what works specifically for WordPress development in 2026 — Claude Code, Cursor, Copilot, where each fits, and the smaller list of things AI still gets wrong.

May 18, 2026Read article →
WordPress8 min read

How to ship a WordPress plugin with free and Pro tiers — the Freemius way

Rolling your own licensing is a mistake in 2026. Here is the complete setup for free and Pro tiers using Freemius — folder structure, PHP gating, and WP.org strategy.

April 24, 2026Read article →
WordPress6 min read

Gutenberg block architecture patterns I use in production

Most Gutenberg tutorials teach patterns that break at scale. Here are the architectural decisions that actually hold up across a plugin's lifetime.

April 10, 2026Read article →