AN-007 · Software · Finished
Started Jan 2024
Logic Labs: kits, a curriculum, a storefront, and a handoff
1.0Abstract
I started Logic Labs at my school in January 2024 to teach electronics from the transistor up. I designed the kits, wrote the curriculum, ran the workshops and built the React, Supabase and Stripe storefront. Over 60 students went through it, and in February 2026 I handed it to a student development team who still run it.
At a glance
| Parameter | Value |
|---|---|
| Status | Finished. Handed off to a student team in Feb 2026; still running |
| When and where | Jan 2024 – Feb 2026, Dubai College |
| My part | Founder: designed the kits, wrote the curriculum, ran the workshops, built the storefront |
| Built with | Custom PCBs; React, TypeScript, Tailwind, Supabase (auth, Postgres, edge functions), Stripe Checkout, Nginx on an Oracle Cloud VM |
| Code | github.com/zhaojinchu/LogicLabsCommercePlatform |
| Students | 60+, in the school curriculum, at zero profit |
| Kit | “Transistors to Logic Gates”: custom PCBs with swappable gate modules, probe points and power-safe headers |
| Curriculum | Transistor fundamentals → combinational logic → flip-flops → simple state machines |
Development History
| Date | Milestone |
|---|---|
| Jan 2024 | Founded. First kits and lesson plans; workshops for the first cohort. |
| 2024 | Pilot with the Head of Computer Science; curriculum aligned to the school’s outcomes; teacher onboarding workshops. |
| Nov 2024 | Kits and lessons adopted into the school curriculum. |
| Aug – Oct 2025 | Storefront built and deployed so students and schools could order kits. |
| Feb 2026 | Handed off to a student development team. They still maintain and ship against it. |
The idea
The school had a computer-science department and no hands-on electronics. Logic Labs started as a personal project, a kit that takes you from a single transistor to a working logic gate to a flip-flop, and grew into a program with a curriculum, instructor playbooks, an online companion, and a way to buy the kit.
The kit
Custom PCBs with swappable gate modules, probe points, and power-safe headers that survive a classroom. Component bins standardized around breadboard-friendly packages, so students could experiment without being overwhelmed. Lab cheat-sheets that teach the multimeter and the oscilloscope while students verify their own builds. The photo at the top of this page is a kit run being packed in the school makerspace.
The curriculum
Modular lessons progressing from transistor fundamentals to combinational logic, flip-flops, and simple state machines. Instructor playbooks with pacing guides, troubleshooting matrices, and assessment rubrics so the program slots into a school timetable. An online portal with animations, challenge problems, and quiz banks for self-paced work between lab sessions, with engagement tracked so exercises could be updated from data.
The storefront
A custom storefront so students and schools could order kits. React + Vite + TypeScript with Tailwind and shadcn/ui on the front; Supabase for auth (magic links or OAuth), Postgres, and three edge functions that do the real work:
create-paymentvalidates the cart against the database with service-role privileges, creates a Stripe Checkout session, and returns the redirect URL;stripe-webhookhandlescheckout.session.completed, verifies the Stripe signature, persists the order and line items, clears the cart, and stores the receipt URL;retrieve-sessionreturns the order summary after Stripe redirects the customer back.
The production build was served by Nginx on an Oracle Cloud VM, with secrets held in supabase secrets and
a Supabase CLI deploy so environments stayed reproducible.
The handoff
In February 2026 I handed the codebase, the kit designs and the curriculum to a student development team at the school, which was the plan from the start. They still maintain and ship against it.
What broke
- Stripe webhook signature verification fails with the synchronous verifier in the edge runtime; the repo
uses
constructEventAsync, and the README keeps the troubleshooting entry for it. - The storefront went live on a bare IP over HTTP, and the VM is now offline. The repository is the durable artifact.
What’s next
Not mine to decide any more.