kantakan@vps-01:~$ uptime →
Kantakan
Software Engineer & Tech Instructor — Chonburi, Thailand — open to remote
Summary
Full-stack developer with nearly three years building production web applications in TypeScript, Go, and React, alongside leading technical instruction for cohorts of 300+ students. Built Baro to replace the shared Google Sheet learners wrote their daily reflections in, where anyone could read anyone's: a Go and React app I designed end to end, which cut admin reports from over five minutes of Apps Script to under a second. I like problems that fight back — same reason I play Elden Ring.
$ docker ps
| CONTAINER | IMAGE | STATUS |
|---|---|---|
| exam-p | Next.js · PostgreSQL · Drizzle · Docker · k6 | Up |
| deeznote | React · Bun · Elysia · SQLite · libsodium | Up |
| baro | React · TypeScript · Go Fiber · MongoDB | Up |
| gymnimal | React · TypeScript · Supabase · PWA | Up |
👉 Open a project to see screenshots and a demo video.
exam-p — Online Exam Practice Platform 👈 click
Exam practice platform for Thai students: timed attempts on mobile with answers saved as you go, instant scoring with worked explanations, and a teacher console that imports questions from Excel.
Next.js 15 and React 19 on PostgreSQL with Drizzle and Better Auth, shipped as Docker containers behind Caddy on a 1 vCPU / 1 GB DigitalOcean Droplet.
Load-tested with k6 at 50 virtual users on the production 1 vCPU / 1 GB Droplet, before and after serving catalog pages from cache instead of rendering each request:
| METRIC | BEFORE | AFTER |
|---|---|---|
| p95 latency | 4.19 s | 288.8 ms |
| throughput | 11.1 req/s | 35.0 req/s |
| requests | 1,172 | 3,704 |
| failed | 0% | 0% |
DeezNote — Encrypted Markdown Notes 👈 click
End-to-end encrypted Markdown notes that work offline. Notes are encrypted in the browser before they sync, so the server stores only ciphertext and never sees a title, text, tag or photo.
React 19 + Vite PWA with a Milkdown editor and Dexie (IndexedDB) for offline-first storage; XChaCha20-Poly1305 via libsodium with per-note keys wrapped by an Argon2id-derived vault key. Bun + Elysia API on SQLite with Drizzle ORM, self-hosted on a VPS.
demo: deeznote.103-253-146-20.sslip.io · repo: github.com/KantaKan/DeezNote
Baro (Generation Barometer) — Student Management Platform 👈 click
Full-stack platform for bootcamp cohorts: daily reflections, attendance check-in, streaks and badges, plus a full admin console. In daily use across 6+ bootcamp cohorts.
It replaced a shared Google Sheet where every learner could read everyone else's reflections, and an Apps Script report that took over five minutes to run. Now each learner sees only their own entries, and admins get the whole cohort in under a second, so they can spot who needs support the same day. I built the app and designed its UX/UI.
Go Fiber backend (handler → service → repository) with JWT role-based auth, MongoDB, S3-compatible storage and scheduled jobs; layered React frontend with React Query and a react-three-fiber 3D streak visualization.
demo: generation-barometer.vercel.app · repos: react-genbaro (frontend), baro-gofiber (backend)
Gymnimal — Beginner Workout PWA 👈 click
Mobile-first PWA that makes every training decision — machine order, starting weight, progression — from a unit-tested engine.
Offline-first by design: in-session writes queue to IndexedDB and sync to Supabase in the background, so poor gym connectivity never blocks a set. Anonymous-first auth with row-level security; English/Thai i18n.
demo: gymnimal.vercel.app
Interests
Competitive Gaming: Top-tier ranked player and in-game leader (IGL) in League of Legends, Valorant, and Counter-Strike — team games where I set strategy and coordinate five players live. Years of team competition built what I bring to a dev team: collaboration under pressure, clear communication, fast calls on incomplete information, and improvement through honest review.
Self-Hosting: Run my own side projects on a cheap VPS for the fun of it — provisioning the box, proxy and deploy pipeline by hand instead of clicking deploy. Most of what I know about infrastructure came from wanting to see what happens after the code ships.
Experience
- 2026 – Software Developer / Lead Instructor @ Generation Thailand
- 2024 – 26 Software Developer / Senior TA — built Baro in Go and React; admin reports went from 5+ minutes to under a second
- 2023 – 24 Teaching Assistant
- 2023 Page admin for a high-traffic online shop — set up saved replies and a clear admin workflow across Facebook and LINE MyShop, and taught the team to run ads, so the message floods after a viral clip got answered and orders confirmed far faster than before
Stack
TypeScript Go React Next.js Node MongoDB PostgreSQL Supabase Docker Caddy Linux
Started making games at 10: reached the regional round of Thailand's national Student Arts and Crafts Fair in creative game development (RPG Maker, Flash) every year from Grade 4 to Grade 11.
Education: Generation Thailand Bootcamp, Cohort 5 (2023) → hired onto the teaching team.
Contact
no frameworks were harmed.