Paulund
Subscribe

I’m Paul. I build focused tools that do one job, and do it well.

I’m a software engineer. I run five small products for developers and small businesses, and write up how each one is built:

The Bullion API gives your app live and historical metal prices. Free trial: 1,000 requests over 14 days. No card needed.

SatzoIn developmentUK crypto gains and balances across your wallets.Latest update, Building a liquidity pool simulator to understand my own DeFi positionsDeFi: crypto lending and trading appsFollow by email
SwitchboardIn developmentOne inbox for your customers’ email, across all your projects.No public updates yetFollow by email
LookoutBeta · invite onlySEO problems caught, ranked and confirmed fixed.No public updates yetlookoutseo.app (opens in a new tab)Ask for an invite
Workflow HealthIn developmentSpot queued or slowing GitHub Actions jobs.No public updates yetFollow by email

Notes on how I build software, mostly about AI, Laravel and React.

Sending a prompt to a Claude Code cloud session from my terminal

I start a Claude Code cloud session with one terminal command, so the task keeps running when my laptop is closed. Here is the command and two gotchas.

Long Claude Code sessions pay for their whole history on every call

I audited my own Claude Code sessions after hitting usage limits. Context size was the cost, not the cache. Here is what I changed.

What happens to developers who don't adapt to AI

Why half-adopting AI is riskier than refusing it, which developer skills lose value and which gain it, and where to start if you feel left behind.

useState, useReducer and the mental model of state in React

Why React state is a snapshot per render, how updater functions, batching and lazy initial values work, and when useReducer is the better hook.