The inspiration for CardCanvas came from my frequent use of flashcards to revise for exams. I found digital flashcards helpful but often limiting, as many apps only supported text inputs. I wanted a tool that combined both drawing and text, making it easier to visualize complex concepts and enhance my study sessions. Additionally, I included a self-testing feature with score tracking, allowing users to monitor their progress over time.

The project was built using Flutter, leveraging several libraries such as flutter_slidable for swipeable functionality and fl_chart for dynamic data visualization. For local data storage, I used the Isar database to efficiently manage folders of flashcards.

One of the major challenges I faced was storing the drawing data in the Isar database. The database only supports specific types, and I had to convert certain data within DrawingPoints to make it compatible. Storing both drawing and text data together also proved tricky. Additionally, designing an intuitive and interactive interface that could seamlessly handle both text and drawing inputs was a complex process, but ultimately rewarding.

Built With

Share this project:

Updates