Skip to content

Setup

What I use.

Tools, hardware, and software I rely on daily as a solo Android developer and AI systems builder in Bangkok.

Hardware

MacBook Pro (M-series)

Build everything locally — Android Studio + Next.js + Workers all in one machine without thermal regret.

Android test fleet

Real devices across API 24-35 so Play Store rejections happen on my desk, not in review.

Editor & Terminal

Android Studio

Stays the IDE for Kotlin work — the Layout Inspector and Compose preview pipeline aren't matched elsewhere.

Claude Code

Primary coding assistant for this site, the plugins, and the apps catalog. Treats my repos as multi-file context, not single-file completions.

VS Code

TypeScript + scripting + markdown. Nothing exotic — chosen for fast file-open and the same extension ecosystem as everyone else.

zsh + ~/.claude hooks

Custom PreToolUse hooks block destructive git and identity drift across 200+ repos. Saves a category of mistakes before they happen.

Dev Stack

Kotlin + Jetpack Compose

MVVM + Clean Architecture, Hilt, StateFlow, Room. Identical across 22+ apps so debugging any one app needs zero context reload.

TypeScript + Next.js (App Router)

This site. output: 'export' so Cloudflare Pages serves pure static. RSC where state isn't needed.

Cloudflare Workers

Newsletter, contact form, GitHub stats proxy. Pay-per-request and 15ms cold starts — cheaper than keeping a server warm.

GitHub Actions

Blog generation, topic dedup, PR auto-merge. Budgeted carefully — solo dev runs out of free minutes faster than companies do.

Services

GitHub

Source of truth for 200+ repos. Every change is a PR even solo — produces a real history for future-me.

Cloudflare Pages

Static hosting for this site. Auto-deploys per PR. Free tier covers the traffic, zero egress cost.

Firebase Realtime DB

Backend for MyFamilyTracker. Chose RT over Firestore for stream semantics at sub-second propagation — Firestore would have over-billed reads.

Google Play Console

Staged rollouts, crash reporting, Data Safety. 1 app live, 21 in development — each release a separate signing key.

AI & Automation

Claude Code (in the CLI)

Multi-file refactors, plan-then-execute workflows, custom plugins. Replaces the 'write code in chat then paste' loop.

Claude.ai (in the browser)

Long-form decisions, architecture conversations, content drafting. Different shape of problem than coding.

Telegram bots

CI/blog/queue events. Inbox-shaped so notifications surface async — no Slack tab to keep open.

n8n

Cross-system orchestration when the shape doesn't fit Workers or Actions. Self-hosted.

Utilities

pnpm

Strict node_modules and content-addressed store — installs stay fast across 80+ JS repos sharing dependencies.

Obsidian

Knowledge base synced from Claude Code sessions via obsidian-sync.py. Decisions get captured automatically.

Figma

Lightweight — used for visual diff before UI work, not as a source of truth. Code is the source of truth.

graphify

Builds a knowledge graph of any codebase. Used to answer 'what breaks if I change X' faster than reading files.