Robotics and AI engineer: humanoids, drones, edge AI and LLMs. I build things, then write a tutorial on how I built them.
I wrote my first code in 2004, at 14, and every time something new came along, I wanted to learn it. I started with QBasic, C and C++, learning how memory and machines really work. In 2005 PHP got my first web apps online. I picked up Go in 2011 while it was still new, and in 2012, as smartphones took off, I moved into mobile with Android and iOS apps, alongside Laravel on the web. In 2014 came TypeScript and Python, and Python later carried me into data, machine learning and LLMs. In 2016 Rust became my choice when safety and performance both matter. Along the way, C#, .NET and Java with Spring Boot, plus SQL Server and Azure, covered enterprise work. Today that curiosity has taken me into robotics, drones and humanoids, including leading the software stack for Titan, a humanoid robot on NVIDIA Jetson AGX Thor and ROS 2 (Army xTech Humanoid finalist).
Over the years I've shipped work for companies, startups and private clients as an engineer and project manager: web and mobile apps, fintech and POS systems, production LLM systems, autonomous drones, and robotics.
These repos are things I build because I love building them: robots, drones, AI and the odd experiment. I also love teaching others how things work, so each one comes with a "how I built it" tutorial on applycoding.com. Come say hi there.
| Project | What it is | Tutorial |
|---|---|---|
| humanoid-arm-teleop | Browser teleop for a simulated 6-DOF humanoid arm: 50 Hz control loop, damped least-squares IK, safety pipeline, three.js URDF viewer | How I built it |
| cpp-flight-controller | Modern C++20 quadrotor flight control: PID attitude loops, Kalman and complementary sensor fusion, GoogleTest | How I built it |
| ros2-vision-tracking-demo | ROS 2 YOLO detection with a ByteTrack-style Kalman + IoU tracker, CPU only | How I built it |
| robot-learning-vla-demo | SimReach: language-conditioned arm reaching, behaviour cloning vs PPO vs a small VLA policy | How I built it |
| ros2-voice-command-robot | Talk to a robot: VAD, speech-to-text and local-LLM intent parsing driving Nav2 goals in Gazebo | How I built it |
| edge-yolo-tensorrt | Fine-tuned YOLO exported to ONNX and TensorRT, with Jetson benchmarking scripts | How I built it |
More tutorials (browser teleop console, offline voice assistant, MCP server, LoRA fine-tuning, payments ledger) are on applycoding.com/tutorials.
Robotics and edge: ROS 2, Nav2, Gazebo, PX4/MAVLink, NVIDIA Jetson, TensorRT, OpenCV · Languages: C, C++, Rust, Python, Go, TypeScript, Kotlin, Dart, C#, Java, PHP · AI: LLMs, RAG, agents, evals, fine-tuning · Apps and cloud: Flutter, Android, iOS, React, Next.js, FastAPI, .NET, Spring Boot, PostgreSQL, SQL Server, AWS, Azure, Cloudflare


