XU · APP UI

Voice agent UI · Light & Dark

Bấm thanh điều hướng, thẻ và nút trong từng màn hình để nhảy giữa các màn hình. Token và component nằm ở Design System.

1Trang chủ
Chào buổi sángMinh Anh
Từng kỳ 185k T3T4T5T6T7CNNay
Lũy kế 1,82tr T3T4T5T6T7CNNay
Hôm nay · T2, 26/10 4 khoản
185.000đ
12% so với hôm qua TB ngày 263k
Cà phê tăng 40%175k tuần này · 125k tuần trước
40%

Gần đây

Xem tất cả
2Trợ lý · Đang nghe (trên Trang chủ)
Chào buổi sángMinh Anh
Từng kỳ 185k T3T4T5T6T7CNNay
Lũy kế 1,82tr T3T4T5T6T7CNNay
Hôm nay · T2, 26/10 4 khoản
185.000đ
12% so với hôm qua TB ngày 263k
Tuần này1,24 tr
Tháng này6,85 tr
Grab về nhàĐi lại · 17:45−40.000đ
Cơm trưaĂn uống · 12:30−65.000đ
Đang ngheCứ nói, Xu đang nghe…
3Trợ lý · Mở Thống kê & trả lời

Thống kê

Tiêu vào đâu?

12 danh mục · 6,85 tr
Ăn uống2,10 tr
31%
Đi chợ1,51 tr
22%
Hoá đơn1,23 tr
18%
Đi lại820k
12%
Sức khoẻ460k
7%
Giải trí380k
5%
6,85trĐã chi
263kTB / ngày
−10%So với T9
Xu Tháng 10 bạn chi 6,85 tr. Ăn uống nhiều nhất, chiếm 31%.
Đang nóiĐã mở Thống kê · Tháng 10
4Trợ lý · Điền form & chờ xác nhận

Khoản chi mới

Xu đã điền · chưa lưu 65.000đ
Danh mục
Hôm nay, 12:30
Ăn với đồng nghiệp
Cần bạn xác nhậnLưu 65.000đ · Ăn uống?
5Trợ lý · Cập nhật thông tin & xác nhận

Cá nhân

Chờ xác nhận
Giọng trợ lý Nữ · miền BắcNữ · miền Nam
Ngôn ngữTiếng Việt
Giao diệnTheo hệ thống
Xu Đổi sang giọng nữ miền Nam nhé?
Cần bạn xác nhậnĐổi giọng trợ lý?
6Trợ lý · Bảng chi tiết, có phụ đề của bạn
Xu● Đang nghe
Mở thống kê tháng này09:41
Tháng 10 bạn chi 6,85 tr, ít hơn tháng 9 10%. Đã mở Thống kê
Ghi ăn trưa 65 nghìn với đồng nghiệp09:42
65.000đĂn uống · 12:30Đã lưu
Đổi giọng sang nữ miền Nam09:43
Đổi sang giọng nữ miền Nam nhé?
Giọng trợ lýChờ xác nhận
Nữ · miền BắcNữ · miền Nam
Ừ, đổi điĐang nói…
Đang nghe…
8Chi tiết danh mục

Ăn uống

2,10 tr 42 khoản · TB 50k
8%

Hôm nay

110k
12:30Cơm trưaĂn với đồng nghiệp65.000đ
07:30Phở bò

Hôm qua · 25/10

250k
19:00Lẩu nấmCuối tuần cùng gia đình210.000đ
11:45Bún chả40.000đ

T7 · 24/10

105k
18:30Cơm tối80.000đ
07:15Bánh mì25.000đ
9Thống kê · Tháng

Thống kê

Tháng 10, 2026
6,85trĐã chi
263kTB / ngày
−10%So với T9

Tiêu vào đâu?

12 danh mục · 6,85 tr
Ăn uống2,10 tr
31%
Đi chợ1,51 tr
22%
Hoá đơn1,23 tr
18%
Đi lại820k
12%
Sức khoẻ460k
7%
Giải trí380k
5%

6 tháng gần đây

TB 7,2tr

Lịch chi tiêu

ÍtNhiều
T2T3T4T5T6T7CN

Tiết kiệm

+0,6tr so với T9
1,82,21,12,51,4 2,0 T5T6T7T8T9T10 Trung bình 1,8 tr/tháng · cao nhất T8

Khoản lớn nhất

1Tiền điện05/10820.000đ
2Đi chợ cuối tuần18/10450.000đ
3Lẩu nấm25/10210.000đ
9bThống kê · Ngày

Thống kê

Hôm nayThứ Hai, 26/10/2026
185kĐã chi
4Khoản
−30%So với TB ngày

Tiêu vào đâu?

3 danh mục · 185k
Ăn uống110k
59%
Đi lại40k
22%
Cà phê35k
19%

7 ngày gần nhất

TB 263k

Các khoản hôm nay

4
10Cá nhân

Cá nhân

Minh Anh[email]
12danh mục
248khoản đã ghi
36hội thoại

Giọng trợ lý

Tất cả 8 giọng
M Mai Đang dùngNữMiền Bắc
Giọng của bạnThu 15 giây hoặc tải file

Hội thoại gần đây

Tất cả
Học tài chính & đầu tưTrò chơi nhỏ để tiền lớn dần Sắp có

CHUNG

Ngôn ngữTiếng Việt
Giao diệnTheo hệ thống
Tiền tệVND

THÔNG BÁO

Nhắc ghi chi tiêuMỗi ngày · 21:00
Tóm tắt cuối tuần

BẢO MẬT

Thiết bị đăng nhập2
Đổi mật khẩu

Phiên bản 1.0.0

10bGiọng trợ lý

Giọng trợ lý

Giọng của bạn MớiXu sẽ nói bằng giọng của bạn
Thu 15s
MP3, WAV, M4A · 10–15 giây · chỉ dùng cho tài khoản của bạn
10cThu giọng của bạn

Thu giọng của bạn

Đọc to đoạn sau
Hôm nay mình đi chợ hết một trăm hai mươi nghìn, mua rau, thịt và một ít trái cây cho cả nhà.
0:09/ 0:15 Âm thanh rõ
Huỷ

Khởi động splash gốc tĩnh → hoạt ảnh khi app sẵn sàng

S0Splash gốc (tĩnh)
XuNói là ghi
S1Màn khởi động
XuNói là ghi

Xác thực khớp API /auth: đăng ký → xác minh → tự đăng nhập · quên → đặt lại → đăng nhập lại

A1Đăng nhập
Chào bạn!

Chào mừng trở lại

Nói là ghi, Xu lo phần còn lại.

Quên mật khẩu?

Chưa có tài khoản? Đăng ký

POST /auth/login trả cặp token. Sai email hoặc mật khẩu (401 invalid_credentials) hiện một lời nhắn chung dưới ô mật khẩu, không nói ô nào sai.

A1bĐăng nhập · email chưa xác minh
Còn một bước nữa!

Chào mừng trở lại

Nói là ghi, Xu lo phần còn lại.

Chưa có tài khoản? Đăng ký

Khi POST /auth/login trả 403 email_not_verified. Banner chỉ hiện ở lỗi này. Nút gọi /auth/resend-verification rồi mở A3 (mật khẩu vừa nhập được giữ trong bộ nhớ để dùng ở bước xác minh).

A2Đăng ký
Cùng gom vàng nào!

Tạo tài khoản

Miễn phí · chỉ cần email

Mạnh

Đã có tài khoản? Đăng nhập

POST /auth/register. Backend chỉ yêu cầu mật khẩu 8–128 ký tự; thanh độ mạnh chỉ là gợi ý. App giữ mật khẩu trong bộ nhớ (không lưu xuống máy) để dùng ở A3.

A3Xác minh email
Kiểm tra hộp thư nhé!

Nhập mã xác minh

Mã 6 số được gửi tới minhanh@xu.app · Đổi

Hết hạn sau 9:42

Không nhận được mã? Email có thể đã có tài khoản: Đăng nhập hoặc Quên mật khẩu

POST /auth/register luôn trả 202 kèm challenge_id, kể cả khi email đã tồn tại (khi đó không gửi mã), nên lời nhắn không khẳng định mã đã đến. Không có ô mật khẩu: app gửi lại mật khẩu đã nhập ở A2 cùng mã tới /auth/verify-email. Hết hạn 600 giây (expires_in), gửi lại sau 60 giây (resend_after).

A3bXác minh · mã chưa đúng
Ối, chưa khớp rồi…

Nhập mã xác minh

Mã 6 số được gửi tới minhanh@xu.app · Đổi

Hết hạn sau 7:15

Backend trả cùng một lỗi invalid_code cho mã sai, mã hết hạn và mã đã sai quá 5 lần, nên lời nhắn gộp cả ba và luôn mời gửi mã mới. Không hiển thị số lần thử còn lại (API không trả). Khi bị chặn tạm (429 rate_limited), nút gửi lại đếm ngược theo retry_after.

A3cXác minh xong · tự đăng nhập
Wow! Chào mừng tới Xu!

Xác minh xong!

Đang đăng nhập cho bạn…

Sau POST /auth/verify-email (204, không token), app tự gọi POST /auth/login bằng email và mật khẩu đã giữ từ A2 rồi vào Trang chủ. Nếu đăng nhập tự động lỗi, chuyển về A1 với email điền sẵn.

A4Quên mật khẩu
Quên mật khẩu? Không sao! ??
  1. 1Email
  2. 2Mã & mật khẩu mới

Quên mật khẩu

Nhập email, Xu gửi mã đặt lại cho bạn.

Nhớ ra rồi? Đăng nhập

POST /auth/forgot-password luôn trả 202, không cho biết email có tồn tại hay không, nên luôn chuyển sang A5.

A5Đặt lại mật khẩu
Sắp xong rồi!
  1. 1Email
  2. 2Mã & mật khẩu mới

Đặt mật khẩu mới

Nhập mã đã gửi tới minhanh@xu.app

Rất mạnh
Hết hạn sau 8:20

Mã và mật khẩu mới gửi cùng lúc tới POST /auth/reset-password. "Gửi lại mã" gọi lại /auth/forgot-password với email ở bước 1. Mã sai dùng cùng lời nhắn với A3b. Thành công thì sang A1c.

A1cĐăng nhập · sau khi đặt lại mật khẩu
Xong rồi! Đăng nhập lại nhé
Đổi mật khẩu thành côngMật khẩu mới đã có hiệu lực
  • Đã đăng xuất khỏi mọi thiết bị
  • Đăng nhập lại bằng mật khẩu mới

Đăng nhập lại

Chưa có tài khoản? Đăng ký

POST /auth/reset-password trả 204, không có token và thu hồi mọi phiên. Vì vậy quay về đăng nhập, điền sẵn email.