Back to CV
Disrupting STEM education

GaraSTEM

IoT + Robotics kit for Vietnamese high schools. Beat M5Stack, OhSTEM, micro:bit, and LEGO Mindstorms on the only metric that matters.

Product Owner, Fullstack Engineer·2022 - 2024·Ho Chi Minh City

I came from KPMG. Big 4. Corporate. The kind of place where you wear a suit and write reports about digital transformation for Fortune 500 companies. I was good at it. But something was missing.

Back in university, I started a project called FaraClass - same mission, same dream: use technology to transform education in Vietnam. It failed. Not for lack of trying, but timing, resources, all the things that kill student projects. That failure stayed with me. It became a bucket list item.

Then GaraSTEM showed up. Same mission. Same problem. But this time, funded. Staffed. With a real shot. I didn't hesitate.

GaraSTEM was already funded when I walked in. They had a product, a team, and a vision: an IoT + Robotics kit to teach Vietnamese high school students programming through hardware. The problem was the product didn't work. Not really. Not in a way that mattered.

Think about a real Vietnamese classroom. 40 students. 45 minutes. 5 shared computers. The old Arduino workflow that every competitor shipped - M5Stack, OhSTEM, micro:bit, LEGO Mindstorms - went like this: boot up the PC, install the Arduino IDE, install the USB driver (good luck on Windows), install the board library, find the right COM port, write code, plug in via USB, compile, flash, unplug, run. Half the class is gone before the first LED blinks. Teachers spent more time troubleshooting drivers than teaching programming. In a 45-minute period, most kids spent their time watching someone else's screen. The kits were fine. The experience was broken.

My job was to rebuild the product from scratch. Startup world - you don't get to specialize. I designed the PCB in KiCad. Sourced components. Wrote the ESP32 firmware in C++. Built the React Native mobile app. Set up the FastAPI backend with PostgreSQL. The entire vertical, solo. When you're trying to disrupt a market, everything is your job.

But innovation in a startup isn't a hackathon. It's a fight. Partners pushed back on hardware changes - they had supply chains built around the old design. The market resisted anything unfamiliar - schools wanted what they'd seen before. Internal debates raged on whether to chase the competition or out-innovate them. I chose the latter.

The bet was simple: eliminate the computer entirely. Students program on their phone. Code ships over BLE. Robot runs. No USB cable. No shared computer. No waiting.

Programming an ESP32 is easy. Blink an LED, read a sensor, connect to WiFi - afternoon project. But what we needed was something else entirely: run arbitrary block programs over BLE in under 5 seconds, without ever resetting the device. On a chip with ~320KB of heap and severe memory fragmentation, that's not a weekend project. Every time you load a program, it carves up the heap. After a few uploads, the device runs out of memory and crashes. The solution everyone else used? Reset the board. Every single time.

I built a custom memory management layer. Block programs execute in a sandboxed region of the heap. When a new program arrives over BLE, the old one tears down cleanly - no orphaned allocations, no fragmentation, no reset. The device just keeps running. Upload after upload after upload.

Student drags blocks on their phone. Taps upload. Robot moves. Under 5 seconds. Every time. No cable.

That's when the comparison becomes unfair. The old way: PC, Arduino IDE, USB driver, board library, COM port selection, compile, flash, reset. The GaraSTEM way: phone, drag blocks, tap upload, robot runs. No PC. No drivers. No install. No cable. No reset. 5 seconds. M5Stack needs USB and a computer. OhSTEM needs a reset between uploads. micro:bit needs a browser. LEGO Mindstorms needs a $300 set and a laptop. GaraSTEM needs a phone and 5 seconds. That's it.

But the real measure of success wasn't the technology - it was the students. We brought Vietnamese teams to MYOR 2022 and MYOR 2024, the International Robot Assembly and Programming Competition. Students who had never been abroad. Students who built robots with a kit we designed from scratch. Watching them compete on the international stage - that was the proof I needed. The statement I wanted to make: Vietnamese students belong on the world stage, and the tools to get them there should be built by people who understand their classrooms.

SMU incubator and SHTP Innovation Program - Vietnam's top startup programs - agreed. We got in.

The First Prototype

The First Prototype

Where it all started - the bare board that became GRobot

PCB Design

PCB Design

Schematic to silicon - designed in KiCad, built for Vietnamese classrooms

GaraBlock

GaraSTEM Mobile App

The mobile block programming editor - drag, tap, robot runs

MYOR 2022

MYOR Robotic International Competition - Malaysia

MYOR 2024 Grand Finals

MYOR Robotic International Competition - Grand Finals

Robot Demonstration

The product in action - wireless programming, 5 seconds, no cable

Truong Vo Huu Thien
Connect

Truong Vo Huu Thien

CEO

Visionary leader who turned dreams into reality

Thang Nguyen

Thang Nguyen

Co-founder

Believed in me from day one

Mia

Team Member

Science Center adventure buddy

The Team

The Team

Co-builders

Late nights, early mornings, together

Hardware Partners

Hardware Partners

Builders

Turned vision into reality

Full Stack

Hardware

PCB design in KiCad, component sourcing, assembly - from schematic to shippable kit

KiCadPCB DesignESP32Sensors

Firmware

Custom memory manager on 320KB heap - sandboxed execution, zero-reset OTA via BLE, solved fragmentation

C++MicroPythonESP32FreeRTOSBLE

Mobile App

Block programming editor - drag, tap, robot runs. No computer needed.

React NativeTypeScriptBLE

Backend

FastAPI + PostgreSQL - device management, user tracking, real-time communication

FastAPIPostgreSQLWebSocket

AI-Powered Development

AI coding tools became a turning point in how I shipped. Not replacing thinking - augmenting it. From autocomplete to agentic workflows, each tool reshaped how fast I could move.

At GaraSTEM

Started with Cursor - joined as early contributor when it was still a small team. Learned the ropes of AI pair programming from the inside. Also used Supermaven for fast, context-aware autocomplete.

Cursor (Early Contributor)Supermaven

At Datum

Expanded the toolkit for enterprise work: Windsurf and Antigravity for coding tasks, WebStorm for JavaScript/TypeScript. But the one that stuck: Claude Code. Its agentic nature - planning, reasoning, tool-calling - felt genuinely different. Started using it for everything from drafting docs to orchestrating multi-file refactors.

Claude CodeWindsurfAntigravityWebStorm
"The tools to get students to the world stage should be built by people who understand their classrooms."

The statement I wanted to prove, once in my life