Of all the projects I’ve completed thus far, I’ve spent the most time on Financedu. It is truly a full-featured app—it has multiple databases, auth, and hundreds of registered users!
It all started when I got an essay question in the Broadcom MASTERS science fair application. I was asked a fairly simple question—to name a “dream course” that my school didn’t offer. Given my interest in the subject, I naturally gravitated towards personal finance (I also think most would agree with me).
So I got started at the end of 2021 on actually making it a reality. I realized that it couldn’t be just any other paper-based course—what if there weren’t a teacher available? Or what if you dislike lectures and prefer to go at your own pace?
I tried to address these issues by making Financedu an online platform. It has an interface for students (and anyone whose curious) to browse through content—including quizzes, articles, and set of interactive tools.
Alright, so here we go. I’ll try to break it down bit by bit, but I’ll probably skip over some stuff due to how big the project is. If that’s the case, don’t hesitate to reach out to me for any questions!
The Architecture
Above is a diagram of how Financedu’s databases are organized. There’s a few more tables than what’s shown—but these are the main ones.
In essence, our content is separated into courses, modules, lessons, and activities. Students can either work towards these individually, or as part of their class.
To that end, teachers can create classes that contain students (or “users”). These classes have assignments (which are comprised of lessons and activities) that are submitted by students.
All of our content is based off of educational standards, which are then linked to specific lessons and activities.
We also have a few more features, including a progress-tracking dashboard for Parents, as well as a set of calculators and resources (which you can explore here).
One newer feature is a volunteer hour tracking system. In exchange for giving feedback, volunteers can earn community service hours, which are tracked by an in-house toolkit. We developed an algorithm that looks for monitors activity (e.g. position/frequency of clicks, keyboard presses), to make sure no one is cheating!
The Tech Stack
Now, this is one of the most interesting parts of the project.
For the frontend, Financedu uses Wix. It’s classically known as a drag-and-drop editor, but what makes it truly powerful is Wix Velo, a full-stack platform for hosting apps that gives you access to a bunch of APIs, a Node environment, and a wrapper over MongoDB.
While it has its limits, it also has its (many) merits. The biggest thing keeping me on Wix’s platform has been its seamless integration with a whole platform. From my dashboard, I can easily chat with visitors, bulk send emails, and edit my content through a visual interface. In essence, it’s like Supabase plus more—it would simply take forever to replicate all the features it offers.
The main issues are performance-related—it can get slow on mobile or over poor Wi-Fi connections. Because the Wix editor doesn’t give you total freedom over your frontend, I’ve also had to find myself using some workarounds (e.g. positioning elements with JS).
Regardless, creating Financedu has been a major part of my learning arc as a developer. And maintaining it has given me a healthy appreciation for other work (like Tech support) that us devs often forget about.