← Catalog

DiniGo: mô tả dự án và UI hiện tại

Mở riêng ↗

DiniGo: trợ lý ăn uống AI

Ăn gì đó? Đừng lo, có DiniGo!

DiniGo là app mobile (iOS và Android) giúp trả lời câu hỏi muôn thuở “tối nay ăn ở đâu?”. Người dùng nói dịp đi ăn bằng lời hoặc bằng giọng nói. AI hỏi lại vài chi tiết rồi trả về đúng 3 nơi hợp gu nhất, mỗi nơi có điểm “% hợp gu” kèm lý do. Sau bữa ăn, người dùng chấm điểm nhanh; phản hồi đó nuôi hồ sơ khẩu vị Dining DNA để lần gợi ý sau trúng hơn.

Trạng thái ngày 29/10/2026: app chạy được đầy đủ 12 màn hình trên dữ liệu mẫu, chưa nối backend.

Vấn đề và cách DiniGo giải quyết

Vấn đề hiện nay DiniGo làm khác
Chọn quán mất thời gian, lướt hàng chục review mà vẫn phân vân. Chỉ đưa 3 lựa chọn, đủ để quyết nhanh.
App review xếp hạng chung cho mọi người, không hiểu gu từng người. Mỗi gợi ý có % hợp gu riêng và giải thích vì sao hợp.
Mỗi dịp cần một kiểu quán khác nhau (hẹn hò khác tiếp khách). Bắt đầu từ dịp đi ăn: hẹn hò, bạn bè, gia đình, tiếp khách, ăn nhanh, thử điều mới.
Đi du lịch, tới thành phố lạ thì không biết ăn gì. Dùng vị trí hiện tại, tới thành phố mới thì gợi ý tự đổi theo.
Gợi ý không học được từ trải nghiệm thật. Phản hồi sau bữa ăn cập nhật Dining DNA, càng dùng càng đúng gu.

Người dùng mục tiêu

Luồng sử dụng chính

flowchart TD
  A[Mở app<br/>splash + kiểm tra vị trí] --> B[01 Trang chủ<br/>chọn dịp hoặc nhập yêu cầu]
  B --> C[02 Hội thoại AI<br/>xác nhận giờ, khu vực, số người, ngân sách]
  C --> D[03 Ba nơi dành cho bạn<br/>% hợp gu + lý do]
  D --> E[04 Chi tiết nhà hàng]
  E --> F[07 Vì sao AI chọn]
  E --> G[05 Tối nay ở đây<br/>đông/vắng, chờ, đỗ xe]
  E --> H[08 Lưu vào kế hoạch<br/>lịch, chia sẻ, nhắc]
  H --> I[Đi ăn]
  I --> J[09 Phản hồi sau bữa ăn]
  J --> K[10 Dining DNA<br/>cập nhật gu]
  K -. gợi ý sau trúng hơn .-> B
  B --> L[06 Bản đồ quanh bạn]
  B --> M[11 Gợi ý chủ động]
  B --> N[12 Hỏi AI tự do]

Giao diện hiện tại

Ảnh chụp từ app thật trên iPhone 18 Pro Max (simulator), dữ liệu mẫu. Mỗi tấm: hàng trên giao diện sáng, hàng dưới giao diện tối. Xem từng màn ở cỡ lớn và chuyển Sáng/Tối trong design “Màn hình app DiniGo (hiện trạng)”. Nút bánh răng “Tools” ở góc ảnh là của bản dev, không có trong app thật.

Luồng tìm chỗ ăn

01 Trang chủ · 02 Hội thoại AI · 03 Ba nơi dành cho bạn · 04 Chi tiết nhà hàng · 07 Vì sao AI chọn nơi này

Luồng tìm chỗ ăn, sáng và tối

Tại quán và sau khi ăn

05 Tối nay ở đây · 06 Bản đồ & khu vực · 08 Lưu vào kế hoạch · 09 Sau khi đi ăn

Tại quán và sau khi ăn, sáng và tối

Cá nhân hoá

10 Dining DNA · 11 Gợi ý cho bạn · 12 Hỏi AI · Cá nhân / Cài đặt

Cá nhân hoá, sáng và tối

Splash và quyền vị trí

Splash gốc · Splash animation · Chưa hỏi quyền · Hộp thoại iOS · Đã từ chối · Có quyền và đổi thành phố

Splash và quyền vị trí, sáng và tối

Nhận diện thương hiệu

Thành phần Quy ước
Tên DiniGo
Slogan “Ăn gì đó? Đừng lo, có DiniGo!”
Logo Ghim bản đồ màu tím, bên trong là chiếc đĩa có đồ ăn: tìm quán ăn ngay nơi bạn đứng.
Font Fraunces (tiêu đề serif), Be Vietnam Pro (nội dung)
Nền sáng / tối Kem #FBF7F2 / Mực #0F0E13
Màu chính Nút đen #17150F ở giao diện sáng, tím #B7A4F4 ở giao diện tối
Màu nhấn Tím lavender #9A82EC, cam #EE8A2A, xanh “hợp gu” #E4F4E0 / #2F6B3A, đào #F9DCCA
AI orb Quả cầu chuyển màu hồng, tím, xanh ở các màn có AI (02, 09, 12)

Màn hình trong kế hoạch 2 tháng

Mockup đề xuất cho các màn chưa có, bản sáng và tối. Xem chi tiết trong design “Mockup màn hình mới (kế hoạch 2 tháng)”.

Mockup màn hình mới

Kỹ thuật

Phần Lựa chọn
App React Native + Expo SDK 58, iOS và Android, custom dev client
Điều hướng Expo Router (theo file)
UI HeroUI Native + Uniwind (Tailwind 4), theme sáng/tối bằng biến CSS
Dữ liệu React Query + Axios; hiện là dữ liệu mẫu đặt sau lớp API
Trạng thái, lưu trữ Zustand, MMKV
Ngôn ngữ i18next, tiếng Việt mặc định, có tiếng Anh
Vị trí expo-location, chỉ xin quyền khi đang dùng app
Kiểm thử Jest, Maestro (E2E)
Repo dinigo-vn/mobile

Lộ trình 2 tháng (2/11 – 25/12/2026)

Tuần Trọng tâm
1 Lớp API, trạng thái tải/trống/lỗi/mất mạng, app icon DiniGo, rà Android
2 Đăng nhập, hồ sơ, onboarding chọn gu
3–4 Hội thoại AI streaming, 3 gợi ý từ API, nhập giọng nói tiếng Việt
5 Chi tiết quán và bản đồ thật, chỉ đường, gợi ý theo thành phố khi du lịch
6 Lưu kế hoạch, thêm vào lịch, chia sẻ, phản hồi sau bữa ăn, Dining DNA từ API
7 Push notification, gợi ý chủ động, hoàn thiện giao diện sáng/tối
8 Test E2E, rà accessibility, phát hành bản nội bộ TestFlight và Google Play

Đích cuối là bản MVP nội bộ, chưa phát hành công khai. Bảng task chi tiết nằm trong repo mobile, file docs/roadmap-2-months.md.

Đang chờ chốt

Phần lớn câu hỏi cho backend chưa có trả lời. Ba câu ảnh hưởng timeline nhiều nhất:

  1. Giao thức chat AI (SSE hay WebSocket, cách trả về các phần có cấu trúc): chặn tuần 3–4.
  2. Nhà cung cấp bản đồ và dữ liệu quán (Google, Mapbox hay dữ liệu riêng; ai giữ API key): chặn tuần 5.
  3. Nhận giọng nói tiếng Việt (trên máy hay dịch vụ cloud): chặn tính năng nói.

Phía design cần chốt thêm: trạng thái trống / lỗi / mất mạng, chuyển động của AI orb, và layout nào là chuẩn khi bản sáng và tối khác nhau.