• project
    Vocabulazy
    React.js | Redux | HTML/CSS
    Vocabulazy is a user-friendly vocabulary flashcard web application that enables users to create, edit, and delete custom flashcard decks for personalized language learning. Built with React and Redux, it features an engaging study mode for learning and provides insightful study performance statistics at a glance in the user profile. With its easy-to-navigate interface and convenient dark/light mode switch, Vocabulazy offers an enjoyable and effective learning experience.
  • project
    Vocabulazy API
    Node.js | Express | MongoDB | Mongoose | Passport
    The Vocabulazy API is the backend for the Vocabulazy flashcard web application, built using Node.js, Express, MongoDB, and Passport for secure authentication. It provides a set of endpoints to manage user accounts and perform actions on decks, flashcards, and study sessions. The API enables users to create, edit, and delete flashcard decks, manage individual cards, and track study progress.
  • project
    Lights Out!
    React.js | HTML/CSS
    Lights Out game built with React.js. My biggest challenges in this project were designing a dynamic board with clickable tiles and managing state and event handlers throughout the application. Lights are toggled in a '+' shaped pattern, when the player clicks on a tile. The goal of the game is to switch off all the lights.
  • project
    Solvitur Ambulando
    JavaScript | HTML/CSS
    A mindfulness application that allows users to log their personal walking journey on a map. In this project, I worked with the leaflet map library to display the user's location, as well as allowing interaction with the map. The DOM is manipulated purely with JavaScript, and user data is saved into the browser's local storage. Location Services must be activated to use the application.
  • project
    McCune-Reischauer Converter
    JavaScript | HTML/CSS
    My first ever Web Application. This tool converts Korean writing into alphabetical letters according to the scientific McCune-Reischauer romanization system. It is written entirely in JavaScript and makes use of the Hangul.js module, which disassembles Korean syllable blocks into single letters. The single letters are then checked and converted according to their position within the word. The great number of possible combinations for each letter required careful structuring of if-statements and comprehensive testing.