Reflective Learning
Reflective Learning is an online Mathematics and English learning application. Learners complete assessments to determine what gaps they have in their fundamental understanding of the concepts.
- Programmed as a software engineer utilizing Vue.js for frontend and Node.js for backend development. Achieving an increase from 20 000 to over 70 000 active users in 2 years
- Supplied thousands of underprivileged South African students with technical resources to catch-up gaps in knowledge of Mathematics and English concepts
Vue.js and Node.js
I worked at Reflective Learning for two and a half years where I continuously improved my frontend and backend development skills. I was responsible for building all features displayed in the screenshots below.
Subject Select

Home Screen

Developed Using Vue.js and Node.js
Gamification
I was able to utilize my games development experience to conceptualize and develop the
gamification of the program. I decided to create a gem earning system and a character
customization element where learners could spend their gems. Learners are able to earn gems
while learning mathematics and English content and spend their gems on customizing the
appearance of their character. The character customization included items of differing rarities
namely common, uncommon, rare, epic and legendary. The cost of items depended on the item type
and the rarity of that item.
Additionally, I created a leaderboard and a daily rewards feature to encourage continuous
engagement. The leaderboard allowed learners to compare their gems earning to all other
learners, promoting competition and driving engagement. The daily rewards would change every
month with limited edition items based on the event of the month. Learners are required to
engage with the application 25 days of each month to recieve the final reward, which would be a
limited addition item.
Earning Gems

Character Customization

Mathematics Minigames
I developed two mathematics minigames aimed at helping learners to improve their speed and accuracy when solving problems. These games were developed in Vue.js using javascript, html and css with no external libraries being used. These minigames acted as another way for learners to earn gems.
Bubble Pop
Bubbles containing mathematics problems fall. The user must enter the answer to each problem before any bubble hits the floor. Score is bbased off of the number of bubbles popped, with the difficulty of the questions and speed at which the bubbles fall increasing every round.
Start Menu

Gameplay

Crack the Code
The user must solve mathematics problems to unlock the safes before the timer runs out. The number of questions increases and the amount of time decreases as the user progresses to further stages.
Start Menu

Gameplay

Launchpad
Launchpad is the newest section of the Reflective Learning application. Learners unlock Launchpad upon achieving 100% for the previous content. All frontend styling and functionality was developed by me as a larger project.
Vue.js and Node.js
I worked at Reflective Learning for two and a half years where I continuously improved my frontend and backend development skills. I was responsible for building all features displayed in the screenshots below.
Home Screen

Journey Screen

Journey Tree

Catch Up

Quiz

Results

Gamification
I was able to utilize my games development experience to conceptualize and develop the
gamification of the program. I decided to create a gem earning system and a character
customization element where learners could spend their gems. Learners are able to earn gems
while learning mathematics and English content and spend their gems on customizing the
appearance of their character. The character customization included items of differing rarities
namely common, uncommon, rare, epic and legendary. The cost of items depended on the item type
and the rarity of that item.
Additionally, I created a leaderboard and a daily rewards feature to encourage continuous
engagement. The leaderboard allowed learners to compare their gems earning to all other
learners, promoting competition and driving engagement. The daily rewards would change every
month with limited edition items based on the event of the month. Learners are required to
engage with the application 25 days of each month to recieve the final reward, which would be a
limited addition item.
Earning Gems

Character Customization

Mathematics Minigames
I developed two mathematics minigames aimed at helping learners to improve their speed and accuracy when solving problems. These games were developed in Vue.js using javascript, html and css with no external libraries being used. These minigames acted as another way for learners to earn gems.
Bubble Pop
Bubbles containing mathematics problems fall. The user must enter the answer to each problem before any bubble hits the floor. Score is bbased off of the number of bubbles popped, with the difficulty of the questions and speed at which the bubbles fall increasing every round.
Start Menu

Gameplay

Twenty Four
The user must solve mathematics problems to unlock the safes before the timer runs out. The number of questions increases and the amount of time decreases as the user progresses to further stages.
Start Menu

Gameplay
