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, repair workflow tracking, live streaming infrastructure, and task orchestration.
- 🎓 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 |
MERN + Next.js · May 2026
Full-stack live streaming platform with RTMP ingest, HLS playback, real-time chat, and a streamer dashboard.
What makes it interesting:
- RTMP ingest via OBS — auto-transcoded to HLS with FFmpeg
- Low-latency HLS playback using hls.js with Safari native fallback
- Real-time live chat per stream room via WebSocket with auto-reconnect
- Live viewer count tracked via RTMP play/done events
- Streamer dashboard — go live, manage stream, view history, reset stream key
- Search and filter streams by category with debounced input and pagination
- SSR meta tags, Open Graph, JSON-LD, sitemap.xml, and robots.txt for SEO
- Dual roles:
viewerandstreamerwith role-guarded routes
Next.js Node.js Express MongoDB JWT WebSocket FFmpeg Node-Media-Server hls.js
PERN Stack · Apr 2026
Full-stack task management application with JWT authentication, subtask support, drag-and-drop reordering, filtering, and pagination.
What makes it interesting:
- Drag-and-drop task reordering persisted to the database via an
orderfield - Subtask system — create and manage nested tasks inside each task
- Filter tasks by status and priority with a summary bar showing counts
- Middleware stack: JWT auth, rate limiting, input sanitization, and request validation
- Full test coverage — Vitest + React Testing Library (client) and Jest (server)
- CI pipeline via GitHub Actions
React Node.js Express PostgreSQL Prisma Tailwind CSS shadcn/ui JWT Zustand Vitest Jest
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)
- 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