CLINTON

I recently began learning Japanese (子にちわ!) and people kept recommending the use of a flashcard application to help with practicing but most weren't free, the ones that were free were very frustrating to use and so I decided I'd just build one for myself. This was the first project I built after learning React and it helped me understand its core principles. From reusable components to managing state across multiple components effectively.

Project home page

Why did I build this

Add new flashcard
Popup for adding new flashcards

Why I chose this tech stack

Webpack

React

Redux

Settings page of extension

Problems and Improvements.

This was my first experience with the "it works on my machine" phenomenom. Due to the fact that the Chrome extension API was very different from the native Browser API, I had a very convoluted development process.

I would work on a new feature and have no idea if my code worked, I'd have to run the build step, reload the extension in the browser and only then would my changes be reflected offering me a rather humbling glimpse into life before hot-reloading. 😅

I also faced some issues when working on the CRUD functionality. Chrome offers a storage API similar to localStorage but manipulating it wasn't exactly easy so I had to build custom hooks and utilities to make the process a bit smoother. Now, I'm building a spaced-reptition algorithm to aid the review process.