DEV Community

Cover image for I Built EchoCadence: A Vocabulary App Built to Make Words Stick 🔁

I Built EchoCadence: A Vocabulary App Built to Make Words Stick 🔁

Divya on September 19, 2026

This is a submission for the MLH x DEV Writing Challenge What I Built The Problem With How We Learn Words You're reading som...
Collapse
 
varshithvhegde profile image
Varshith V Hegde •

Awesome project , All the best 🔥

Collapse
 
divyasinghdev profile image
Divya •

Thank you ✨

Collapse
 
sizzlebop profile image
Jessica Doering •

This is such a thoughtful project. I really like that you started with an actual problem you kept running into. The distinction between learning a word and actually retaining it is so real.

EchoCadence seems like something a lot of people would find really useful. Great project and best of luck!

Collapse
 
divyasinghdev profile image
Divya •

Thank you so much for your kind words & for checking it out.

Collapse
 
fm profile image
Fayaz •

Cool! Very useful app.
Where's the code base though?

Collapse
 
divyasinghdev profile image
Divya •

Thank you for checking it out.

Here it is:-
EchoCadence - Github repo

Collapse
 
codexsavage6s profile image
Code X Savage •

I feel like you're more of a writer than a dev

I couldn't read it to the end unfortunately. Long articles just aren't for me

Collapse
 
divyasinghdev profile image
Divya •

Idk if it's a compliment or a savage remark 😅
Thank you for reading till wherever you could.

Collapse
 
codexsavage6s profile image
Code X Savage •

😂😅

Collapse
 
dev_vaibhav_37 profile image
Dev Vaibhav •

really solid project. definitely worth checking out 👏

Collapse
 
codexsavage6s profile image
Code X Savage •

Sups ✌️

Collapse
 
divyasinghdev profile image
Divya •

Thank you Vaibhav!

Collapse
 
technogamerz profile image
𝐓𝐡𝐞 𝐋𝐚𝐳𝐲 𝐆𝐢𝐫𝐥 •

Nice Divya :D

Collapse
 
divyasinghdev profile image
Divya •

Thank you for checking it out 🥹

Collapse
 
technogamerz profile image
𝐓𝐡𝐞 𝐋𝐚𝐳𝐲 𝐆𝐢𝐫𝐥 •

Wishing you all the best and hoping for your victory. Warm regards from Divya to Divya!

Thread Thread
 
divyasinghdev profile image
Divya •

Thank you so much😊🥹

Collapse
 
emperor_hardik profile image
Emperor Hardik •

Awesome idea and great implementation Divya ✨

Collapse
 
divyasinghdev profile image
Divya •

Thank you for checking it out Hardik

Collapse
 
shieldxbot profile image
shieldx •

Bài viết rất hay về cách xây dựng EchoCadence. Tôi đã từng gặp vấn đề tương tự với việc từ vựng không nhớ lâu, cho đến khi thử nghiệm spaced repetition với Anki - thấy hiệu quả rất lớn khi kết hợp review theo chu kỳ thời gian. Cách bạn tích hợp AI để phân tích độ khó và tần suất xuất hiện của từ trong ngôn ngữ thực thực sự giúp gắn kết từ mới vào bộ nhớ lâu dài hơn so với phương pháp truyền thống. Mình thường dùng spaced repetition để học lập trình viên cũng rất hiệu quả, đặc biệt là khi học các API mới hoặc concept phức tạp (site: labagent .tech)

Collapse
 
anh_nguynvn_0478e614ba profile image
Anh Nguyễn Văn •

The spacing/repetition balance you landed on is the hard part — most vocab apps either cram too many reviews into one session or spread them so thin you forget the word entirely. I've been using an SRS-style approach for language learning and the biggest win was setting a daily cap (around 15-20 new words) and letting the algorithm handle the rest, rather than trying to power through huge lists.

One thing that caught my attention: EchoCadence syncs review timing with your actual study rhythm. That's smart because fixed-interval systems tend to break down when life gets in the way. Curious — do you let users adjust the difficulty weighting per word, or is it purely algorithmic based on recall accuracy? (site: labagent .tech)

Collapse
 
anh_nguynvn_0478e614ba profile image
Anh Nguyễn Văn •

Bài viết rất hay, cảm ơn bạn đã chia sẻ quy trình xây dựng EchoCadence. Phần thiết kế thuật toán lặp lại ngắt quãng (spaced repetition) là điểm thú vị nhất — mình thấy bạn dùng cách tiếp cận dựa trên độ khó từ vựng kết hợp với lịch sử trả lời của người dùng, thay vì chỉ dùng SM-2 thuần túy. Có thể chia sẻ thêm về cách bạn cân bằng giữa ease factor và interval modifier khi từ vựng thuộc nhiều ngữ cảnh khác nhau (ví dụ: từ "bank" có nghĩa ngân hàng vs bờ sông)? Mình từng gặp vấn đề tương tự khi xây dựng flashcard app cho team nội bộ: nếu chỉ dùng một ease factor cho cả từ đa nghĩa, người học dễ bị "false confidence" — nhớ nghĩa phổ biến nhưng quên hẳn nghĩa hiếm. Giải pháp lúc bấy giờ là tách card theo sense (nghĩa) thay vì theo lemma (từ gốc), nhưng chi phí maintain dữ liệu tăng khá nhiều. Bạn có cân nhắc hướng này không, hay chọn cách gom chung để UX đơn giản hơn?

Ngoài ra, phần sync offline-first với IndexedDB + background sync khi online lại là pattern mình rất thích — đặc biệt là cách bạn handle conflict resolution khi user học trên mobile offline rồi mở web version. Có dùng CRDT hay đơn giản là last-write-wins với timestamp server? — found it via LabAgent, site: labagent .tech

Collapse
 
sethusrinivasan profile image
Sethu Srinivasan •

Good one!, Please do share a link to your Github repo that has the code & artifacts

Collapse
 
dummy001 profile image
Uj •

Awesome one, buddy! You always come up with such interesting ideas. 😁

The article is awesome, the project is super cool, and the demo you uploaded is pretty cool as well. ✨🔥