BitWise
BitWise is the project I care most about right now. It teaches people programming through quick interactive lessons. It also features an adaptive diagnostic for people who are not new to programming and will allow them to skip intro lessons and get to where they need to be.
BitWise starts by first taking users through in onboarding where they pick what field of programming they would like to focus on (ie. Web Development), and sets the language they would like to learn. They then get taken to their first lesson. Each lesson is made up of 4 main steps: learn, try it, challenge, and reading. Through this each large concept is broken into small parts and each lesson tackles each one of those small parts in easy steps.
Add next paragraph about real user experiences when that happens -->
The frontend is Next.js (App Router) with React and TypeScript.
Supabase handles auth and Postgres. Stripe handles billing. The code execution
is run through a self-hosted deployment of piston on AWS.
I learned so much from this project as it was my first fullstack application. Before this my only "projects" were simple multi-page HTML sites. Through this project I have learned about API design, caching, databases, best practices, and more.
For example the first version of the rate limiter I deisgned rain in memory
which doesn’t survive Vercel’s serverless architecture. I had to update it to use Upstash.
This project has also taught me what I would like to do different in my next project. For example, in my next project I will plan it out more before coding, as I have learned this leads to a better long-term experience and makes maintainability much easier.
Next, I will be using BitWise in my school's coding club to teach beginners programming. Additionally more languages will be added to support a wider group of learners.