Today VocabTrainer v1.3 has been released on Google Play Store.
It’s a simple app for language learners to practice and memorize new words. You can add new words to the app, and it can generate practice tests based on those words for you to practice until you completely learn them.
BTD has quite a few bugs that was due to type mismatch. After a while I decided to migrate the application from ES6 to TypeScript. I believe it will provide me with some benefits in refactoring, type checking, type safety, and possibly making the code more well organized by having to define types more clearly.
After spending a few hours copying the code over, rename all the files from .js to .tsx and modifying the files to run in TypeScripts, I managed to make it compile and run. Though I had to disable TSLint completely as it throws lots and lots of errors.
To finish this migration, I will just work on it bit by bit until it becomes stable again.
I’m also considering switching the UI framework from Antd to Andtd mobile as it supports building using react-native, which might make it possible to build an Android version of the app together with the web version for desktop.
I have spent years trying out different applications, calendars, reminders, etc for my productivity system since the time I read Getting Things Done by David Allen. Some applications are designed specifically for GTD, but almost all of them have certain features that are not very suitable, there will always be certain things that make implementing the system difficult.
Also since calendar and my list management apps are separated, it makes it more expensive to maintain and keep both in sync.
Eventually, I finally decided to build my own application.
This was also a way for me to learn React and Redux. Initially I only wanted to practice by writing a simple to do list application, but after adding features after features it became a really powerful tool that I eventually uses it as my own productivity system. The beauty of it is that I can add whatever feature I want and adjust the user experience to suit my workflow the best.
It’s relatively stable though not feature complete yet, once it became stable and production ready, perhaps I will release it on Github.
Technologies used: React, Redux, Antd, PHP and MySQL.
It already has a lot of features that I use everyday:
Categorizes projects as current or future/someday/maybe
Built in Calendar and week plan view
Sorting tasks and projects based on Covey’s quadrant system(important but not urgent things first)
As of now I name it Bruce To Do temporarily, until there’s a better name.