FaraClass
IoT + block programming for Vietnamese students. Built a fullstack platform from scratch- React web app, AWS Lambda backend, ESP8266 firmware. Won competitions. Failed anyway. Became the reason I joined GaraSTEM.

I learned Pascal in 11th grade. Memorized syntax. Passed exams. Graduated with zero idea how to actually build anything. That bothered me. A lot.
When I saw what kids in other countries were doing- building robots, programming drones, shipping real things- I knew something was broken. Vietnamese students could pass tests but couldn't turn ideas into products. The education system taught us to consume, not create.
So I started FaraClass with friends from BK and UEH. The idea: a block-based coding platform (think Scratch) that could actually control physical hardware. Kids drag blocks. LEDs blink. Motors spin. Sensors trigger actions. No syntax memorization. No installation. Just a browser and a kit.
We called it CodeLAB. Web-based, worked on any laptop or tablet. The hardware was the hard part- we went through three prototypes before finding a manufacturer who could hit our price point. ESP8266-based controller, WiFi-connected, modular sensors. Plug in. Code. Ship.
The thing is, we were good at building. We were bad at business. We won 1st Place at Dynamic 2019, the biggest student entrepreneurship competition in southern Vietnam. We got runner-up at BK Innovation 2018. We earned a 1-year incubation program from SMU and UEH. The awards looked great on paper. The company didn't survive.
Timing. Resources. The things that kill student projects. We didn't have enough runway to figure out the go-to-market. The product worked. The business didn't. That's a different kind of failure- not technical, but existential.
I carried that failure with me. Not as regret, but as a bookmark. Something I wanted to finish. When GaraSTEM showed up two years later with the same mission- technology transforming education in Vietnam- this time funded, this time staffed- I recognized it immediately. Same dream. Different odds. I didn't hesitate.
What I Built- CodeLAB
CodeLAB was the platform- faraclass.surge.sh. A web app where students drag block programs and send them to the ESP8266 controller over WiFi. No install. No USB cable. No driver hell. Just open a browser, code, and watch the hardware respond.
Block Editor (React)
Built a block programming editor on top of Google Blockly. Students drag functional blocks- read sensor, wait, loop, if-else- and arrange them into programs. The editor rendered in the browser, generated JavaScript from the block graph, then sent the compiled payload to the device over WiFi.
Backend (AWS Lambda)
Serverless backend on AWS- device registration, program dispatch, telemetry collection. Lambda functions handled the heavy lifting: receiving block programs from the web app, routing them to the right device via MQTT, and logging execution data for classroom analytics.
Firmware (ESP8266)
Three hardware prototypes before we got it right. The ESP8266 handled WiFi connectivity and executed block programs received over the network. Modular sensor ports- temperature, light, ultrasonic, motor. The firmware had to be rock solid because students in a classroom don't debug.
Classroom Analytics
Teachers needed to see what students were doing. Built a dashboard showing device status, program upload history, and sensor readings in real time. Every upload was logged- which blocks students used most, which failed, how long they spent on each task.
The Full Stack- Solo
Startup world doesn't let you specialize. I was the only engineer. That meant the full vertical was mine- frontend, backend, firmware, hardware sourcing, user research, pitch deck, and the Inc. registration paperwork. Here's what that stack actually looked like:
What This Taught Me
Ship the full vertical
Fullstack wasn't a buzzword here- it was survival. Knowing how the frontend talks to Lambda, how Lambda talks to MQTT, how MQTT reaches the device- that context made every decision better.
User research beats technical purity
The best technical solution means nothing if teachers can't use it in a 45-minute class with 40 students and 5 shared computers. User context shaped every architecture decision.
Failure is a bookmark
When GaraSTEM showed up, I recognized the same mission. But this time I knew what I didn't know- which problems were technical, which were business, and which were just timing.