Goals Planning là gì?
Goals Planning loại bỏ những điều gây nhiễu của các ứng dụng năng suất hiện đại. Trong khi hầu hết các ứng dụng theo dõi thói quen gây choáng ngợp bởi quá nhiều tính năng, Goals Planning tập trung quyết liệt vào một chế độ xem duy nhất - ma trận tiến độ hàng tháng - giúp bạn thấy rõ ngay lập tức những gì đã đạt được và những gì cần chú ý.
Ma trận Hàng tháng
Giao diện cốt lõi hiển thị một lưới lịch với các ngày là cột và các thói quen là hàng. Mỗi ô chứa một nút gạt đơn giản - bạn có hoàn thành thói quen này hôm nay hay không? Không có việc ghi chép phức tạp, không có quy trình nhiều bước, chỉ cần chạm và tiếp tục.
Các trục cố định đảm bảo ma trận vẫn dễ đọc khi số lượng thói quen tăng lên. Tên thói quen luôn hiển thị ở bên trái trong khi ngày tháng luôn hiển thị ở phía trên. Việc chuyển đổi trạng thái nhanh chóng cho phép người dùng cập nhật nhiều thói quen trong vài giây, khiến việc check-in hàng ngày cảm thấy nhẹ nhàng thay vì giống như một tác vụ khác trong danh sách việc cần làm.
Cấu trúc Mục tiêu Linh hoạt
Không giống như các ứng dụng theo dõi thói quen cứng nhắc yêu cầu hoàn thành hàng ngày, Goals Planning đáp ứng mọi nhịp độ. Bạn muốn tập thể dục 3 lần một tuần? Hãy đặt đó làm mục tiêu. Thích đọc sách 15 phút mỗi ngày? Điều đó cũng khả thi. Hệ thống sẽ tính toán tiến độ - nếu bạn bị chậm, bạn sẽ thấy còn bao nhiêu phiên cần thực hiện để kịp kế hoạch; nếu vượt tiến độ, bạn sẽ thấy mức dự phòng của mình.
Cấu hình mục tiêu chấp nhận bất kỳ số lần lặp lại nào mỗi tháng, giúp hệ thống có thể thích ứng với mọi thứ, từ thiền hàng ngày đến đánh giá hàng quý.
UX Ưu tiên Tốc độ
Mọi tương tác trong Goals Planning đều ưu tiên tốc độ. Thêm một thói quen mới mất chưa đầy 5 giây. Chỉnh sửa các thói quen hiện có mất chưa đầy 3 giây. Xóa các thói quen đã hoàn thành mất chưa đầy 2 giây. Giao diện loại bỏ mọi rào cản giữa ý định và hành động.
Chế độ thêm nhanh cho phép nhập thói quen nhanh chóng với thao tác gõ tối thiểu. Các thao tác hàng loạt cho phép người dùng cập nhật nhiều thói quen cùng lúc. Các phím tắt cho phép những người dùng chuyên sâu điều hướng hoàn toàn bằng bàn phím.
Thống kê Hàng tháng
Vào cuối tháng, nền tảng sẽ tạo ra các số liệu thống kê rõ ràng: tổng số lần hoàn thành, tỷ lệ hoàn thành, chuỗi dài nhất, chuỗi hiện tại và so sánh với các tháng trước. Chế độ xem so sánh làm nổi bật các lĩnh vực cần cải thiện và ghi nhận những thành quả đạt được.
Cách trình bày số liệu thống kê nhấn mạnh vào sự tiến bộ hơn là sự hoàn hảo. Việc bỏ lỡ một ngày không gây ra cảm giác tội lỗi - mà nó kích hoạt sự phân tích. Những điều kiện nào đã góp phần vào thành công? Những trở ngại nào đã xuất hiện trong lúc gặp khó khăn? Nền tảng giúp người dùng hiểu rõ các khuôn mẫu của họ thay vì phán xét họ.
Ngôn ngữ và Giao diện
UI hỗ trợ tiếng Nga và tiếng Anh với khả năng chuyển đổi mượt mà. Chế độ tối (Dark mode) cung cấp tùy chọn ánh sáng thấp cho các phiên làm việc buổi tối, giảm mỏi mắt trong khi vẫn duy trì độ rõ nét. Thẩm mỹ tối giản tránh gây nhiễu về mặt thị giác, giữ sự tập trung vào điều quan trọng nhất - chính là các thói quen.
Triển khai SvelteKit
Goals Planning chạy trên nền tảng webs như một ứng dụng tenant, chia sẻ cơ sở hạ tầng cơ sở dữ liệu trong khi vẫn duy trì một bản sắc hình ảnh riêng biệt. Thiết kế tối giản, tập trung vào tiến độ phản ánh triết lý sản phẩm - không rườm rà, không xao nhãng, chỉ có sự rõ ràng về những điều quan trọng.
Chi tiết Triển khai
Việc triển khai ma trận hàng tháng ưu tiên tính toàn vẹn của dữ liệu. Mỗi thay đổi trạng thái nút gạt sẽ kích hoạt việc lưu trữ cơ sở dữ liệu ngay lập tức, ngăn chặn mất dữ liệu khi trình duyệt bị đóng bất ngờ. Hỗ trợ ngoại tuyến thông qua service workers sẽ xếp hàng các thay đổi khi kết nối bị ngắt và đồng bộ hóa khi kết nối được khôi phục.
Thuật toán tính toán tiến độ xử lý chính xác các tháng có độ dài khác nhau. Tháng Hai được xem xét với 28-29 ngày tương tự như bất kỳ tháng nào khác. Việc xử lý năm nhuận đảm bảo người dùng ngày 29 tháng Hai nhận được mức điều chỉnh mục tiêu phù hợp.
Xem xét về Hiệu suất
Việc kết xuất ma trận sử dụng cuộn ảo (virtual scrolling) cho những người dùng có hơn 20 thói quen. Chỉ những hàng hiển thị mới được kết xuất với độ chi tiết đầy đủ, trong khi các hàng giữ chỗ duy trì cấu trúc lưới. Cách tiếp cận này hỗ trợ những người dùng theo dõi hơn 50 thói quen mà không làm giảm hiệu suất.
Các truy vấn cơ sở dữ liệu được tối ưu hóa để truy xuất theo phạm vi hàng tháng thay vì tải toàn bộ lịch sử. Mỗi tháng chỉ tải các mục nhập của tháng đó, với dữ liệu lịch sử được tải chậm (lazy-loading) khi có yêu cầu. Kiến trúc này hỗ trợ sử dụng lâu dài mà không gặp phải các vấn đề về hiệu suất thường thấy ở các ứng dụng theo dõi tích lũy.