Let’s build a personal assistant and level-up your coding skills!

A talk at Dev Mountain Tech Festival 2022.

Insertion Sort Song

A song composed based on the Insertion Sort algorithm.

Merge Sort Song

A song composed based on the Merge Sort algorithm.

Embracing gradual typing

How to adopt TypeScript in a large JavaScript project effectively? Premiered at TS BKK Meetup.

Bangkok Ipsum

A webpage that lets you generate random Thai text.


My personal assistant LINE bot that helps me automate various tasks of everyday life, such as home control, expense tracking, and more.

MIDI Light Switch

Turning a MIDI keyboard into a light switch for my room.

pastebox: Paste in an image, drag it out as a file

Some applications lets you use drag in an image, but won’t let you paste it in. Others let you copy out an image but won’t let you drag it out. I made a tool to bridge that gap.


A Chrome extension that listens to you and copies what you said to the clipboard. Works system-wide. It helps me a bit with my finger joint pain.


A rhythm game turntable built by putting a phone in a ceramic plate.

How I animate code in Keynote

If you've seen some my presentations, you'll probably see a lot of code animations. Many people ask me how I did that, so I thought I’d make a short video to explain my process.

Synchronous remote collaboration

I strongly believe most MVPs can be shipped in a day, and in this video I demonstrate it.


A silly recreation of the Rain Vortex at Jewel Changi Airport, but it’s `node_modules` instead of water. Made at Super Silly Hackathon 2019.


A free and open source, online, web-based rhythm action game.

Bubble Sort Song

A song composed based on the Bubble Sort algorithm.


A collection of hackable web-based MIDI instruments.

Race Conditions in JS Apps

A talk about race conditions in JavaScript, showing how easy it is to create one, and how to deal with them. Based on experience building a real-time collaborative app. Presented at JSConf.Asia 2019.


auden is an open-source, hackable audience engagement software, supporting multiple features, such as Live quiz and Voting system. Its hackable architecture allows developer to modify and add features to fit the event.

Smells in React Apps

A talk about recognizing code smells, an important skill that helps you build maintainable software. Presented at JSConf.Asia 2018.


A song about unprocessed feelings.

React Bangkok 2.0.0: Live coding / mob programming session

A live coding session to demonstrate how React made me very productive.

Just look at my eyes (bms edit)

A song imitating TV drama-style music.


A song imitating northeastern Thailand-style music.

Everyday evermore

A hopeful love song.

Higher-Order Components and Recompose

A talk about higher-order functions and a pattern for solving code duplication in React components using higher-order components.


A speedy carnival-style song.

A lecture about TDD

An introductory lecture about TDD for software engineering students.

Running Out 2015

A frantic song.

Only Love (Euphoric Trance Remix)

A euphoric trance remix of Shannon Hurley’s song “Only Love”


A programmable foot pedal for your iPad and Node.js.

Introduction to Recursion (Python)

An introductory lecture to recursion for freshmen students in Python.