Hi, I'm Phuc!
I'm a full-time indie hacker. I build Internet products to solve problems for myself and others. I then charge a small fee to keep the lights on and live independently.
Products
- Bard Wow! - Save & Access Bard Chat History
- ChatFRIDAY - Enhanced UI/UX for ChatGPT
- NextStatic - 10x Cheaper Image Optimization for Next.js
- Queue - Twitter Scheduling Tool for Notion
- Nora - Project Management Template for Notion
- Clean Mac Desktop - Clean & Backup MacOS Desktop in 1-click
- nbundle - App Store & Developer Platform for Notion
- Daily - Simple Scratchpad for Pretty Much Anything
- shell.how - Explain Shell Commands
Tweets
I build in public on Twitter. I tweet product updates and learnings almost every day, life updates sometimes, and epic shit-posts most often.
See my tweets @phuctm97.
Sources
I open-source most of my recent work. It's building in public at its finest. Besides, it helps me get over the idea that my code is shitty, which it always is, to just ship it.
See my sources @phuctm97.
Stories
I post stories of folks I hang out with, places I travel to, and food I eat, to keep a memory for myself and to connect with friends in a more personal way.
See my stories @phuctm97.
Posts
(No recent posts)
Old posts
I wrote these posts a long time ago, some of them may be outdated.
- Make Copyable Code Block For Your Blog
- MDX (Unified) Mutating Options Object Cost Me 2 Hours
- How-to Integrate Plausible Analytics With Next.js and Vercel
- How-to Keep Your Packages Always Up-to-date with Dependabot
- Simple Script Cut 50% Size Of My React Website
- Write My First Tailwind CSS Plugin
- Upgrade My Blog From Plain HTML to "Well-Designed" In 2 Weeks. I Suck.
- Auto Shrink Header On Scroll in React
- Misunderstanding @tailwindcss/typography costs me 2 hours
- A Quick Exploration Into Deno
- Imagegen as a Service (Free), All Bloggers Should Have One
- I Changed My Mind After 2nd Try Tailwind CSS
- Introducing Hashnode SDK for TypeScript/JavaScript
- Parse Markdown Frontmatter In MDX, Remark, and Unified
- Publish My First NPM TypeScript Package
- Being Ambitious Is A Myth
- Automate Distributing My Posts to DEV.to
- Create an MDX Plugin To Have My Own Markdown Language
- Switch to Next.js and MDX
- Hello, World! I Started My Blog In Plain HTML
- Amazon DynamoDB - All You Need To Know About This AWS Service
- Use Go Channels as Promises and Async/Await
- Sync vs. Async vs. Concurrent vs. Parallel
- Binary Search Tree And Real-world Applications
- Go Struct And Stack Data Structure
- Zsh + Antigen + Oh my Zsh = A Beautiful, Powerful, and Robust Shell
- Reverse-engineer A No-code Website Builder
Updates
I send indie-hacking updates at most once a month. I write about challenges I've faced, products and/or features I've shipped, and relevant learnings & thoughts.