Field report · read as a page
Moe Babazadeh
Back to the fieldCTO at Neuroject · also Chief Full Stack Engineer at Neuroship, on contract
I architect AI-driven platforms and scalable digital products.
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.
- 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+
- TypeScript
- React & Next.js
- Laravel (PHP)
- Python & FastAPI
- AWS
- React Native & Expo
- Embedded C
- PostgreSQL & MySQL
The challenge behind this
1st place in the Deminer Technical Challenge at RoboCup IranOpen, April 2010.
What runs here is a simulation inspired by that challenge. The field, the robot and the detector are modelled for the simulation; none of it is the original robot's specification.
Mark 1 · Control systems, robots, a paper
Roots
- 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 the paper ↗ - undated
Quadcopter robotics competitions
Took part in quadcopter robotics competitions.
Mark 2 · Every role, newest first
Roles
Neuroject
June 2024 – PresentChief Full Stack Engineer → CTO
- 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.
Neuroship
May 2026 – PresentChief Full Stack Engineer · contract
- Chief Full Stack Engineer on contract, alongside my role at Neuroject.
0&1
February 2021 – June 2024Lead Frontend Developer
- 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.
Alget.nl
August 2020 – February 2021Senior Frontend Developer
- 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.
Niknam
October 2012 – August 2020Software → Senior Software Engineer
- 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.
Freelance
August 2007 – October 2012Web Developer
- Built websites and web applications for clients with PHP, JavaScript, jQuery, HTML, and CSS.
Mark 3 · Platforms, apps and builds
Projects

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
neuroject.com ↗
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
smartclaim.uk ↗
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
attendum.com ↗App Store ↗Google Play ↗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
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
active-class.com ↗
More builds
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 · TypeScript
education.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 · Uppy
school.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 Query
Code ↗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 · Security
Code ↗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 · FreeRTOS
Code ↗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.
TypeScript
Code ↗Learning Kit
The product website for Learning Kit, built for 0&1.
Next.js · AWS Amplify
learningkit.com ↗Exam Kit
The product website for Exam Kit, an online exam monitoring system by 0&1.
Nuxt · Tailwind CSS
examkit.com ↗
In the stores
Mark 4 · Devices in production
Hardware
- 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
Mark 5 · Fixes merged upstream
Open source
Five fixes merged upstream, in packages downloaded more than 300k times a week combined.
gatsbyjs/gatsby
2022Security · ★ 56k · 163k weekly downloads
Removed the deprecated uuid@3.4.0 from gatsby-cli and gatsby-plugin-sharp.
That version can fall back to Math.random(), which is unsafe for IDs. npm flagged it on every install.
The pull request ↗Data loss · ★ 383 · 82k weekly downloads
Synced storage events only for the store’s own key.
Opening the app in a second tab wiped saved data.
The pull request ↗Type safety · ★ 486 · 31k weekly downloads
Opt-in strictVariables: typed query variables become required at the call site.
A forgotten argument compiled fine and only failed at runtime.
The pull request ↗Type safety · ★ 51k · 22k weekly downloads
Typed the optional RegExp filters on the Forge Viewer’s getPropertyHashes.
Calls that Autodesk documents failed to type-check.
The pull request ↗Bug · ★ 119 · 5.4k weekly downloads
Added forwardRef support to the localized Link.
Refs passed to localized links were silently dropped.
The pull request ↗
Mark 6 · Email, LinkedIn, GitHub, CV
Contact
Write about a platform, a device or a team that needs building. I'm CTO at Neuroject and building since 2007.
moe@babazadeh.devEverything, by year
All builds
| Year | Build | Where | Stack |
|---|---|---|---|
| 2026 | react-query-kit: strictVariablesCode ↗ | Open source | TypeScript |
| 2026 | SmartClaimsmartclaim.uk ↗ | SmartClaim | FastAPI, OpenAI, pgvector, SvelteKit |
| 2026 | Pulse IoT | Personal | PHP, Vanilla JS, OpenAPI |
| 2026 | Photo Dedup | Personal | Swift, SwiftUI, Vision |
| 2025 | Forge Viewer typesCode ↗ | DefinitelyTyped | TypeScript |
| 2024 | NeuroBuildneuroject.com ↗ | Neuroject | Next.js, React, Laravel, AWS |
| 2024 | Education Guideeducation.guide ↗App Store ↗Google Play ↗ | 0&1 | Expo, React Native |
| 2024 | Attendum Canvas LTI app | 0&1 | Preact, Vite |
| 2023 | Attendum appApp Store ↗Google Play ↗ | 0&1 | Expo, React Native |
| 2023 | Attendum card reader firmwareattendum.com ↗ | 0&1 | ESP32, ESP-IDF, BLE, NFC |
| 2023 | Attendum BLE beacon | 0&1 | nRF52840, Zephyr |
| 2023 | Learning Kit websitelearningkit.com ↗ | 0&1 | Next.js |
| 2023 | Exam Kit websiteexamkit.com ↗ | 0&1 | Nuxt |
| 2023 | 0&1 website0and1.co.uk ↗ | 0&1 | Next.js, AWS Lambda |
| 2023 | matrix-keypad-freertosCode ↗ | Personal | C, FreeRTOS |
| 2022 | School.howschool.how ↗ | 0&1 | Next.js, MUI, VideoSDK |
| 2022 | UK Flour Millers dashboardukflourmillers.active-class.com ↗ | 0&1 | Next.js |
| 2022 | Gatsby: insecure uuid removedCode ↗ | Open source | Node.js |
| 2022 | nanostores/persistent: tab sync fixCode ↗ | Open source | TypeScript |
| 2021 | Active-Class dashboarduser.active-class.com ↗ | 0&1 | React, Redux, MUI, Firebase |
| 2021 | Active-Class Office add-in | 0&1 | Office.js, React |
| 2021 | Active-Class websiteactive-class.com ↗ | 0&1 | Gatsby, MUI |
| 2021 | gatsby-plugin-react-i18next: Link refsCode ↗ | Open source | React |
| 2017 | Grid-tie multicell inverter (paper)arxiv.org ↗ | arXiv | Power electronics |
| 2012 | Self-balancing robot with fuzzy control | University of Tabriz | Control systems, Embedded |
| 2010 | RoboCup IranOpen Deminer Challenge, 1st place | University of Tabriz | Robotics |
| 2009 | Small Size League soccer robots | University of Tabriz | Robotics, Control systems |
| undated | Logger: GSM weather stations | In production | Hardware, Firmware, GSM |
| undated | EPC: pressure and flow controller | In production | Hardware, Firmware |
| undated | Mini PLC | In production | STM, Firmware |
| undated | Pipe inspection robot | Robotics | Robotics |