Trending Articles
Recent Posts
How to make a scroll-driven video animation with FFMPEG, WebP frames, and canvas
How I turned a short video into a scroll-controlled WebP frame animation using FFMPEG, canvas, an...
Set up a Buttondown newsletter with Jekyll and a custom signup form
How to add a custom Buttondown signup form to a Jekyll blog without exposing API keys or building...
The increasing AI-content consumption fatigue
Why AI-generated content can feel exhausting, and what that means for reading, writing, and atten...
Are we amusing ourselves to death?
Reflections on McLuhan, Postman, and why the medium still has a habit of quietly eating the message.
🍍 Pinia Stores - Manage Vue State With Ease
How Pinia simplifies Vue state management for location and language settings compared with manual...
Firestore + Firebase Hosting with Nuxt 3
How to deploy a Nuxt 3 frontend with Firebase Hosting and Firestore-backed data.
Styled code blocks
How to style Jekyll code blocks with Rouge instead of leaving snippets to fend for themselves.
Vue pagination component
How to build a reusable pagination component in Vue for cleaner list navigation.
Firebase Emulator Suit
How to test Firebase Cloud Functions locally with the Firebase emulator suite.
Nuxt + Tailwind
A quick setup guide for using Tailwind in a Nuxt project.
DaisyUI ❤️ Tailwind
A quick look at using DaisyUI with Tailwind to move faster without hand-rolling every component.
Tailwind Safelist
Why Tailwind can drop dynamic classes and how to use a safelist when generated class names disapp...
Current Projects
Vegan Monkey
A webapp that consolidates plant-based products, dishes, services, and experiences in Bangkok.
Visit Site
15 Pages
Book summaries and tools to help incentivize more reading. Work in progress.
Visit SiteEm Dash Patrol
Rule-based scan for AI-writing tells in pasted prose (em dashes, throat-clearing openers, hype verbs), optional Gemini roast, privacy-minded logging.
Visit SitePrevious Projects
Blue Tiki
Crypto token launched to reward eco-positive actions through collaboration with sustainability partners.
Visit Site
Stop Football Plastic
Vision to stop 1.34 million single-use plastic bottles through collaboration with football clubs in South East Asia.
Visit Site