Some of my best decisions are impulsive ones

Some of my best decisions are impulsive ones

We decided last minute to take the boys to a skatepark on Sunday, not really knowing if we could get in or join as the website wasn’t clear. The boys loved it. For over an hour they learned, practice, and practiced. Seeing H go from not being able to balance on the board to confidently kicking and moving forward on it, and seeing G getting ve…

Read on Substack →

Headless Game Development with Claude Code and Godot

Headless Game Development with Claude Code and Godot

This is a learning project. I wanted to answer: How well do Claude Code and Godot work together for game development?The experiment: Build a visual novel using Claude Code as the primary development interface — an autonomous collaborator that could analyze problems, build solutions, and create its own tools.What I learned:Headless-first tools…

Read on Substack →

Passion, People, and Perspective at Devcom / Gamescom 2025

Passion, People, and Perspective at Devcom / Gamescom 2025

I just got back from Cologne after spending the week at Devcom and Gamescom 2025, where I also gave a talk on our growth journey with BattleTabs. It wasn’t just about presenting — for me, this trip was about reconnecting with the games industry, the community, and my own passion for why I started building games in the first place.Why I …

Read on Substack →

I Miss Making Things

I Miss Making Things

I think one of the hardest things about being someone who wants to create—and I hesitated just now, calling myself a “creative”—is being honest with yourself. I’ve made a bunch of things, sure. But that label still feels… distant. There’s this low hum of imposter syndrome I haven’t quite shaken. Maybe…

Read on Substack →

I Need to Sleep Earlier, So I am Starting a Club

I Need to Sleep Earlier, So I am Starting a Club

I don't go to bed early enough. After putting the kids to bed, I am exhausted. A long day of work, child-care, house work, I am beat and a quick sitting down on the sofa often turns into an evening nap. The problem with having a nap that late is that I'd wake up 30 minutes later with a bit mroe energy, and don't go to bed until well after midnight.…

Read on Substack →

Dice Battle Game Prototype with LÖVE

Dice Battle Game Prototype with LÖVE

(source on github: https://github.com/theBrandonWu/love-dice-game)Two weeks ago, I was reading up on LÖVE, a lightweight 2D game framework that's come back to the spotlight thanks to it being used to build recent indie successes like Balatro, Arco, and Gravity Circuit, and Moonring. It being the valentine's day week, I thought it'd be fun to m…

Read on Substack →

Building a Social Media AI Agent with Smolagents

Building a Social Media AI Agent with Smolagents

Smolagents is a library for building AI agents from Hugging Face. Compared to other AI agent frameworks, it's lightweight, and allows agents to write actions in code.I like the simplicity of the library - perfect for getting started creating agents (AIs that can take actions). Documentation is easy to understand and comes with plenty of bite-sized …

Read on Substack →

Build with Local LLM AI Models - Setting Up

Build with Local LLM AI Models - Setting Up

I have been prototyping a number of LLM-powered AI digital products in the past couple of weeks to further understand how to work with and integrate AI models into my own projects and ideas, including running AI models locally, using AI to organise and make connections between my personal notes, creating a desktop app that reads my emails and draft…

Read on Substack →

Why I Could Never Relax

Why I Could Never Relax

One day, my wife asked our 8-year-old son, “What’s your definition of being relaxed?” He answered, “When I feel like things are under control.”That simple response struck me deeply. That simple insight revealed why relaxation so often eludes us, especially as founders. A warm bath, a massage, or lying on a beach doesn&…

Read on Substack →

How I Felt When My Startup Ran Out of Money

How I Felt When My Startup Ran Out of Money

Let's start with how I am feeling. I am not sure. If you ask me in person, I might tell you I feel exhausted, beat, and numb. I am not 100% sure that's how I am actually feeling. Maybe it's more than those feelings but a big bowl mixed with all of those and more. I feel angry at times. I feel bitter at times. I feel stressed and anxious financially…

Read on Substack →

What Crypto Brings to the Table for Games (part 2)

What Crypto Brings to the Table for Games (part 2)

Part 2: Micro — Collectibles, Value, and Game Design(also on mirror.xyz)Now that we've explored crypto gaming on a macro level to the ecosystem around our games, let's take a closer look at how crypto assets differ from non-crypto assets in games, where their value comes from, and how that might change the way we design them.CollectiblesColle…

Read on Substack →

What Crypto Brings to the Table for Games (part 1)

What Crypto Brings to the Table for Games (part 1)

Part 1: Macro — New Participants, Permission-less Opportunities, and Communities(also on mirror.xyz)In the past few months, I’ve spoken to people up and down the ecosystem of crypto gaming - from game directors, designers, investors, blockchain operators, to platform builders, to understand what it is, and what the future holds.I’…

Read on Substack →

Build with Local LLM AI Models - Setting Up

I have been prototyping a number of LLM-powered AI digital products in the past couple of weeks to further understand how to work with and integrate AI models into my own projects and ideas, including running AI models locally, using AI to organise and make connections between my personal notes, creating a desktop app that reads my emails and draft replies in batch, AI as a dungeon master in a rogue-lite game, and using AI to continuously create new landing pages for A/B testing for my GMAT book. I’ll write about each in separate blog posts. But first, let’s get some AI running on my device that I can use to test my projects.

Running LLM Models Locally

I want to try running LLM models on my local machine. I have a Mac Studio (Apple M2 Max, 32GB RAM). It’s not the most powerful machine you can build to run AI models, but I wanted to know how capable a typical computer you might find on your desk can be. I have found these local models to be sufficiently capable in most instances for the typical writing related tasks, idea generation, and analysis.

Setting Up

The easiest way I found is to simply use Ollama, which is a desktop platform that allows you to run and interact with AI models locally on your device.

More …

Criteria for Deciding on Ideas

Criteria for Deciding on Ideas

Mike, my co-founder at markd.ltd, and I are both the kind of people that has many random ideas, and often find ourselves diving right in after we’ve come up with something new or novel or just quirky.

A few months ago we decided we should have a process to help us think about our ideas. Building new ideas is all fun and game, but at the end of the day, we’ve got a company to build, one which I hope can continue to be creative, fun, and useful.

So this is the criteria we came up with. This is not meant to be a general purpose criteria for filter ideas, but one that we decide to use because of our skills, experiences, personalities, and resource limitations.

More …

TalentSearch.cc bombed on ProductHunt

TalentSearch.cc Bombed on ProductHunt

So TalentSearch.cc bombed on ProductHunt.

It didn’t get nearly as many votes or as much attention as ColdEmailTemplate.cc or Markd.co, both were featured on the front page. I was overly confident in how useful TalentSearch.cc is for people (who wouldn’t want a search bar to find talents on multiple social platforms?!) and how popular it will be for the PH community, which also meant I spent way more time on it than ColdEmailTemplate.cc.

More …

Tidy Up Your Following — The 100-Following Rule

The 100-following rule

Why We should KonMari Our Social Follows

A number of years ago I read Kevin Kelly’s essay on 1,000 True Fans. The idea that if you can find and grow an audience of 1,000 true fans that love what you do, you can be financially independent as a creative maker.

I liked this theory, and decided I will put it to practice by reducing the number of people I follow on Twitter.

More …

Marketing Sucks

Marketing sucks

Marketing Sucks.

Marketing sucks, big time.

You push and pull and try to get known. You obsess over views and votes and all the likes you didn’t get.

More …

Feeling Anxious? Try Writing

Feeling anxious? Try writing

A couple of weeks ago on a Saturday, I was feeling anxious. For no apparently reason, it was one of those days when you couldn’t think of anything to feel down about, but feel down nonetheless.

So naturally to “fix” this, I made coffee. One cup of coffee, didn’t work. Two cups of coffee, didn’t work. Green tea? Didn’t help either. By mid afternoon, I was high on caffeine but low on mood.

More …

Moving My WordPress Sites to Jekyll

moving wordpress sites to jekyll

Towards the end of 2018, I had the urge to “tidy up” my mental space to make room for Markd, and I decided to close down the numerous websites I’d had created and accumulated over the years.

For the sites that I do want to keep, I wanted them to be smaller sites, simpler projects.

For years I’d been using Wordpress for websites. It’s a powerful CMS that allowed me to get set up and running quickly. The massive plugin eco-system meant I could add the latest features fo these sites without technical knowledge. The themes let me create websites that looked nice without worrying about designing them myself.

But it also came with a cost. Plugins and themes constantly required updating. And dealing with spam was always an issue for some of my bigger sites. Maintenance became a bit of a headache, and with so many different plugins for different sites, it got overwhelming.

More …

Blog is blog

Seattle South Lake Union

Ten years ago, I had a blog. It was in mandarin and hosted on a popular blogging platform in Taiwan.

I wrote anything that came to mind. I wrote about the passing of my grandmother. I wrote about life in Japan. I wrote about new learnings. I wrote personal thoughts. I wrote poems.

Then I left my job to start a business. And all of a sudden, blogging becomes part of that. I thought I needed to write about business, technology, and whatever else good for SEO / personal brand …etc.

More …