13 July 2026·1 min readWhy I'm Selective About Freelance WorkI'm open to freelance, but I take on very little of it, and only the right projects. Here's the honest reason.
7 July 2026·2 min readRebuilding My Site for 2026Why I threw out the template and rebuilt my site on Next.js 16, Tailwind v4 and MDX.
27 May 2026·2 min readView Transitions in the Next.js App RouterHow I made a blog thumbnail morph into the hero image on the next page, and the gotchas along the way.
22 April 2026·2 min readMoving My Blog From Sanity to MDXPulling my posts out of a hosted CMS, converting Portable Text to MDX, and the content that broke the build.
4 March 2026·2 min readRethinking useMemo and useCallbackA follow-up to my earlier post: most of the time you do not need these hooks, and the React Compiler is why.
20 January 2026·2 min readHow I Use Claude Code for Front-End WorkMy actual workflow with an agent that lives in the terminal and touches the repo.
25 November 2025·2 min readGetting Better Front-End Code Out of an LLMThe gap between useless and useful model output is almost always the prompt.
7 October 2025·2 min readAI Won't Replace Front-End EngineersModels generate components in seconds. That was never the hard part of the job.
13 July 2025·2 min readMy Favourite React Libraries in 2025A curated list of React libraries that make building modern web apps easier and more enjoyable.
1 June 2023·1 min readUnderstanding the useMemo and useCallback Hooks in ReactHarnessing useMemo and useCallback hooks for optimized React application performance.
1 April 2023·2 min readBalancing Speed and Cost: A Software Engineer's DilemmaWeighing the pros and cons of hourly versus project-based pricing to find the optimal balance.
2 March 2023·2 min readUnderstanding SWR in Next.jsMaster data fetching and caching in Next.js with the SWR library for optimal performance.