Full Stack Developer — PERN · MERN · REST API · System Design
Building production-grade web systems with clean architecture and real business logic
Full Stack Developer based in Bangkok, Thailand, with hands-on experience shipping complete web systems — from database schema design to frontend UI.
I focus on building systems with real complexity: multi-role access control, stateful workflows, conflict-checking logic, and automated processes. My projects go beyond CRUD — solving real business problems such as rental lifecycle management, payment verification, stock reservation systems, and repair workflow tracking.
- 🎓 Business Computer — Mahasarakham University (2021–2025)
- 🔐 Experienced in JWT Auth, RBAC, RESTful API design
- 📦 Production deployments on Ubuntu Linux + PM2
- 📚 Currently learning NestJS · System Architecture · Advanced Backend Patterns
- 🤝 Open to Full Stack · SaaS · Open Source collaboration
| Layer | Technologies |
|---|---|
| Languages | JavaScript · TypeScript · Python · SQL · HTML/CSS |
| Frontend | React · Next.js · Tailwind CSS · Bootstrap · MUI |
| Backend | Node.js · Express · NestJS |
| Database | PostgreSQL · MongoDB · MySQL · Prisma ORM |
| Tools | Git · GitHub · Postman · Figma · Azure · VSCode |
| DevOps | Ubuntu Linux · PM2 |
Next.js Fullstack · Mar 2026
Full-stack e-commerce system built with Next.js App Router, combining frontend and backend in a single architecture with customer and admin experiences.
What makes it interesting:
- Fullstack architecture using Next.js (Server Actions + Route Handlers) — no separate backend service
- Role-based system:
CUSTOMER/ADMINwith protected routes - Shopping cart with optimistic UI updates and real-time calculation
- Order lifecycle:
PENDING → PAID → SHIPPED → DELIVEREDwith status history - Payment slip upload with admin verification
- PromptPay QR code generation for payments
- Admin dashboard with revenue stats, growth indicators, and stale-order alerts
- Product & category soft-delete / restore system
- Multi-image upload with main image selection via ImageKit CDN + Sharp processing
- Server-side caching (
"use cache") with tag-based revalidation across products, orders, users, and cart - Input validation using Zod and secure JWT (HTTP-only cookie) authentication
Next.js React TypeScript PostgreSQL Prisma Tailwind CSS JWT ImageKit Zod
PERN Stack · Feb 2026
Back-office admin panel for managing the full rental lifecycle — booking, payments, deposits, and penalties.
What makes it interesting:
- Multi-step workflow engine:
PENDING → CONFIRMED → ACTIVE → RETURNED → COMPLETED - Payment slip verification with approve/reject logic — uses PostgreSQL row-level locks (
FOR UPDATE,pg_advisory_xact_lock) to prevent race conditions on concurrent approvals - Deposit state machine:
HELD / REFUNDED / DEDUCTEDwith partial refund and deduction support - Penalty module:
LATE / DAMAGE / LOSTwith auto-generated invoices (INV-YYYYMMDD-XXXX) - Stock reservation conflict-checking across overlapping date ranges with emergency release
- Reports: monthly revenue charts (last 12 months), top 10 products, overdue tracking
- Audit log system with admin action tracking and cleanup support
- RBAC middleware restricting admin-only access
React Node.js Express PostgreSQL Prisma JWT
PERN Stack · Dec 2024 – Feb 2025
Full-stack rental platform with a Customer App and an Admin Panel — dual codebase, dual role system.
What makes it interesting:
- Dual-role system: Customer App (React) + Admin Panel (React) as separate frontends
- Full rental lifecycle with status tracking:
wait → pay → send → cancel - Return workflow with return status:
pending → Waitingtocheck → approved / rejected / overdue - Payment slip upload and shipping proof image management
- Cart with rental duration selection, discount calculation, and auto-return date computation
- Shop bank accounts displayed at checkout with transfer info submission
- Wishlist using localStorage (no login required to save items)
- Product image gallery with multi-image upload
- Bulk import via Excel (products and categories via ExcelJS)
- Admin dashboard with Bar/Line chart toggle (Chart.js) and 10 summary metric cards
- Deployed on Ubuntu Linux with PM2
React Node.js Express PostgreSQL Prisma JWT Chart.js ExcelJS
MERN Stack · Jul 2024 – Oct 2024
Responsive store management system for mobile retail — covering stock purchasing, sales processing, and repair workflows.
What makes it interesting:
- Sell workflow with serial number lookup and pending sell list confirmation
- Bulk stock entry supporting up to 10,000 units per transaction
- Repair/service job tracking with full CRUD
- JWT authentication with two role levels (
admin/user) - Dashboard with monthly income bar chart (Recharts) and business summary stats
- Company settings with upsert pattern (create on first save, update thereafter)
- Deployed on Ubuntu with PM2
Next.js Node.js Express MongoDB Prisma TypeScript Tailwind CSS JWT
React · Vite · https://patsarun2545.github.io/profile/
Personal site showcasing projects and skills.
React Vite GitHub Pages