Articles
Thoughts, tutorials, and insights about software development, technology, and more.
Deploying Next.js to Cloudflare Workers with OpenNext
What I learned moving kevintrinh.dev off Vercel and onto Cloudflare Workers via OpenNext — the tradeoffs, the gotchas, and the parts that just work.
All Posts
I rewrote my Discord bot in Go — RAM dropped 95%
After my Python bot started OOMing on a 1-vCPU VM, I rewrote it in Go. Here's the side-by-side and why the same logic now runs in 6 MiB instead of 120.
Getting Started with DevfolioX
Learn how to set up and customize your DevfolioX portfolio in minutes. This guide covers installation, configuration, and deployment.
MDX components & syntax highlighting
A live showcase of the custom MDX components available in DevfolioX articles — callouts, YouTube embeds, figures, tweets, kbd, and syntax-highlighted code blocks.
Oracle Cloud's free tier is unreasonably good
An Always Free 4 vCPU / 24 GB ARM VM that you can keep forever — what I run on it, the gotchas, and why it's the cheapest backbone you can build on.
Why I picked MDX over Notion as my CMS
Notion is a great writing surface and a terrible runtime. Here's why this site uses git-tracked MDX files instead, and when I'd flip the call.
Building a private voice assistant on a Raspberry Pi 5
Wake-word detection, speech-to-text, an LLM, and text-to-speech — all running on an 8GB Pi for under 2 seconds end-to-end. Here's the stack.
Resume vs. CV — what to send and when
Quick guide to the actual difference between a resume and a CV — when each is expected, what goes on each, and a no-nonsense template.
What I wish I knew before starting CS at UH
An honest take from a current University of Houston CS student — the courses that matter, the ones that don't, and the side projects that actually moved the needle.
Supabase RLS: the policy patterns I actually use
Five Row-Level Security policies that cover 90% of real apps — owner-only, team-scoped, soft-delete, public read with private write, and admin override. Copy-paste ready.