MECHOOSE นักวางแผนที่กำกับ AI สร้างคนเดียว: คอมเมิร์ซแฟชั่นสำหรับคนไทย + ลองเสื้อผ้าเสมือนจริงด้วย AI ใช้งานจริงแล้วที่ mechoose.store
ใช้งานจริง⚡ ไอเดีย→เปิดตัว เว็บใช้งานจริง ~1 สัปดาห์ · App Store ~6 สัปดาห์
2026.02 – 2026.07 (ใช้งานจริง) / คนเดียว (AI เป็นทีม) / Web · iOS · Android
ปัญหา นักช้อปชาวไทยยังไม่มีที่ที่เลือก ลองสวมแบบเสมือน และสั่งซื้อเสื้อผ้าได้ง่าย ๆ ในที่เดียว
บทบาทของผม วางแผน · กำหนดมาตรฐาน · กำกับ AI ให้สร้าง · ดีพลอย
เทคสแต็ก React 18 · TypeScript · Supabase (Postgres · Auth · Edge Functions) · Capacitor · Vercel ผลลัพธ์
จากไอเดียสู่เว็บที่ใช้งานจริง ~1 สัปดาห์ จากไอเดียสู่เว็บที่ใช้งานจริง
จากไอเดียสู่การอนุมัติบน App Store (มีบน Google Play ด้วย) ~6 สัปดาห์ จากไอเดียสู่การอนุมัติบน App Store (มีบน Google Play ด้วย)
เส้นทาง API ของแบ็กเอนด์ (edge function) 137 เส้นทาง API ของแบ็กเอนด์ (edge function)
คอมมิตของผมเอง (จากทั้งหมด 241 ที่เหลือเป็นการซิงก์อัตโนมัติจาก Figma) 100+ คอมมิตของผมเอง (จากทั้งหมด 241 ที่เหลือเป็นการซิงก์อัตโนมัติจาก Figma) ⚡ ไอเดีย→เปิดตัว
เว็บใช้งานจริง ~1 สัปดาห์ · App Store ~6 สัปดาห์
2026-02-03
คำสั่งแรก · บิลด์แรกที่ใช้งานได้
+6 days
2026-02-09
เว็บใช้งานจริง (mechoose.store)
+36 days
2026-03-17
ได้รับอนุมัติบน App Store
+120 days
2026-07-15
คอมมิตล่าสุด
2026-02-03
คำสั่งแรก · บิลด์แรกที่ใช้งานได้
+6 days 2026-02-09
เว็บใช้งานจริง (mechoose.store)
+36 days 2026-03-17
ได้รับอนุมัติบน App Store
+120 days 2026-07-15
คอมมิตล่าสุด
จากไอเดียสู่เว็บที่ใช้งานจริง ~1 สัปดาห์ · ได้รับอนุมัติและเปิดตัวบน App Store ~6 สัปดาห์ (2026-03-17) · มีบน Google Play ด้วย · ทำงานจริง ~33 วันตามคอมมิตใน git
คำสั่งแรก: "ผมไม่มีพื้นฐานการเขียนโค้ด เลยสร้างแอปคอมเมิร์ซด้วย Figma Make AI กับ GPT — แต่หน้า My Page ขึ้น error ตลอดจนผมติด ช่วยได้ไหม?"
ต้นฉบับ (KO): "기술이 없어서 Figma Make랑 GPT로 커머스를 만들고 있는데, 마이페이지에서 에러가 자꾸 나 막혀요 — 도와줄래요?"
ผมอยากได้บริการช้อปปิ้งแฟชั่นสำหรับผู้บริโภคชาวไทย ที่เลือกเสื้อผ้า ลองสวมแบบเสมือน และสั่งซื้อได้ทันที นอกจากพื้นฐานของคอมเมิร์ซ (แคตตาล็อก การชำระเงิน คำสั่งซื้อ แอดมิน) เป้าหมายคือให้บริการลองเสื้อผ้าเสมือนจริงด้วย AI และการปรึกษาสไตลิสต์ไว้ในที่เดียว
02
แผนและมาตรฐานที่ผมกำหนด
วางแผนขอบเขตบริการและ flow หน้าจอเอง: แคตตาล็อก คำสั่งซื้อ การชำระเงิน แอดมิน
มาตรฐานการดำเนินงาน: เมื่อข้อมูลที่จำเป็นสำหรับการจัดส่ง (เบอร์โทร ที่อยู่ LINE ID) ไม่ครบ อย่าไปบล็อกตอนชำระเงิน — ให้เก็บข้อมูลตอนเข้าแอปแทน
เลือกเทคสแต็กร่วมกับ AI โดยเน้นความเร็วในการดูแลคนเดียว: โค้ดเว็บชุดเดียวห่อเป็นแอป iOS/Android ด้วย Capacitor และรวม API ไว้บน Supabase Edge Functions แบบ serverless
Fig. mechoose-direction
การกำกับ AI
01 คำสั่งแรก
สร้างหน้าแคตตาล็อก ตะกร้า และ My Page พร้อม API บน edge function
02 สิ่งที่ผมตรวจ
ผมสั่งซื้อจริงบนเว็บไซต์ที่ใช้งานจริง และพบจุดที่การชำระเงินค้าง และจุดที่การกรอกที่อยู่ทำให้พิมพ์ผิดหรือตกหล่น
03 การแก้ไข
ผมแปลงปัญหาของผู้ใช้เป็นคำสั่งฟีเจอร์ — "ให้การชำระเงินที่ค้างกลับมาทำต่อได้" "ให้ที่อยู่เติมอัตโนมัติและใส่รหัสไปรษณีย์ให้เอง"
คำสั่งจริง (ตัดตอน)
› อย่าเขียนทับทั้งหมด — แพตช์เฉพาะส่วนที่เปลี่ยนOriginal 전체를 덮어쓰지 말고 바뀐 부분만 패치해줘.› อธิบายผลกระทบข้างเคียงก่อนแก้ และแก้หลังจากผมอนุมัติแล้วเท่านั้นOriginal 바꾸기 전에 부작용을 먼저 설명하고, 승인받은 뒤에 고쳐.Fig. mechoose-03
เปลี่ยนปัญหาเป็นฟีเจอร์ ด้วยคำสั่งที่เป็นคำพูด
Before
คำสั่งซื้อที่การชำระเงินถูกขัดจังหวะถูกปล่อยค้างไว้ ผู้ใช้หาไม่เจอว่าค้างไว้ตรงไหน คำสั่งของผม (ตัดตอน)
“ ให้ผู้ใช้กลับมาชำระคำสั่งซื้อที่ถูกขัดจังหวะต่อได้”
Original 결제가 끊긴 주문을 다시 이어서 결제하게 해 줘After
✓ แบนเนอร์ “รอชำระเงิน” + ไฮไลต์ใน My Page ✓ ชำระต่อจากจุดที่หยุดไว้
คำสั่งซื้อค้างชำระถูกทิ้งไว้ : การชำระเงินที่ถูกขัดจังหวะถูกปล่อยค้างไว้ ผมกำกับ AI ให้แสดงสถานะ "รอชำระเงิน" ในแบนเนอร์และใน My Page และเพิ่ม flow กลับเข้ามาชำระต่อจากจุดที่ผู้ใช้ค้างไว้ ช่วยลดการหลุดออกกลางทาง
กรอกที่อยู่ผิดพลาด : ที่อยู่ที่พิมพ์เองมักพิมพ์ผิด ผมเพิ่มระบบเติมที่อยู่อัตโนมัติที่ใส่รหัสไปรษณีย์ให้เอง ลดสาเหตุที่ทำให้จัดส่งไม่สำเร็จ
หน้าจอลูกค้า (ภาษาไทย): ไฮไลต์คำสั่งซื้อที่รอชำระเงิน พร้อมทางกลับไปชำระเงิน Case 01
คำสั่งซื้อที่การชำระเงินถูกขัดจังหวะถูกปล่อยค… ! อาการ
คำสั่งซื้อที่การชำระเงินถูกขัดจังหวะถูกปล่อยค้างไว้และไม่เกิดยอดขาย
› สิ่งที่ผมบอก AI
ผมอยากให้ผู้ใช้กลับมาชำระเงินที่ค้างไว้ต่อได้" โดยอธิบายเป็น flowOriginal 결제가 끊긴 주문을 사용자가 다시 이어서 결제하게 하고 싶다"고 플로우로 전달. ↺ ความพยายามแรกของ AI
ป้ายสถานะธรรมดาไม่ช่วยให้ผู้ใช้หาจุดที่ค้างไว้เจอ
◎ จุดที่ผมจับได้
สถานะ "รอชำระเงิน" ต้องเด่นทั้งในแบนเนอร์และใน My Page และต้องชำระต่อจากจุดที่หยุดได้
✓ วิธีแก้
เพิ่ม flow กลับเข้ามาชำระต่อ ลดการหลุดออกกลางทาง
⟲ การป้องกันไม่ให้เกิดซ้ำ
สำหรับ flow ที่อาจถูกขัดจังหวะ ผมออกแบบสถานะ "หยุด–ทำต่อ" ไว้ตั้งแต่ต้น
ใช้งานจริงบนโดเมน mechoose.store
พัฒนาจริง ~8 สัปดาห์ (คอมมิตของผมเอง 100 ครั้ง จากทั้งหมด 241 ที่เหลือเป็นบอตซิงก์อัตโนมัติจาก Figma)
ซอร์สโค้ดฝั่ง frontend ~38,600 บรรทัด และ edge function 137 เส้นทาง (ฟังก์ชันเดียว)
ฟีเจอร์ที่ใช้งานจริง: flow กลับมาชำระคำสั่งซื้อที่ค้าง, การเติมที่อยู่อัตโนมัติ, ลองเสื้อผ้าเสมือนจริงด้วย AI
แผงแอดมิน — แปลข้อความ UI เป็นภาษาอังกฤษสำหรับพอร์ตโฟลิโอ Fig. mechoose-08
โค้ดเว็บชุดเดียว → เว็บ, iOS, Android และแบ็กเอนด์ serverless
Frontend React · Vite · TypeScript โค้ดเว็บชุดเดียว
Web Vercel mechoose.store
App shell (ห่อเป็นแอป) Capacitor iOS · Android
Backend Edge API (ฟังก์ชัน serverless) 137 เส้นทาง · คำสั่งซื้อ การชำระเงิน แอดมิน
Data DB · Storage
AI ลองเสื้อผ้าเสมือนจริงด้วย AI (API ภายนอก)
สถาปัตยกรรมที่คนเดียวดูแลได้ ออกแบบร่วมกับ AI: รวมทุกเส้นทาง API ไว้ใน edge function เดียว ไม่มีเซิร์ฟเวอร์ให้ดูแล ฟีเจอร์เพิ่มได้เร็วเมื่อผมสั่งงานด้วยเสียง แต่โครงสร้างหน้าจอช่วงแรกถูกอัดไว้ในไฟล์เดียวจนแก้ไขยากขึ้น ครั้งหน้าผมจะตั้งมาตรฐานตั้งแต่ต้นให้แยกหน้าจอและการจัดการ state เป็นชิ้นเล็กตามหน้าที่
หน้าจอเพิ่มเติม · 3 ภาพ
UI shown in English for portfolio; product data is the live Thai catalog (seller photos blurred).
(01) Review
Honest รีวิว ถ้านักพัฒนาเป็นคนสร้าง
● จุดแข็ง3
ขอบเขตฟีเจอร์ — บริการคอมเมิร์ซครบวงจรที่ใช้งานจริง
ร้านค้า ตะกร้า รายการโปรด การชำระเงินด้วยบัตรจริงและการคืนเงิน การเคลมและคืนสินค้า สต็อก รีวิว แอปสไตลิสต์ แผงแอดมิน ล็อกอินโซเชียล 4 แบบ พุชและการแจ้งเตือนทาง LINE — ใช้งานจริงบนเว็บ App Store และ Google Play
ประสิทธิภาพ — main bundle ลดจาก 1.6MB → 454KB
แยกโค้ด vendor เป็น 5 chunk โหลดแอปแอดมินเฉพาะเมื่อจำเป็น (ย้ายออกไป 664KB) แคชข้อมูล 5 นาที และ lazy-load รูปภาพ
ความเร็วและต้นทุน — เว็บใช้งานจริงใน ~1 สัปดาห์ App Store ใน ~6 สัปดาห์
พัฒนาจริง ~8 สัปดาห์ ~51K บรรทัด คอมมิตของผมเอง 100 ครั้ง
◐ เทียบเท่า4
ความปลอดภัยพื้นฐาน — เทียบเท่าทีมเล็ก
ตรวจสิทธิ์แอดมินทุกเส้นทางของแอดมิน ตรวจยอดชำระซ้ำบนเซิร์ฟเวอร์ จำกัด origin ที่อนุญาต จำกัดอัตราการเรียก (rate limiting) มี security header และไม่ส่งคีย์ฝั่งเซิร์ฟเวอร์ไปกับแอป
การเปิดตัวและการดูแลระบบ — เว็บ + แอปสโตร์ 2 แห่งจากโค้ดเบสเดียว
Vercel สำหรับเว็บ Capacitor สำหรับ iOS/Android มี deep link, PWA และหน้าจอข้อผิดพลาดที่แสดงรหัสอ้างอิง
การรองรับหลายภาษา — ตลาดเดียว เน้นภาษาไทยเป็นหลัก
คีย์แปล 245 คีย์ ยังมีข้อความฮาร์ดโค้ดเหลืออยู่บางส่วน
เอกสาร — บันทึกสถาปัตยกรรมและการตัดสินใจไว้
ตัวเลขบางส่วนในเอกสารคลาดเคลื่อนจากโค้ด
↗ ขั้นต่อไป (กำลังเติมเต็ม)4
การทดสอบและระบบอัตโนมัติ — ยังไม่มีการทดสอบ CI lint หรือการตรวจ type
ทุกการปล่อยเวอร์ชันตรวจด้วยมือบน flow การซื้อจริง
วางแผน → เริ่มจากตรรกะการชำระเงินและคำสั่งซื้อ: unit test 10–20 ชุด จากนั้นบิลด์ + ตรวจ type + ทดสอบทุกคอมมิต
สถาปัตยกรรม — แบ็กเอนด์โตเป็นไฟล์เดียว 6,299 บรรทัด บน key-value store ตัวเดียว
เส้นทาง API 137 เส้นอยู่ในไฟล์เดียว และข้อมูลอยู่ใน store แบบทั่วไปตัวเดียว ฐานข้อมูลจึงบังคับความสัมพันธ์ของข้อมูลไม่ได้
วางแผน → แยกตามโดเมน (คำสั่งซื้อ → การชำระเงิน → แอดมิน) และย้ายคำสั่งซื้อกับการชำระเงินไปตารางที่เหมาะสมพร้อม migration
ความสม่ำเสมอของโค้ด — type หลวม และมีไฟล์สำเนาค้างอยู่
มีจุดที่ไม่ระบุ type (`any`) 940 จุด การพัฒนาอย่างรวดเร็วทำให้มีโค้ดเซิร์ฟเวอร์ค้างอยู่ 3 สำเนาและไฟล์สำรอง
วางแผน → ใช้การตรวจ type แบบเข้มงวดเป็นด่านก่อนปล่อยเวอร์ชัน เริ่มลบ `any` จากส่วนชำระเงิน และลบสำเนาที่ไม่ใช้แล้ว
ประวัติและการมอนิเตอร์ — คอมมิตตามรอยยาก ไม่มีระบบแจ้งเตือน
141 จาก 241 คอมมิตเป็นการซิงก์อัตโนมัติจากเครื่องมือออกแบบ ข้อผิดพลาดมีรหัสอ้างอิง แต่ยังไม่มีอะไรแจ้งเตือนผมอัตโนมัติ
วางแผน → แยกคอมมิตฟีเจอร์ที่มีข้อความชัดเจนออกจากการซิงก์ดีไซน์ และเพิ่มการติดตามข้อผิดพลาดกับการสำรองข้อมูลตามรอบเข้าไปในขั้นตอนดีพลอย
Chapter 02
Chapter takeaway
สิ่งที่โปรเจกต์นี้สอนผม
01 เมื่อแปลงปัญหาของผู้ใช้ (การชำระเงินค้าง ที่อยู่ผิด) เป็นคำสั่ง ปัญหาก็กลายเป็นฟีเจอร์02 บริการที่ใช้งานจริงคือหลักฐานที่แข็งแรงที่สุดในตัวเอง — ข้อเท็จจริงที่ว่ามัน "ใช้งานอยู่"03 ความเร็วแลกมาด้วยโครงสร้าง — มาตรฐานการแยกส่วนถูกกว่าถ้าตั้งไว้ตั้งแต่ต้นโปรเจกต์ถัดไป →
กำกับ AI ให้สร้างแอปเดียวกันแบบเนทีฟทั้งบน iOS และ Android — แอปเก็บความทรงจำของคู่รักที่จับคู่ช่วงเวลาให้อัตโนมัติ
© 2026 Hyunjun Kim. สร้างด้วย Next.js, Tailwind CSS และ Motion — ร่วมกับ AI
Back to top ↑