[Case Study] Xây dựng DApp lưu highlights một cách tiện lợi hơn
Hành trình phát triển EmboldenIT - ứng dụng blockchain cho phép lưu trữ và chia sẻ highlights từ nội dung web. Bài viết chia sẻ chi tiết quá trình từ ý tưởng đến triển khai, các thách thức kỹ thuật khi xây dựng DApp trên nền tảng Blockstack, và cách thiết kế trải nghiệm người dùng với Chrome extension để tối ưu việc lưu trữ nội dung quan trọng.
![[Case Study] Xây dựng DApp lưu highlights một cách tiện lợi hơn](/_next/image?url=https%3A%2F%2Fres.cloudinary.com%2Fkhoanguyen1505%2Fimage%2Fupload%2Fv1751209392%2Fkhoa_blog%2FCase_Study_X%25C3%25A2y_d%25E1%25BB%25B1ng_DApp_l%25C6%25B0u_highlights_m%25E1%25BB%2599t_c%25C3%25A1ch_t%2Fdde22654-dd7d-450e-9e4c-37073a35f20f_2000x803.png.jpg&w=1920&q=75)
Giới thiệu
Gần đây mình và bạn Khang Tran có ý định làm một app để lưu lại các nội dung hay, nổi bật khi đọc trên mạng. Hiện tại đã làm xong, bạn có thể sử dụng nó tại đây.
Bài viết này sẽ chia sẻ về cách tụi mình lên ý tưởng và xây dựng ứng dụng như thế nào. Hy vọng bài viết giúp ích được cho mọi người.
Ý tưởng
Để lưu nội dung trên mạng, các ứng dụng hiện có trên thị trường chia ra làm các loại sau:
-
App lưu chỉ mục (bookmark) như Get Pocket. App dạng này chỉ lưu lại danh sách urls. Sau đó bạn sẽ truy cập vào dashboard để xem lại danh sách này. Ngoài ra, dựa vào dữ liệu người dùng, các app này recommend các nội dung có thể bạn sẽ thích.
-
App highlight text trong 1 url. Tức là bạn có thể highlight, lưu lại những đoạn text trong 1 url. Nhưng để truy cập thì bạn phải vào lại url đó để hiện các highlights lên.
-
Các app lưu note, ideas như Notes trên Macbook, Workflowy. Các app dạng này hỗ trợ các tính năng đồng bộ, làm việc chung cho team. Mình thì lại không cần những tính năng này.
Thật tình cờ là mình cũng hay đọc trên Medium cũng như có dùng tính năng highlight của Medium. Nó khá đơn giản và hiệu quả.
Khi bạn highligh lại một nội dung (từ, câu, đoạn văn) thì phần đó sẽ nổi lên. Tác giả cũng như những đọc giả khác có thể thấy. Điều này sẽ giúp content nổi bật hơn, các ý hay của tác giả cũng được nhấn mạnh hơn.
Càng nhiều highlight cùng 1 câu thì câu đó đáng để lưu lại.
Và khi bạn highlight một nội dung thì nội dung đó sẽ được lưu trong profile của bạn.
Tính năng highlight trên Medium
Dựa vào trải nghiệm này trên Medium, team mình đã nghĩ ra ý tưởng đưa tính năng highlight này để sử dụng ở mọi website, không chỉ là Medium.
Cách đặt tên ứng dụng
Sau khi chốt idea và danh sách tính năng là bước đặt tên. Mình nghĩ quá trình đặt tên cũng khá rối não. Mình cũng muốn chia sẻ lại vài tips về các đặt tên app. Vì cái tên là cái 'đập' vào mặt user đầu tiên mà.
Cách thứ nhất là đặt tên không có trong từ điển như GOOGLE, hoặc ghép từ TIKI (tiết kiệm), MOMO (mobile money)
Cách thứ hai là dùng những động từ/danh từ để mô tả lại tính năng chính của ứng dụng.
Ở đây mình là ứng dụng highhight content nên sẽ có các danh từ như:
- highlights, notes, word, text, content
Và các động từ như:
- highlight, spot, mark, tag, underline, peak
Nhưng mình chợt nghĩ là việc highlight text tức là mình đang select nó để bôi đen đoạn text đó trước. Thế là mình nghĩ đến cách đặt tên theo hướng mô tả lại cách user sử dụng.
Mà bôi đen text tiếng Anh là make it bold hoặc embolden.
Thế là nghĩ ra cái tên Embolden.IT. Đến lúc đăng ký domain, mình mới biết .IT không phải domain về tech mà là domain cấp quốc gia. (IT = Itala).
Việc đăng ký domain .IT phải là công dân của Ý, nhưng Goddady có thể đứng ra làm đại diện để mua.
Cũng hơi rắc rối, nên thôi mình quyết định dùng .com. Thế là EmboldenIt.com ra đời.
Tính năng, UI/UX
- Sẽ có 1 Google Chrome plugin để giúp bạn highlight text dễ hơn. Đương nhiên bạn cũng có thể login vào EmboldenIt.com để tự add highlights bằng tay.
Embolden it now!
-
Bạn có thể login vào app để xem lại danh sách highlight, xóa highlight, search highlight.
-
Bạn có thể share list highlight với bạn bè của mình.
-
Về UI, bạn Khang Tran đã thêm vào là dynamic background. Tức là background sẽ thay đổi mỗi lần bạn truy cập vào trang. Nó tạo cảm giác tươi mới mỗi lần xem lại note/highlight của bản thân.
-
Bạn có thể share các đoạn higlights lên social để đăng 'status deep' cho tiện.
Công nghệ Blockchain
Hiện nay khi sử dụng các ứng dụng tập trung (centralized) thì dữ liệu của bạn được các công ty nhất định lưu trữ. Các công ty có thể thu thập và lưu trữ dữ liệu của bạn để sử dụng với các mục đích khác nhau.
Mục đích đầu tiên ai cũng có thể thấy là bán quảng cáo. Chính bạn và mình là những sản phẩm của Facebook, Youtube. Họ biết bạn thích xem nội dung gì, tương tác với ai, họ biết hết.
Nếu bạn ngưng sử dụng những ứng dụng này thì các công ty có toàn quyền dùng dữ liệu của bạn. Bạn cũng không thể lấy dữ liệu của bạn về.
Với một ứng dụng nhỏ như lưu chỉ mục (bookmark) hay highlights, bạn có thể thấy là các app này cũng đọc dữ liệu của bạn và biết bạn thích gì từ đó chạy quảng cáo với các nội dung bạn thích.
Công nghệ blockchain thúc đẩy sự phát triển của decentralized apps - các ứng dụng phi tập trung. Tức là dữ liệu của bạn là của chính bạn. Không một bên thứ ba nào có thể lấy dữ liệu mà bạn chưa đồng ý.
Bạn chứng thực trên các nền tảng blockchain bằng 1 cặp public và private key. Private key chỉ có mình bạn biết. Nội dung bạn tạo trên các DApp sẽ được mã hóa và lưu trữ theo định danh của bạn.
Lúc trước mình có thể chia sẻ về dự án hóa đơn điện tử với blockchain. Hóa điện tử có nhiều rào cản về pháp lý cũng như tính khả thi.
Nhưng với một ứng dụng đơn giản để sử dụng hằng ngày như EmboldenIT, mình hy vọng mọi người có thể làm quen với việc sử dụng DApps.
Tại sao phải gọi là làm quen? Vì cách login sẽ khác, cách bạn bảo mật tài khoản sẽ khác. Cách bạn quản lý dữ liệu cá nhân cũng sẽ khác đôi chút với ứng dụng thông thường.
Khi user đã quen với việc sử dụng các ứng dụng DApps thì sẽ giúp ích cho các Blockchain platforms, các blockchain developers. Họ sẽ xây dựng các nền tảng, ứng dụng phục vụ mọi người tốt hơn.
À, Platform blockchain mà tụi mình dùng là Blockstack nhé. Nếu mọi người quan tâm thì mình sẽ viết tiếp phần 2 để hướng dẫn xây dựng lại DApps EmboldenIT từng bước cụ thể nhé.
Bài học kinh nghiệm
Một số bài học mà mình rút ra từ ứng dụng này
-
Nên xây dựng ứng dụng giải quyết vấn để của bản thân.
-
Nên xây dựng ứng dụng để mình dùng, mình là người dùng đầu tiên
-
Launch thật sớm để lấy user feedbacks hơn là ngồi nghĩ những 'tính năng fancy' (đao to búa lớn).
Các tính năng sẽ làm (Wishlist features)
Trên đây là một số features tụi mình sẽ thêm vào EmboldenIT trong tương lai:
-
Plugin for Safari, Firefox.
-
Text to speech highlights: giúp bạn nghe lại các highlights như đang nghe Podcast
-
Random highlights
Mọi người có ý tưởng gì cứ comment góp ý nhé.
Kết
Bài viết này mình đã chia sẻ gần hết quá trình tụi mình ra ý tưởng và làm ứng dụng EmboldenIT. Hy vọng là bài viết phần nào giúp được mọi người.
Mọi người có thể sử dụng EmboldenIT hằng ngày để lưu highlights nhé. Tụi mình cũng rất mong nhận được feedback từ mọi người.
Ngoài ra mọi người có thể xem feedback và support tụi mình trên ProductHunt: EmboldenIT trên ProductHunt
Nếu mọi người có thắc mắc, hay cần giúp đỡ gì có thể lại comment hoặc trực tiếp liên hệ mình hoặc bạn Khang Trần nha.
Enjoy emboldening!
Related Posts
Discover more content you might enjoy

Dùng AI để hỗ trợ đầu tư crypto
Bài viết chia sẻ 7 mẹo thực tế để sử dụng AI (như Claude.ai và ChatGPT) hỗ trợ hiểu rõ whitepaper và tài liệu kỹ thuật của các dự án blockchain. Từ việc yêu cầu tóm tắt đơn giản, giải thích như cho trẻ em, đặt câu hỏi làm rõ, sử dụng ví dụ, tạo tình huống giả định, chuyển đổi thuật ngữ, đến so sánh nhiều nguồn tài liệu - giúp nhà đầu tư đưa ra quyết định đầu tư crypto sáng suốt hơn.
![[Guest Post] Bước vào thế giới blockchain: Hướng dẫn chi tiết xây dựng một ứng dụng dApp](/_next/image?url=https%3A%2F%2Fres.cloudinary.com%2Fkhoanguyen1505%2Fimage%2Fupload%2Fv1751208755%2Fkhoa_blog%2FGuest_Post_B%25C6%25B0%25E1%25BB%259Bc_v%25C3%25A0o_th%25E1%25BA%25BF_gi%25E1%25BB%259Bi_blockchain_H%25C6%25B0%25E1%25BB%259Bng_d%25E1%25BA%25ABn_%2F8a0c602d-1e79-4ae3-a446-9c86bfb7c239_300x284.png.jpg&w=828&q=75)
[Guest Post] Bước vào thế giới blockchain: Hướng dẫn chi tiết xây dựng một ứng dụng dApp
Bài viết khách mời từ Hoàng BA - chuyên gia phân tích nghiệp vụ blockchain với hơn 2 năm kinh nghiệm trong các dự án DEX, User Identity và Token Swap. Tác giả chia sẻ quy trình toàn diện để xây dựng ứng dụng phi tập trung (dApp) trên blockchain, từ khâu lựa chọn công nghệ, phát triển smart contract đến thiết kế giao diện và triển khai sản phẩm.
![[Case Study] Kiếm ngàn đô từ tham gia Blockchain Grants](/_next/image?url=https%3A%2F%2Fres.cloudinary.com%2Fkhoanguyen1505%2Fimage%2Fupload%2Fv1751208829%2Fkhoa_blog%2FCase_Study_Ki%25E1%25BA%25BFm_ng%25C3%25A0n_%25C4%2591%25C3%25B4_t%25E1%25BB%25AB_tham_gia_Blockchain_Gra%2F9a1da216-432c-4bdc-8de2-93103e607dbf_750x422.png.jpg&w=828&q=75)
[Case Study] Kiếm ngàn đô từ tham gia Blockchain Grants
Khám phá cách kiếm thu nhập từ các chương trình tài trợ blockchain. Bài viết giải thích chi tiết blockchain grants là gì, lý do các dự án blockchain cần grants, và chia sẻ kinh nghiệm thực tế từ người đã tham gia thành công các chương trình này. Một hướng dẫn thiết thực cho lập trình viên muốn tận dụng cơ hội trong thị trường tiền điện tử.

Hướng dẫn bán token BRC20 trên sàn Unisat
Bài viết hướng dẫn chi tiết cách listing và bán token BRC20 trên sàn giao dịch Unisat.io. Tác giả trình bày quy trình hai bước chính: tách NFT thành các phần nhỏ để chỉ định số lượng token cần bán và thực hiện giao dịch trên marketplace, kèm theo các hình ảnh minh họa từng bước thực hiện.

Sơn Tùng đạo nhạc? Đạo game, đạo khóa học và Vi phạm bản quyền.
Bài viết thảo luận về ranh giới mong manh giữa lấy cảm hứng và đạo nhái trong nhiều lĩnh vực, từ âm nhạc (trường hợp Sơn Tùng MTP) đến văn học, phát triển game và khóa học. Tác giả phân tích các khía cạnh của vấn đề bản quyền, sự khác biệt giữa việc học hỏi và sao chép, cũng như các hình thức vi phạm bản quyền phổ biến trong thời đại số, đồng thời đặt ra những câu hỏi về đạo đức và ranh giới của sự sáng tạo.

Moonwalking with Einstein
Đánh giá sách 'Moonwalking with Einstein' của Joshua Foer - hành trình khám phá nghệ thuật và khoa học của việc ghi nhớ, từ góc nhìn của một nhà báo tham gia vào cuộc thi USA Memory Championship.