Skip the match
Moe BabazadehKickoff

0'Small Size League · live

Moe Babazadeh

I architect AI-driven platforms and scalable digital products.

CTO at Neuroject, building the alignment layer for construction enterprises. Building since 2007: robots, IoT and firmware, then web, mobile and AI platforms.

From 2009 to 2011 I built Small Size League soccer robots at the University of Tabriz: a team of five fully autonomous robots playing a real match. This is that game, simulated and playing live.

BLUE01st half10:000YELLOWSTOP
  • Five robots a side. Team dot plus four ID markers, flat front with the dribbler.
  • Planned paths. The faint branches are the RRT search behind them.
  • Velocity, and a dashed line to where the ball will stop.
  • 500 mm keep-out while play is stopped.

10'Line-up

Team sheet

Moe Babazadeh
Moe BabazadehMohammad Babazadeh
Position
CTO
Also
Neuroship, on contract
Since
2007

Scouting report

I started building websites as a freelancer in 2007, studied electrical engineering with a focus on control systems, and spent my university years building robots, including a 1st place at RoboCup IranOpen 2010.

Since then I’ve built for an electronics and IoT company, a grocery marketplace, an edtech company and a construction-tech company. Today I’m CTO at Neuroject, leading the platform that connects BIM, schedules, budgets and risks for construction enterprises, and bringing AI into it.

Along the way I’ve shipped apps to the App Store and Google Play, hardware that’s still logging data after 15 years, and fixes to open source projects like Gatsby and DefinitelyTyped.

Starting line-up the toolchain, by squad number

  1. #0TypeScript
  2. #1React & Next.js
  3. #2Laravel (PHP)
  4. #3Python & FastAPI
  5. #4AWS
  6. #5React Native & Expo
  7. #6Embedded C
  8. #7PostgreSQL & MySQL

Each robot wears a team dot and four pink or green markers: the pattern the cameras use to tell robots apart.

Career stats

commits since 2021
11.8k+
products live
10+
devices in production
5
sensor records logged
0.5B+
apps on App Store and Google Play
2
weekly downloads of packages I patched
300k+

25'Timeline

Nineteen seasons, 2007 to now

Clubs above the line, roots below it. Every change of club is a substitution.

20072009201120132015201720192021202320252027FreelanceNiknam Electronic RayanAlget.nl0&1NeurojectNeuroshipBSc Electrical EngineeringSSL robotsMSc Nanoelectronics2010 · RoboCup IranOpen, 1st place · National Skills Competitions, bronze2017 · arXiv paperLIVE
  1. June 2024 – PresentLive

    CTO · Neuroject

    • CTO since September 2026, after two years as Chief Full Stack Engineer. I lead the architecture, roadmap, and delivery of a cloud-native, multi-tenant platform that connects BIM, schedules, budgets, and risks into traceable decisions.
    • Bringing AI into the platform, from natural-language access to project data to early warning on schedule and cost risk.
    • Led the architecture and build of NeuroBuild on Next.js, React 19, and Laravel, hosted on AWS Amplify and Laravel Vapor, with 4,700+ commits across five codebases.
    • Set the engineering bar: a permission check on every API route, audit trails, and production alarms and GuardDuty alerts kept in infrastructure as code.
  2. May 2026 – PresentLive

    Chief Full Stack Engineer · Neuroship

    • Chief Full Stack Engineer on contract, alongside my role at Neuroject.
  3. February 2021 – June 2024

    Lead Frontend Developer · 0&1

    • Led the frontend architecture of Active-Class, an integrated LMS and exam monitoring platform, including identity checks during live exams with the Microsoft Azure Face API.
    • Shipped Attendum end to end: firmware for the ESP32 card readers and nRF52840 BLE beacons, the iOS and Android app, the staff dashboard, and a Canvas LTI app.
    • Built Office.js add-ins for PowerPoint and Word, the School.how dashboard, the Education Guide app, and the Learning Kit and Exam Kit websites.
    • Redesigned the CI/CD pipelines to cut build and deployment overhead.
  4. August 2020 – February 2021

    Senior Frontend Developer · Alget.nl

    • Built the React frontend of a digital marketplace that helps local supermarkets and grocery businesses sell online.
    • Implemented state management and client-side data handling that cut unnecessary API requests.
    • Shipped MVP features quickly with the product and backend teams, and improved deployment workflows with CI/CD.
  5. October 2012 – August 2020

    Senior Software Engineer · Niknam

    • At Niknam Electronic Rayan, built IoT platforms and connected systems for monitoring, tracking, and data visualisation across multiple industries.
    • Designed web applications and real-time dashboards, and integrated hardware devices with GPS and mapping services for live tracking.
    • Modernised legacy platforms for performance, usability, and maintainability. Software Engineer from 2012, Senior Software Engineer from 2017.
  6. August 2007 – October 2012

    Web Developer · Freelance

    • Built websites and web applications for clients with PHP, JavaScript, jQuery, HTML, and CSS.

40'Playbook

Plays that shipped

Platforms in production, with links to the live sites and the stores.

NeuroBuild screenshotPlay 01

NeuroBuild

The alignment layer for construction enterprises: one multi-tenant platform for BIM models, WBS, quantity take-off, bills of quantities, tenders, and 4D progress reports, now with AI for natural-language questions and early risk warnings. I lead it as CTO.

  • Next.js
  • Laravel
  • AWS
  • Autodesk APS
SmartClaim screenshotPlay 02

SmartClaim

AI-assisted R&D tax credit claims for the UK, Ireland, Australia, and South Africa. I work across the FastAPI and pgvector API, the SvelteKit app, and the TypeScript client SDK, and added its security gates: secret scanning, Semgrep, and Trivy on every pull request.

  • FastAPI
  • OpenAI
  • pgvector
  • SvelteKit
  • TypeScript
Attendum screenshotPlay 03

Attendum

Attendance monitoring live at universities in the UK and US. I wrote the firmware for the ESP32 card readers (NFC, RFID, BLE, over-the-air updates) and the nRF52840 Bluetooth beacons, and built the iOS and Android app, the staff dashboard, and a Canvas LTI app. At a single university, it has more than 200 devices online, covers over 100 classrooms and 10,000 classes, and has received over 3 million records in the past two years.

  • ESP32
  • nRF52840
  • React Native
  • Next.js
Logger screenshotPlay 04

Logger

GSM weather stations that take several sensors each and send their logs home. The fleet has been online for over 15 years: more than 50 active stations and over half a billion records.

  • Hardware
  • Firmware
  • GSM
  • Sensors
  • Telemetry
Active-Class screenshotPlay 05

Active-Class

An LMS with live exam proctoring and Azure Face identity checks. I built the user dashboard, an Office add-in that brings live polls and word clouds into PowerPoint and Word, and the product website.

  • React
  • Redux
  • Firebase
  • Office.js

More set pieces

  • Education Guide

    A React Native app on both stores that helps students starting university get to know their course, campus, city, and career options.

    Expo · React Native · TypeScripteducation.guide ↗App Store ↗Google Play ↗
  • School.how

    Online tutoring for every child: diagnostic tests, courses, quizzes, and 1-to-1 lessons over live video. I built the dashboard and the website.

    Next.js · MUI · VideoSDK · Uppyschool.how ↗
  • EPC

    An electronic pressure and flow controller: embedded hardware and firmware that hold pressure and flow at their setpoints. In production.

    Hardware · Firmware · Process control
  • Mini PLC

    A compact PLC controller built on STM microcontrollers: the board and firmware for automation on a small footprint. In production.

    STM · Firmware · PLC
  • react-query-kit: strictVariables

    An opt-in flag I added to react-query-kit (31k weekly downloads) so a forgotten query argument fails at compile time instead of at runtime.

    TypeScript · React QueryCode ↗
  • Gatsby: insecure uuid removed

    Removed a deprecated uuid version from gatsby-cli and gatsby-plugin-sharp that could fall back to Math.random() and was flagged on every Gatsby install.

    Node.js · SecurityCode ↗
  • Pulse IoT

    Device telemetry on plain shared PHP hosting: ingest, rollups, alarms with hysteresis, OTA firmware, and reports. No Composer, npm, or build step.

    PHP 8 · Vanilla JS · OpenAPI
  • Photo Dedup

    A native macOS app that finds duplicate and look-alike photos by how they look. Fully offline, and nothing is ever deleted.

    Swift · SwiftUI · Vision
  • matrix-keypad-freertos

    Reads matrix keypads as a FreeRTOS task, with built-in debouncing and configurable layouts and pin maps. Portable across microcontrollers.

    C · FreeRTOSCode ↗
  • nanostores/persistent: tab sync fix

    Fixed persisted data being wiped when the app was opened in a second tab, in a store used 82k times a week.

    TypeScriptCode ↗
  • Learning Kit

    The product website for Learning Kit, built for 0&1.

    Next.js · AWS Amplifylearningkit.com ↗
  • Exam Kit

    The product website for Exam Kit, an online exam monitoring system by 0&1.

    Nuxt · Tailwind CSSexamkit.com ↗

HTHalf-time

Under the cover

Half-time, so the robot comes apart. A Small Size robot packs a microcontroller, a radio, four motors, a kicker and a dribbler into 180 mm. I spent my university years building robots like this one; since then the hardware has gone into production.

65LiPo4231ø 180 mm max150 mm max
  1. 1

    Cover

    The team dot and four ID markers on top, read by the cameras above the field.

  2. 2

    Control board

    A microcontroller and motor drivers close the wheel-speed loops.

  3. 3

    Radio

    Takes its commands from the AI computer beside the field.

  4. 4

    Battery

    A LiPo pack for the motors and the kicker.

  5. 5

    Kicker

    Capacitors charged to high voltage fire a solenoid plunger into the ball.

  6. 6

    Drive and dribbler

    Four omni-wheels to drive in any direction while turning, and a spinning bar that holds the ball with backspin.

In production five devices, still running

  • LG-01

    Logger

    GSM weather station

    Several sensors per station, with logs sent home over GSM.

    • 50+ stations
    • 15+ years online
    • 0.5B+ records
  • EPC-01

    EPC

    Pressure and flow controller

    Embedded hardware and firmware that hold pressure and flow at their setpoints.

    • In production
  • PLC-01

    Mini PLC

    Compact PLC

    Built on STM microcontrollers, for automation on a small footprint.

    • In production
  • AT-01

    Attendum reader

    ESP32 card reader

    NFC, RFID, BLE and over-the-air updates. Wireless, with a battery that lasts about 16 months.

    • 200+ devices online
    • 3M+ records in 2 years
    • 10K+ classes covered
  • AT-02

    Attendum beacon

    nRF52840 BLE beacon

    Bluetooth proximity check-in, updated over the air with DFU.

    • In production

60'VAR

Reviews upstream

Five incidents in other people's code, reviewed and patched upstream, in packages downloaded more than 300k times a week.

VARCheckingCheck complete2022

gatsbyjs/gatsby

★ 56k · 163k downloads a week

Incident Security
That version can fall back to Math.random(), which is unsafe for IDs. npm flagged it on every install.
Decision
Removed the deprecated uuid@3.4.0 from gatsby-cli and gatsby-plugin-sharp.
Review the PR ↗
VARCheckingCheck complete2022

nanostores/persistent

★ 383 · 82k downloads a week

Incident Data loss
Opening the app in a second tab wiped saved data.
Decision
Synced storage events only for the store’s own key.
Review the PR ↗
VARCheckingCheck complete2026

HuolalaTech/react-query-kit

★ 486 · 31k downloads a week

Incident Type safety
A forgotten argument compiled fine and only failed at runtime.
Decision
Opt-in strictVariables: typed query variables become required at the call site.
Review the PR ↗
VARCheckingCheck complete2025

DefinitelyTyped/DefinitelyTyped

★ 51k · 22k downloads a week

Incident Type safety
Calls that Autodesk documents failed to type-check.
Decision
Typed the optional RegExp filters on the Forge Viewer’s getPropertyHashes.
Review the PR ↗

75'Trophies

Roots

Robotics, control systems and a little nanoelectronics, before the software took over.

  • 2008–2012

    BSc Electrical Engineering, Control Systems

    University of Tabriz. Thesis: a two-wheel self-balancing robot with real-time fuzzy control.

  • 2009–2011

    Small Size League soccer robots

    A team of five fully autonomous robots playing a real match.

  • 2010

    RoboCup IranOpen, 1st place

    Deminer Technical Challenge.

  • 2010

    National Skills Competitions, bronze

    Mobile Robotics.

  • 2014–2016

    MSc Nanoelectronics Engineering

    University of Tabriz. Thesis: plasmonic wave sources based on multilayer structures.

  • 2017

    Paper on arXiv

    Design, engineering and optimization of a grid-tie multicell inverter for energy storage.

    Read it on arXiv ↗

90'Transfer

Make an approach

Transfer requestForm TR-1 · 2026
Player
Mohammad Babazadeh (Moe Babazadeh)
Position
CTO
Current club
Neuroject, since June 2024
Also playing for
Neuroship, Chief Full Stack Engineer on contract, since May 2026
Career start
August 2007

Write about a platform, a device or a team that needs building.

moe@babazadeh.dev
youMBshipped
The set piece: you play the problem in, it ends in the back of the net.