Independent developer · Thailand

I build practical software for the world outside the screen.

From live Bangkok bus tracking to crowd-safety games, I turn everyday friction into small, working systems.

Focus
Useful systems
Toolbox
Go · Python · Web
Building in public
Since 2013
ideas
Project route map Three routes connect transport, safety, infrastructure, and useful software.
transport
safety
systems
Current directionMake it useful. Make it work.

Selected work · 01

Projects grounded in real problems.

Software is most interesting when it meets imperfect data, old hardware, public infrastructure, or actual human behavior.

02
Safety education · Browser games

Exitwise

Two lightweight games that make venue awareness tangible: remember alternative exits, adapt when a route becomes unsafe, and move with—not against—crowd flow.

  • JavaScript
  • Canvas
  • Game design
  • Zero dependencies
Play in browser Live prototype · no install
03
Computer vision · Senior project

Where Is My Bus?

An earlier Bangkok bus-tracking experiment that used public CCTV imagery, image processing, and geospatial tools to locate buses.

  • Python
  • OpenCV
  • Geospatial data
  • CCTV
View the original project
04
Local-first infrastructure · Prototype

Tamper-evident logging

A small Python logger that records file changes in an append-only hash chain and independently detects edits, reordering, duplication, and rollback.

  • Python
  • SHA-256
  • JSONL
  • Automated tests
Local prototype

About · 02

Curious by default.
Practical on purpose.

I’m Thanawat, also known online as kmhcool. I like projects that touch real life: buses that arrive somewhere, exits people can find, logs you can verify, and services that keep running on imperfect hardware.

My process usually starts with a concrete inconvenience. I trace the system around it, build the smallest useful version, then keep testing until the software behaves sensibly outside the happy path.

01

Product-minded engineering

Working backward from what someone actually needs to do.

02

Systems & automation

Linux services, containers, small servers, APIs, and resilient glue code.

03

Rapid prototyping

Turning uncertain ideas into something testable without unnecessary machinery.

04

Clear documentation

Writing setup guides and explaining technical ideas in Thai and English.

Notes from the archive · 03

I write to understand.

Older technical notes in Thai—early snapshots of the same habit: learn something, test it, and make it easier for the next person.

2025Looking slowly at MoMAPhoto essay · New York 2017Google I/O: Machine Learning APIs by ExampleMachine learning · Thai 2017Using Google Translate more thoughtfullyLanguage tools · Thai 2018A practical guide to StellarTermBlockchain · Thai

Next stop

Have a practical problem worth prototyping?

I’m always interested in useful software, unusual infrastructure, and ideas that make everyday systems a little easier to navigate.