10 July 2024
Today, I’m excited to introduce Copia: a web app designed to help you master vocabulary, geography, and any other subject effortlessly. With its intelligent scheduling algorithm, Copia ensures you spend the least amount of time needed to retain information effectively.
Copia's development was initiated with SvelteKit and Pocketbase. However, I soon switched from Pocketbase to Laravel, as Laravel provides a more mature foundation to build Copia.
As I planned to make Copia offline first, I needed client-side data storage. I started with LocalStorage, but it doesn't provide the database structure that was needed for this project. Then I looked into IndexedDB, but it was annoying to get it working. Finally, I found DexieJS: a wrapper around IndexedDB that makes it a joy to work with.
When the user goes online again, the app syncs all offline data to the server. This pattern allows the user to access the app at all times, even without an internet connection.
Although the foundation is solid, there’s plenty of room for improvement. Here’s what I plan to add in the future:
In conclusion, while the app’s foundation is robust, I are committed to continuous improvement. With enhanced user experience, detailed statistics, new features, bug fixes, dark mode, and multi-language support, the future updates aim to make the app more intuitive and enjoyable for everyone.
I invite you to try the app and experience these exciting enhancements firsthand. Best of all, it’s completely free! Click here to create a free account.