WRITING — 34 ARTICLES

Notes from the field.

How We Won the Deriv AI Hackathon with an AI-Powered KYC Pipeline

Jun 12, 2026

4 min read

How We Won the Deriv AI Hackathon with an AI-Powered KYC Pipeline

Our team won the Deriv Low-Code/No-Code & AI Hackathon by building an automated KYC solution on OutSystems, pairing Amazon Rekognition's document and face analysis with OpenAI for decisioning. Here's how the pieces fit and what a hackathon teaches you about scope.

  • hackathon
  • AI
  • KYC
  • Amazon Rekognition
agy-bridge: Letting Claude Code Delegate Heavy Work to Gemini

Jun 12, 2026

5 min read

agy-bridge: Letting Claude Code Delegate Heavy Work to Gemini

I built an MCP server that lets Claude Code hand off large-file analysis, git archaeology, web lookups, and adversarial reviews to Google's Antigravity CLI — keeping huge context out of Claude's window. Here's the architecture and the hard parts.

  • MCP
  • Claude Code
  • Gemini
  • AI tooling
Anti-Anxiety Design: The Features I Refused to Build into a Location App

Jun 12, 2026

3 min read

Anti-Anxiety Design: The Features I Refused to Build into a Location App

The hardest decisions in North weren't technical — they were refusals: no live ticker, no speed display, no battery levels, no fear-based copy. A design philosophy for building a tracking app that families can use without dreading it.

  • product design
  • privacy
  • UX
  • ethics
My GitHub Commits Write My X Posts: Claude + GitHub Actions Build-in-Public Automation

Jun 12, 2026

3 min read

My GitHub Commits Write My X Posts: Claude + GitHub Actions Build-in-Public Automation

A workflow that reads my real GitHub activity twice a day and drafts an authentic build-in-public post — with anti-repetition memory committed back to the repo, a skip gate, format rotation, and one self-referential bug worth telling.

  • automation
  • GitHub Actions
  • Claude
  • X
Background Location on Expo That Actually Works: North's Pipeline

Jun 12, 2026

3 min read

Background Location on Expo That Actually Works: North's Pipeline

Continuous family location sharing sounds simple until iOS suspends your app and Android Doze eats your updates. The architecture behind North: layered heartbeats, silent push wakes, deferred batching, and a realtime channel that survives reconnects.

  • React Native
  • Expo
  • geolocation
  • iOS
What I Learned Building an MCP Server in TypeScript

Jun 12, 2026

4 min read

What I Learned Building an MCP Server in TypeScript

Practical lessons from shipping a production MCP server: tool descriptions are prompts, error messages are instructions, stdout is sacred, and testability comes from one small interface.

  • MCP
  • TypeScript
  • Node.js
  • AI tooling
Building Habivit: A SwiftUI Habit Tracker with Zero Dependencies

Jun 12, 2026

4 min read

Building Habivit: A SwiftUI Habit Tracker with Zero Dependencies

Habivit is a habit-stacking iOS app built entirely on Apple frameworks — SwiftData, CloudKit, WidgetKit, StoreKit 2. The interesting engineering lives in the app–widget sync, a momentum metric that replaces streaks, and a three-tier container fallback.

  • iOS
  • SwiftUI
  • SwiftData
  • CloudKit
Chrome Web Store Assets as Code: A Puppeteer + Sharp Pipeline

Jun 12, 2026

3 min read

Chrome Web Store Assets as Code: A Puppeteer + Sharp Pipeline

Store screenshots and promo tiles rot the moment your UI changes. For NorthLab Folders I built the listing assets as HTML templates rendered headlessly at 2x and downsampled with Sharp — one command regenerates the entire Chrome Web Store kit.

  • Chrome Extensions
  • Puppeteer
  • Sharp
  • design
Hooks vs. Instructions: What Building (and Un-Building) claude-to-agy Taught Me

Jun 12, 2026

3 min read

Hooks vs. Instructions: What Building (and Un-Building) claude-to-agy Taught Me

Before agy-bridge there was claude-to-agy — a Python MCP bridge whose most instructive feature was the one I deleted: a hook that hard-blocked token-heavy commands. On guiding agents with rules instead of interception, and the consume-vs-operate routing test.

  • MCP
  • Claude Code
  • Python
  • AI tooling
A Dead-Man's Switch for Mobile Apps: North's Reconnect Nudges

Jun 12, 2026

4 min read

A Dead-Man's Switch for Mobile Apps: North's Reconnect Nudges

When a location-sharing app gets swipe-killed, it can't tell anyone it died. North layers three mechanisms — a server-side reconnect push, a client-side local-notification dead-man's switch, and always-on nudges — so going dark never goes unnoticed.

  • mobile
  • push notifications
  • Supabase
  • Expo
Deep Links That Actually Open the App: AASA, assetlinks, and the Store Fallback

Jun 12, 2026

3 min read

Deep Links That Actually Open the App: AASA, assetlinks, and the Store Fallback

Building North's /join invite page was 10% page and 90% plumbing: Apple App Site Association, Android assetlinks, fingerprint mismatches, CDN caching traps, and routing users without the app to the right store — with the invite intact.

  • deep linking
  • iOS
  • Android
  • universal links
Detecting Driving vs. Walking from GPS Without Lying at Red Lights

Jun 12, 2026

3 min read

Detecting Driving vs. Walking from GPS Without Lying at Red Lights

GPS speed is -1 half the time, background fixes arrive in batches, and a stopped car isn't a pedestrian. How North classifies activity from hostile location data: three speed sources, a hysteresis hold, and a freshness cutoff.

  • geolocation
  • GPS
  • React Native
  • algorithms
Fixing Claude Code's Trailing-Dot Username Bug on macOS

Jun 12, 2026

4 min read

Fixing Claude Code's Trailing-Dot Username Bug on macOS

Claude Code's path scanner false-positives on macOS usernames containing a period, breaking permission rules entirely. Here's the root cause, why no allow-rule can fix it, and the account-rename escape hatch that actually works.

  • Claude Code
  • macOS
  • debugging
  • AI tooling
Tap the Version Number Seven Times: Production Diagnostics for Mobile Apps

Jun 12, 2026

3 min read

Tap the Version Number Seven Times: Production Diagnostics for Mobile Apps

Release builds tell you nothing when they break. North hides a dev menu behind seven taps on the version number — diagnostics, state inspection, and a shareable debug dump — so production issues don't require shipping debug builds to family members.

  • mobile
  • debugging
  • React Native
  • developer experience
Honest Staleness: Stop Telling Users Their Data Is Live When It Isn't

Jun 12, 2026

3 min read

Honest Staleness: Stop Telling Users Their Data Is Live When It Isn't

Showing 'Sharing live' next to a three-hour-old location is lying. How North decides when presence is fresh, how relative timestamps should degrade, and why a 10-minute cutoff changed the app's whole credibility.

  • UX
  • realtime
  • product design
  • React Native
Smooth Scrolling Done Right: Lenis + GSAP ScrollTrigger in Next.js

Jun 12, 2026

4 min read

Smooth Scrolling Done Right: Lenis + GSAP ScrollTrigger in Next.js

The canonical Lenis/ScrollTrigger wiring, and the four integration bugs nobody warns you about: fighting anchor links, broken scroll locks, lag-smoothing jank, and reduced-motion users.

  • GSAP
  • Lenis
  • ScrollTrigger
  • Next.js
Location Privacy by Construction: Coordinate Blurring and the Gulf of Guinea Bug

Jun 12, 2026

3 min read

Location Privacy by Construction: Coordinate Blurring and the Gulf of Guinea Bug

North lets members share a ~1.1 km blurred position instead of an exact one — by rounding on-device, so precise coordinates never reach the server. Plus the JavaScript coercion bug that teleported paused users to coordinates (0,0).

  • privacy
  • geolocation
  • React Native
  • Supabase
LutStyles: Real-Time LUT Previews in the Browser with WebGL

Jun 12, 2026

3 min read

LutStyles: Real-Time LUT Previews in the Browser with WebGL

Why importing footage into an NLE just to test a color grade is absurd — and how LutStyles applies cinematic .cube LUTs to flat log video entirely client-side: hardware decoding, Three.js post-processing, and zero uploads.

  • WebGL
  • Three.js
  • React Three Fiber
  • color grading
MDX at Scale: The Parser Traps You Hit at Article #47

Jun 12, 2026

3 min read

MDX at Scale: The Parser Traps You Hit at Article #47

Touching 100 MDX articles in one pass taught me where the format actually breaks: markdown silently dying inside JSX blocks, script tags that won't parse, and the export-default escape hatch that fixes both.

  • MDX
  • Next.js
  • markdown
  • React
The Complete Next.js SEO Setup: JSON-LD Graphs, llms.txt, and Everything Between

Jun 12, 2026

4 min read

The Complete Next.js SEO Setup: JSON-LD Graphs, llms.txt, and Everything Between

Every SEO layer I shipped on this site, in dependency order: an entity-linked JSON-LD @graph, the Metadata API, generated sitemaps and RSS, OG images, and optimizing for AI search engines with llms.txt.

  • SEO
  • Next.js
  • JSON-LD
  • structured data
NorthLab Folders: Local-First Architecture for a ChatGPT & Claude Extension

Jun 12, 2026

3 min read

NorthLab Folders: Local-First Architecture for a ChatGPT & Claude Extension

Folders, search, and export for AI chats — built with WXT and React 19 in shadow DOM, reading conversations from JSON response interceptors instead of DOM scraping, storing everything in IndexedDB, and selling Pro without a backend.

  • Chrome Extensions
  • WXT
  • React
  • local-first
Why a Senior Frontend Engineer Got OutSystems Certified

Jun 12, 2026

3 min read

Why a Senior Frontend Engineer Got OutSystems Certified

After low-code won me a hackathon, I earned the Associate OutSystems Developer (ODC) certification. On where visual development genuinely beats hand-written code, where it doesn't, and what the exam report taught me about honest skill assessment.

  • OutSystems
  • low-code
  • certification
  • career
A Production Admin Panel in a Weekend: Next.js, Supabase Service Role, and One Password

Jun 12, 2026

3 min read

A Production Admin Panel in a Weekend: Next.js, Supabase Service Role, and One Password

North's back office ships without a user system: one shared password verified in constant time, server-only modules guarding the service-role key, DTO mapping so tokens never reach the browser, and an audit table for every mutation.

  • Next.js
  • Supabase
  • admin
  • security
prkit: Selling a Chrome Extension with Paddle, Upstash, and a 90-Day JWT

Jun 12, 2026

4 min read

prkit: Selling a Chrome Extension with Paddle, Upstash, and a 90-Day JWT

The licensing architecture behind prkit — a GitHub PR-template extension with a one-time $9 Pro tier: Paddle webhooks, triple-indexed Redis keys, offline-friendly JWTs with revocation, and injecting UI into GitHub's React DOM.

  • Chrome Extensions
  • Paddle
  • Upstash Redis
  • Next.js
Push Notifications With EQ: Writing Copy That Doesn't Sound Like a Robot

Jun 12, 2026

3 min read

Push Notifications With EQ: Writing Copy That Doesn't Sound Like a Robot

North's admin notify system ships with 25 emotionally intelligent preset templates, name personalization, and sender personas — because in a family app, a push notification is a message from someone, and the engineering should honor that.

  • push notifications
  • UX writing
  • product design
  • Expo
Replacing iCloud with a Raspberry Pi 5: OpenMediaVault, RAID, Pi-hole, and WireGuard

Jun 12, 2026

4 min read

Replacing iCloud with a Raspberry Pi 5: OpenMediaVault, RAID, Pi-hole, and WireGuard

I stopped renting cloud storage and built a home server on a Raspberry Pi 5 — OpenMediaVault for NAS duties with RAID, Pi-hole for network-wide ad blocking, and WireGuard so the blocking follows my phone out the door.

  • self-hosting
  • Raspberry Pi
  • OpenMediaVault
  • Pi-hole
Rebuilding My Portfolio with Next.js 16 and React Three Fiber

Jun 12, 2026

4 min read

Rebuilding My Portfolio with Next.js 16 and React Three Fiber

From a Vite SPA to a fully static Next.js 16 site with a real-time 3D hero — the design system, the WebGL performance budget, and the decisions behind the monochrome rebuild you're reading right now.

  • Next.js
  • React Three Fiber
  • Three.js
  • Tailwind CSS
Comp Subscriptions Without the Jank: RevenueCat Promo Entitlements End to End

Jun 12, 2026

3 min read

Comp Subscriptions Without the Jank: RevenueCat Promo Entitlements End to End

Granting free premium sounds trivial until the client shows users a raw rc_promo product ID and your admin panel races a webhook. How North handles promotional entitlements across the app, the back office, and the eventual-consistency gap.

  • RevenueCat
  • subscriptions
  • React Native
  • in-app purchases
Rewriting 100 Articles in One Pass: Content Ops for SEO and AdSense

Jun 12, 2026

4 min read

Rewriting 100 Articles in One Pass: Content Ops for SEO and AdSense

Taking PakSolarInsights from 5 articles to 100+ AI-assisted guides — and the editorial system that made it rank-worthy: atomic summaries for snippets, exact title–H1 alignment, organization-level E-E-A-T, freshness consistency, and AdSense-safe layout.

  • SEO
  • content strategy
  • AdSense
  • E-E-A-T
Zen Google: Blocking the Sign-In Popup and AI Overviews with Manifest V3

Jun 12, 2026

4 min read

Zen Google: Blocking the Sign-In Popup and AI Overviews with Manifest V3

How I built a zero-tracking Chrome extension that kills Google's One Tap sign-in nag and hides AI Overviews — using declarativeNetRequest layering, accessibility-tree DOM detection, and a redirect rule that doesn't loop.

  • Chrome Extensions
  • Manifest V3
  • declarativeNetRequest
  • JavaScript
🌟 Why `env` Wins: Advantages over Objects in Web Development 🚀

Nov 22, 2025

2 min read

🌟 Why `env` Wins: Advantages over Objects in Web Development 🚀

Why env Wins: Advantages over Objects in Web Development

  • TypeScript
  • React
  • Best Practices
  • env
Optimizing React Performance: A Practical Guide

Jan 15, 2025

3 min read

Optimizing React Performance: A Practical Guide

Learn practical techniques to boost your React application's performance, from code splitting to memoization strategies.

  • React
  • Performance
  • Optimization
  • JavaScript
TypeScript Best Practices for React Applications

Jan 10, 2025

5 min read

TypeScript Best Practices for React Applications

Master TypeScript in React with these production-tested patterns and best practices from enterprise development.

  • TypeScript
  • React
  • Best Practices
  • Type Safety
Modern CSS Techniques Every Frontend Developer Should Know

Jan 5, 2025

5 min read

Modern CSS Techniques Every Frontend Developer Should Know

Explore cutting-edge CSS features like container queries, cascade layers, and modern layout techniques that are transforming web development.

  • CSS
  • Frontend
  • Web Development
  • UI/UX