Side Project — UX/UI Design

🇹🇼 Taiwan Travel Guidebook

คู่มือเที่ยวไต้หวันแบบ Mobile-First — รวมแผนเที่ยว 6 วัน, Transit Map, Budget Tracker, เอกสาร ไว้ในเว็บเดียว แชร์ผ่าน URL ไม่ต้องลงแอป

เปิดคู่มือเที่ยว

Pain Point ที่เจอจริง

วางแผนทริปกลุ่มไปไต้หวัน 6 วัน — ข้อมูลกระจัดกระจาย เข้าถึงยากตอนอยู่ต่างประเทศ

วางแผนทริปกลุ่มคือความวุ่นวาย


Design Thinking Process

จาก pain point สู่ solution ที่ใช้งานจริงในทริป

1. Empathize
สังเกตตัวเองและเพื่อนร่วมทริป: ทุกครั้งที่วางแผนทริป ข้อมูลจะกระจายอยู่ใน LINE group, Google Docs, email, หลาย app — ตอนถึงสนามบินหรือด่าน immigration ต้องรีบเปิดหาข้อมูล กด scroll หาไม่ทัน โดยเฉพาะบนมือถือจอเล็ก เน็ตต่างประเทศก็ช้า
2. Define
Problem Statement: "นักเดินทางต้องการ (1) เข้าถึงแผนเที่ยวทั้งหมดจากที่เดียวบนมือถือ (2) สลับภาษาไทย-อังกฤษได้ทันทีสำหรับ immigration (3) ติดตามค่าใช้จ่ายเทียบกับงบ (4) เข้าถึงเอกสารสำคัญได้เร็ว — ทั้งหมดนี้ไม่ต้องลงแอป แค่เปิดลิงก์"
3. Ideate
Key Insight: "ไม่จำเป็นต้องสร้าง native app — แค่ HTML ธรรมดาก็พอ เปิดได้ทุกเครื่อง ไม่ต้องลงแอป แชร์ URL ให้เพื่อนร่วมทริปได้ทันที" ไอเดีย: สร้าง mobile-first web guidebook เป็น single-page HTML → ใช้ bottom nav สลับ Day 1-6 ได้เร็ว → เพิ่ม Budget Tracker แยกหน้า → เพิ่มหน้าเอกสารรวม → ทำ bilingual toggle (TH/EN)
4. Prototype & Test
เริ่มจาก V1.0 แผนเที่ยว 5 วันแบบง่าย → ทดสอบเปิดบนมือถือ → พบว่า scroll ยาวมาก → เพิ่ม bottom nav + collapsible sections → ทุก version ทดสอบบนมือถือจริง → iterate ต่อเนื่อง 8 versions ในเวลา 2 สัปดาห์
5. Iterate
ทุก version เกิดจาก feedback จริง: "หาสถานที่ไม่เจอ" → เพิ่ม nav, "กรอก immigration ไม่ทัน" → เพิ่ม bilingual toggle, "ไม่รู้ใช้เงินไปเท่าไหร่" → เพิ่ม Budget Tracker, "หาเอกสารไม่เจอ" → เพิ่มหน้า Docs

User Journey — เปิดลิงก์เดียว ได้ทุกอย่าง

จากมุมมองผู้ใช้ ตั้งแต่เตรียมตัวก่อนเดินทาง จนถึงระหว่างทริป

1
ได้รับ URL จากเพื่อนร่วมทริป → เปิดบนมือถือทันที Guidebook
2
เลื่อน Bottom Nav เลือก Day 1-6 → ดูแผนแต่ละวัน สถานที่ เวลา ค่าใช้จ่าย
3
ถึง สนามบิน → กด toggle เปลี่ยนภาษาเป็น EN → เห็นชื่อโรงแรม ที่อยู่ เป็นภาษาอังกฤษทันที
4
ระหว่างทริป → กด Budget → จดค่าใช้จ่ายแต่ละวัน เห็นยอดรวม Budget
5
ต้องการเอกสาร → กด เอกสาร → เปิดตั๋ว ประกัน booking จาก Drive Docs
6
เพื่อนจดรายจ่ายที่เครื่องอื่น → Firebase Sync → ข้อมูล sync ข้ามเครื่องอัตโนมัติ

Solution — 4 หน้า ครบทุกอย่าง

ออกแบบเป็น 4 หน้า HTML แยกตามหน้าที่ เชื่อมกันด้วย navigation

📋 Guidebook — แผนเที่ยว 6 วัน

index.html — single-page itinerary
Mobile-First Bottom Nav TH/EN Toggle Collapsible Sections

💰 Budget Tracker — คุมงบแบบ Realtime

budget.html — shared expense tracker
CRUD Firebase Sync Fixed/Variable Category Chips

📁 Documents Hub — เอกสารรวม

docs.html — quick access to trip documents
Google Drive Card-Based Status Badge

🚇 Transit Map — แผนที่เส้นทาง รฟฟ.

transit-map.html — zoomable MRT maps + daily routes
Zoomable Maps 3 Tabs Daily Routes PRE/POST

UI Preview

ตัวอย่างหน้าจอหลักทั้ง 4 หน้าบนมือถือ

Guidebook

09:41
🇹🇼
คู่มือเที่ยวไต้หวัน
DAY 1
DAY 2
DAY 3
DAY 4
PRE-GO → Day 1 Taipei
คอนโด → DMK → TPE 07:55 → ฝากกระเป๋า → วัดหลงซาน
23:30 - 19:00
Jiufen Old Street
เดินเที่ยวถนนเก่า ชิมอาหาร ดูวิว
14:00 - 17:00
DAY 1
DAY 2
Transit
Docs
Budget

Budget Tracker

09:41
💰 Budget Tracker
แผน
฿45,100
ใช้จริง
฿12,450
ทั้งหมด
อาหาร
ที่พัก
ตั๋ว
MRT Day Pass
ตั๋ว MRT รายวัน Taipei
฿540
Din Tai Fung
ข้าวมันไก่ + ซาลาเปา
฿380
DAY 1
DAY 2
Docs
Budget

Documents Hub

09:41
📁 เอกสารสำคัญ
📂
Google Drive ทั้งหมด
เปิด folder รวมเอกสาร
✈️
ตั๋วเครื่องบิน
รอเอกสาร
🛡️
ประกันเดินทาง
รอเอกสาร
🏨
Booking ที่พัก
รอเอกสาร
🚄
ตั๋ว HSR / Klook
รอเอกสาร
DAY 1
DAY 2
Docs
Budget

Technical Architecture

โครงสร้างเทคนิค — เรียบง่ายแต่ครบ

System Overview

HTML / CSS / JS
GitHub Pages
Firebase Realtime DB
Google Drive

🏗️ Stack & Design Decisions

Vanilla HTML/CSS/JS GitHub Pages Firebase localStorage Google Drive

Iterate — 9 Versions ใน 3 สัปดาห์

ทุก version เกิดจาก feedback จริงระหว่างเตรียมทริป

V1.9
Transit Map + Flight details — หน้าแผนที่ MRT (zoomable) + เส้นทางรายวัน, เพิ่ม PRE-GO/POST ตารางคอนโด↔DMK, ข้อมูลเที่ยวบิน SL398/SL393, ฝากกระเป๋า, EasyCard คืนเงิน, hamburger menu desktop, อัปเดต Drive links
V1.8
Docs page — หน้าเอกสารรวม card-based, Google Drive integration, nav ครบทุกหน้า
V1.7
Firebase Realtime Sync — cross-device data sharing, sync badge UI, localStorage fallback
V1.6
Budget overview table — Fixed/Variable breakdown, category chips, auto-fill จากฟอร์ม
V1.5
Bilingual toggle (TH/EN) — 300+ bilingual spans, localStorage persist — สำหรับ immigration
V1.4
Horizontal scroll nav + สร้าง budget.html แยกหน้า — เพิ่ม Budget Tracker
V1.3
ปรับ Day 3 — merge Sandiaoling เช้า + Wulai บ่ายรวมวันเดียว
V1.2
เพิ่ม trip dates + leave summary — สำหรับแชร์ให้ทีมรู้วันลา
V1.1
ขยายเป็น 6 วัน — เพิ่ม Yangmingshan (Day 2) & Wulai (Day 3) ย้าย Sandiaoling ไป Bonus
V1.0
เริ่มจาก แผนเที่ยว 5 วัน แบบ single-page ธรรมดา — Taipei → Sandiaoling → Kaohsiung

Creative Problem Solving

ปัญหาที่เจอระหว่างทำ และวิธีแก้ที่คิดขึ้นมา

🎯 Design Decisions ที่น่าสนใจ

CSS-only Language Toggle (ไม่ต้อง re-render)
แทนที่จะสร้าง 2 หน้าแยก (TH/EN) ก็ใช้ CSS class toggle — ฝัง <span class="th"> และ <span class="en"> คู่กันทุกจุด แล้วใช้ .lang-th .en { display: none } สลับ — กดเปลี่ยนภาษาได้ทันทีไม่ต้อง reload หน้า
Bottom Nav แบบ Horizontal Scroll
Day 1-6 + Bonus + Docs + Budget = 9 items บนจอมือถือแสดงไม่หมด — ใช้ overflow-x: auto ให้ scroll แนวนอนได้ ซ่อน scrollbar + IntersectionObserver highlight active section อัตโนมัติ
Firebase + localStorage Dual Strategy
Budget Tracker ต้องทำงาน offline ด้วย (เน็ตต่างประเทศอาจช้า) — ใช้ Firebase เป็น primary, localStorage เป็น fallback ถ้า Firebase ไม่ตอบ auto-switch ไปใช้ local พร้อมแสดง sync badge ให้รู้สถานะ
Live Event Indicator — "You Are Here"
ระหว่างทริป (1-6 พ.ค.) ระบบเช็ควันที่+เวลาปัจจุบัน → auto-navigate ไป Day ที่ตรง + highlight กิจกรรมที่ควรทำตอนนี้พร้อม badge "NOW" กิจกรรมที่ผ่านแล้วแสดงสีจาง — เปิดหน้ามาเห็นทันทีว่าตอนนี้ควรอยู่ที่ไหน ไม่ต้อง scroll หาเอง

💡 Key Insights ระหว่างทำ


Results

ผลลัพธ์จากการ iterate 9 versions

9
Versions (3 สัปดาห์)
4
Pages (Guide + Budget + Docs + Transit)
6
Days Itinerary
2
Languages (TH / EN)

Learnings

สิ่งที่ได้เรียนรู้จากโปรเจกต์นี้

Iterate เร็ว ดีกว่า perfect ตั้งแต่แรก — เริ่มจาก V1.0 ง่ายๆ แล้ว iterate ตาม feedback จริง ดีกว่าวางแผนใหญ่ตั้งแต่ต้น ทุก version เพิ่ม 1 feature สำคัญ ไม่ทำทุกอย่างพร้อมกัน
Context กำหนด Design — เว็บนี้ใช้ตอนเดินทาง: จอเล็ก กลางแดด เน็ตช้า → ต้องโหลดเร็ว ตัวหนังสือใหญ่ กดง่าย contrast สูง ทุก decision เกิดจาก context ของผู้ใช้
Simple tech = Reliable tech — Pure HTML + CSS + JS ไม่ต้อง build ไม่ต้อง deploy pipeline ไม่ต้อง package manager Push แล้ว live ทันที มี error ก็แก้ได้เร็ว เหมาะกับ side project ที่ต้องการความเร็วและความเรียบง่าย
UX Copy สำคัญกว่าที่คิด — Button ที่เขียนว่า "เงิน" บน nav ดีกว่า "Budget Tracker" เพราะพื้นที่จำกัดบนมือถือ ทุก label ต้อง scan ได้ภายใน 1 วินาที
Design for sharing — URL เดียว แชร์ทาง LINE ให้เพื่อนร่วมทริปเปิดได้ทันที ไม่ต้องลงแอป ไม่ต้อง login — ลด barrier ให้ต่ำที่สุด คือสิ่งที่ทำให้คนใช้งานจริง

Live Preview

ตัวอย่างหน้าจอจริงของ Guidebook

natpakans-stack.github.io/taiwan-guidebook/
🇹🇼

คู่มือเที่ยวไต้หวัน

Taiwan Travel Guidebook V1.8

Day 1 — Taipei เมืองหลวงแห่งความอร่อย
✈️ สนามบิน Taoyuan → Taipei Main Station
Airport MRT → Taipei Main Station (35 นาที, ฿160)
08:00 - 10:00
🏯 Jiufen Old Street + Shifen
เดินเที่ยวถนนเก่า ชิมชาบัวลอย ปล่อยโคมลอย
10:30 - 17:00
🌃 Ximending Night Market
ช้อปปิ้ง + street food ย่านวัยรุ่น Taipei
18:00 - 21:00
DAY 1
DAY 2
DAY 3
DAY 4
DAY 5
DAY 6
Docs
Budget
Aw mascot

🇹🇼 Built for a real trip

โปรเจกต์นี้สร้างขึ้นเพื่อใช้งานจริงในทริปไต้หวัน 1-6 พฤษภาคม 2025 — ทุก feature เกิดจาก pain point จริง แก้ปัญหาจริง ใช้งานจริง

HTML CSS JavaScript Firebase GitHub Pages Google Drive