Ghost OS
WorksA desktop OS in the browser with a virtual file system, a terminal and an AI assistant that takes Thai commands; can be packaged as a desktop app with Tauri.
Hi, I'm Fluke. I build the systems people at work open every day — web apps, APIs and the technicians' mobile app — with Claude Code as a teammate. In my spare time I make games and 3D toys.
8 systems the company runs in production. Every screenshot is the real app running on my own machine with fake data — no real customer or employee data ever left the building.
JMT · Web admin + API
The NPA team's end-to-end back office: asset registry, surveys, contractor quotations and bidding, PR/PO, QC & SLA, key tracking, equipment inventory, urgent jobs and dashboards.
JMT · module in the company Flutter app
For technicians and field staff: appointments, job lists with SLA, on-site reports (survey, Big Clean, negotiation, QC), key handover with photos, and map pins.
Jaymart group · Web admin + API · Lead front-end · co-developed API
Group employees get coupons and credit to spend at partner shops. Admins manage branches, shops, coupon categories and types, entitlements, credit and merchant payouts.
JMT · Web + API · Lead developer
ID-card lookup to check status before a loan is approved, used by staff and partners, with a dashboard for users, companies, branches and search history.
JMT · Legal department · Module developer
Seizure workflow after a lawsuit: pending → awaiting approval → approved / rejected / cancelled, with export and a pre-seizure review page.
JAM / JK Asset · asset management system · Feature owner
A monthly calendar of filing, witness and inquiry hearings for the legal team; click a hearing to see that day's cases.
JJ Property · property sales website · Contributor
SSR property sales site: improved the contact page, consent / login, UAT v1.2, and the rebrand to BaanBaan Property.
JMT · internal tool · Solo
A 12-month leave calendar for the IT team with automatic sync, public holidays, daily history, and each person can only book their own leave.
I use Claude Code as a teammate on real work every day — not just for Q&A, but set up to work within the team's rules, and I check every result before it ships.
603/ 1,371
commits in my 6 main work repos with Claude as co-author (44%) since May 2026
$ tree -a .claudereact-blacklist/├─ CLAUDE.md # hard rules · stack · architecture└─ .claude/ ├─ agents/orchestrator.md ├─ rules/api-and-auth.md ├─ rules/ui-and-routing.md └─ skills/scaffold-page/SKILL.md project-os/ (Claude Code plugin)├─ commands/project-os.md # /project-os├─ agents/ architect · backend · database│ debugger · frontend · performance│ security · tester · documentation└─ templates/hooks/ before-task → before-commit → after-release$ project-os on GitHub Summarised from 656 commits Claude co-authored (May–Oct 2026, every repo, including unmerged branches). Every example and timing comes from a real commit message. My part: deciding what the system has to do, setting the AI's boundaries, and proving the result before it ships.
Claude helps me trace SQL Server queries to the step doing more work than it should; I time before/after on the same data and compare results row by row to prove nothing changed.
From Vue screens and Node.js APIs to stored procedures and screens in the technicians' Flutter app.
Bugs that UAT never showed but users hit in production.
Every migration ships with a ROLLBACK script and a README of the run order, tried on dev before production.
The work that usually gets postponed now ships with the code.
Proving the new thing works and the old things still do.
Every main repo has a CLAUDE.md I wrote: hard rules, architecture, status codes and team conventions, so Claude's code fits the existing code on the first pass.
Separate rules for API and UI, a skill for scaffolding new pages and an orchestrator for task order — grown into project-os, a plugin with 9 specialist agents.
Features and hotfixes live in separate git worktrees (37 on NPA), so an urgent production fix never mixes with unfinished features.
AI writes fast, but I don't ship what isn't proven. Every feature has Playwright E2E with videos and Excel reports (NPA: 35 videos, 58 reports), and every release has a SQL migration + rollback.
25 things I build after work. Some are playable, some are still prototypes, but every image is a real screen from the program.
A desktop OS in the browser with a virtual file system, a terminal and an AI assistant that takes Thai commands; can be packaged as a desktop app with Tauri.
An AI VTuber stream room: a 3D VRM avatar with gestures and expressions, chatting through a local AI model (sample model Alicia Solid © DWANGO).
Static analysis for legacy code: a graph of how files, APIs and database tables relate, with risk levels.
A Thai (SET) stock screener by P/E, P/B and dividend, with an index dashboard and DCA planner (screenshots use the app's sample data).
An offline writing room for Thai novels with autosave and an AI assistant via Ollama.
A multiplayer 3D meeting room where everyone is a fluffy duck: voice chat, screen sharing to an in-room TV, a whiteboard and LAN room discovery.
A pixel RPG in the browser: a chili-powered brawler hero, NPC quests, an inventory, a blacksmith and bosses.
A 3D fighting game in the browser, solo or 2 players over LAN, with combos and finishing moves.
A Werewolf-style find-the-spy game set in a Thai office: walk around a pixel office, join by QR code, play with bots.
A 3D pirate ship game in the browser: name your captain and flag, sail, fire cannons and take on missions at sea.
A tiny 3D city builder: lay roads and zones, manage a budget, with a day–night cycle.
A 3D horror game exploring a dungeon by flashlight to free trapped spirits, with a minimap.
A farming game in the browser: till, plant, water, wait for crops day by day, and go fishing.
A small 3D modelling tool in the browser with an outliner, move / rotate / scale gizmos and GLB export.
A multiplayer hide-and-seek game where hiders paint themselves to blend into the scene; client / server laid out as a monorepo.
A 60 fps chibi knight animation set (idle / slash) with metadata and a viewer.
A project command center: today's work dashboard, a sprint Kanban board, velocity reports and an AI Copilot panel.
A friend-finding app by interests and distance: set up a profile, pick interests, find people nearby and chat in real time.
A 3D virtual office in the browser: walk between meeting rooms with WASD, with a minimap and meeting controls.
A coffee shop POS: add items to the cart, manage tables, and track ingredient stock with low-stock alerts.
A P2P video call room for watching movies together in cinema mode, with live chat and a real-time synced tic-tac-toe game.
A focus space in the browser with a Pomodoro timer, ambient sounds and notes.
Room status, rent, water and electricity bills, outstanding balances, and payment in installments.
A tarot reading site: pick a spread, draw from a fanned deck, then flip the cards for a past–present–future reading.
A café point of sale: pick items, discounts, VAT, payment, change, and PDF receipts.
I like building things people actually use, and digging into why a system is slow. Every release goes out with a SQL migration and a rollback ready, because I've had the day I needed one.
Vue 2/3 / Nuxt / Vuetify / Node.js / Express / SQL Server / Flutter
React / TypeScript / Next.js / Tailwind / Fastify / Supabase / Playwright / Socket.io
Claude Code / CLAUDE.md / Sub-agents / Skills / Hooks / Plugins / Git worktree
Godot / Unity / Three.js / Phaser / WebRTC / Tauri / Ollama
JMT Network Services
Saim Senater Co., Ltd.
Dhonburi Rajabhat University, Samut Prakan
Open to workOpen to full-time Full-stack / Front-end roles · on-site or hybrid, Bangkok – Samut Prakan
Hiring, have a project, or want to talk about a slow system? Drop me a line.
dachchai.t@gmail.com