Portfolio
← Back to All Projects

WordGrowth - Language Learning App

Personal Project

  • Flask
  • Python
  • PostgreSQL
  • Bootstrap v5
  • Date: 2025-present

Description

Mobile-first vocabulary trainer; built with python and flask


Screenshot of WordGrowth - Language Learning App

Objective

As part of my cs50 certification I was required to build a final project using some of the tools that we had learned on the course. I chose to build a language learning platform that built on the idea of the Anki flashcards and the myCards flashcards project I had worked on at Gaba. As an advanced learner of Japanese, I am often frustrated in trying to learn and retain advanced, lower-frequency vocabulary. I find that encountering real-life usage of the vocabulary helps me to remember the words better as I can attach real-life usage to my understanding of the word with that addtional context. As such, I wanted to build a platform that could save real-life media usage of the words I was learning in both video and text format.


Build

I chose to use the flask python framework for the application as this had been featured in the course. Initially I connected this to the database using Sqlite3 but switched to PostgreSQL later when I wanted to maintain a persistant site on the web. Templating for the site was done using Jinja2, and I used Boostrap version 5 for the styling.


Challenges

I have been adding additional features after the project was submitted for cs50. I have connected the example sentence field to open ai with their api and this field now populates itself if the user does not. I have also started experimenting with sourcing real articles for the media fields. Currently this involves an api sharing articles that contain the word in question with the user to read themeselves. I would like to automate this too, so it can populate the field without the need to leave the app. There are challenges related to this however.


Result

The site is live on a free server at the moment and can be signed up for and used for free. There is a short delay in warming up the site on render.com as it is a free plan. I have a long backlog of features I would like to add to this site and continue to work on it during my free time. I would like to autmate the insertion of media items into the vobabulary cards using AI to make the learning experience more efficient.


Reference

Product site. Please allow 10-20 seconds for the free server at render.com to warm up. You can then create a free account with just a username and password to try out the site: https://wordgrowth.onrender.com/


Video explainer for WordGrowth submitted for cs50x capstone project: https://youtu.be/anLsciraAtg