TT

Software Engineering · RMUTL Chiang Mai, Thailand

I build software that holds up in production: real-time apps, distributed backends and practical ML.

I'm Tawan Tiphkun, a software engineering student. I like taking a real problem, such as a restaurant's paper order slips, a trader who can't stop chasing losses or a production line counting beans by eye, and shipping something that solves it end to end.

0.91
mAP@50 on my custom YOLO detector
5
architectures of one system, from layered to microservices
3
real-time apps sharing one BizFlow backend

01 Selected work

Full-stack · Team project

BizFlow: QR table ordering

Diners scan a QR code at their table, order from their phone and pay with a PromptPay QR. The kitchen and cashier see every order change instantly.

  • Prices are always recomputed on the server, so a tampered request can't change the bill
  • JWT roles (admin, kitchen, cashier) guard every endpoint
  • Orders, payments and table state change together in one database transaction
  • Socket.IO rooms push live order status to the kitchen and to each diner

TypeScript · React · Express · Prisma · MySQL · Socket.IO · Docker

View the code ↗

Mobile · Flutter

Tipkhun Capital

Most small traders don't lose money on one bad trade. They lose it by not stopping. This app turns a risk plan into hard numbers: a daily loss budget, a trade journal, an automatic STOP state and rules for splitting profit.

Flutter · Dart · iOS · Android · Web

View the code ↗
Tipkhun Capital overview showing the remaining daily risk budget

Machine learning · Computer vision

Bean snack detection with YOLO

A custom detector that finds and classifies the 5 ingredients of a Thai mixed-bean snack in photos, video and a live camera feed. I built every stage myself: data collection, labelling, dataset tooling, training, evaluation and inference.

  • 0.914 mAP@50 and 0.93 recall on held-out images
  • About 120 ms per image on a CPU, with no GPU

Python · Ultralytics YOLO · PyTorch · OpenCV · Label Studio

View the code ↗
Model detecting peanuts, broad beans and green peas

02 Startup pitch: LandOpt

Beyond class projects, my team of three software engineering students took a product idea through RMUTL's University Business Incubator (UBI) startup programme in Chiang Mai, from problem research and a UI prototype to a five-minute pitch in front of a judging panel (February 2026).

Our team pitching 'AI land tax assessment and vacant-land management' on stage, with the 5-minute timer running
Pitching on stage. Every team had five minutes, then questions from the judges.

PropTech · AI · Business model

TaxSave.AI: turning vacant-land tax into liquidity

The problem. Thai landowners who leave a plot unused pay a vacant-land tax that rises every three years, and selling costs about 3.3% in transfer tax. Investors, meanwhile, spend weeks paying people to check zoning before they buy. Most property sites list a price, but investors want to see the return.

Our solution. An AI land-use and tax simulator. The owner enters a title-deed number and the plot size, and the system:

  • Calculates the tax under current law and charts vacant against agricultural use
  • Analyses the location with GIS data to recommend the most valuable exit
  • Offers a one-click action: hire a partner to farm the plot (cutting the tax), or send a feasibility report to B2B investors

Business model. A 3% commission on deals, B2B SaaS subscriptions for developers and architects, and pay-per-use zoning feasibility reports. We asked for 200,000 THB in pre-seed funding.

What we built. A high-fidelity UI prototype covering the whole user journey, the rules of the Land and Building Tax Act turned into a data flow, and a system architecture ready for the MVP.

Project poster showing the TaxSave.AI prototype, features, target customers and team
Project poster with the TaxSave.AI prototype screens.
A mentor from the incubator giving our team feedback at our table
Feedback from an incubator mentor during the workshop
Our team working on laptops at the workshop
Team LandOpt at work
Answering questions from the judging panel after the pitch
Q&A with the judging panel

Pitch deck

Slide 1: AI land tax assessment and vacant-land management Slide 2: The pain points Slide 3: Solution and product Slide 4: Product screens Slide 5: Business model Slide 6: Traction Slide 7: Team Slide 8: Competition Slide 9: Fundraising ask Slide 10: Thank you

Scroll sideways to see all 10 slides (in Thai), or open the PDF.

03 One app, five architectures

In my Software Architecture course I rebuilt the same task board five times. Each repository documents what changed and why.

  1. LayeredControllers, services and repositories in one process
  2. N-tier + DockerNginx, API and PostgreSQL as separate containers
  3. Scaled + cached3 API instances, round-robin load balancing, Redis cache-aside with graceful fallback
  4. Event-drivenRabbitMQ fanout to independent notification and audit consumers
  5. Secured microservicesA gateway, JWT, a database per service, deployed to Railway

04 Toolbox

Languages

TypeScript, JavaScript, Python, Dart, Java, C/C++, SQL

Frontend

React, Vite, Tailwind CSS, Zustand, Flutter, Electron

Backend

Node.js, Express, Prisma, REST, Socket.IO, JWT, RabbitMQ

Data

PostgreSQL, MySQL, MongoDB, Redis, SQLite

DevOps

Docker Compose, Nginx, GitHub Actions, Railway, Grafana + Loki

Machine learning

PyTorch, Ultralytics YOLO, OpenCV, pandas, scikit-learn

Certifications

05 Let's talk

I'm looking for internship and junior software engineering roles. The fastest way to reach me is by email.

tawantippkun200501@gmail.com