Skip to content
View aminebensaid66's full-sized avatar

Highlights

  • Pro

Block or report aminebensaid66

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
aminebensaid66/README.md
Amine Bensaid — Software Engineer

Embedded systems engineering student at INSAT, Tunisia.
I build developer tools, full-stack products, and the software that makes robots move —
from microcontroller firmware to ROS 2 to the editor you debug it in.


LinkedIn Email Curriculum Vitae ros2inspector on PyPI



🥇 NXP Cup Tunisia — 1st place  ·  🌍 NXP Cup international finalist  ·  🤖 Eurobot 2026 — 1st in Tunisia, Top 5 worldwide

Right now

  • 🪐 Maintaining ROS 2 Inspector — static architecture analysis for ROS 2, on PyPI, with a VS Code extension.
  • 🎬 Building MotionDeck — an MCP server that lets Claude and Codex produce animated presentations and export them to HTML, PDF, or video.
  • 🦾 Building the ROS 2 stack and rosbridge dashboard for Aerobotix INSAT's Eurobot robot — path planning, strategy, and micro-ROS.
  • 💼 Open to internships and software engineering roles in developer tooling, full-stack systems, robotics, and embedded software.

Featured open source

🪐 ROS 2 Inspector

CREATOR & MAINTAINER · PYTHON · PYPI

Understand a ROS 2 workspace without building or running it. The CLI parses Python, C++, interface, and launch files to discover packages, nodes, deployments, topics, services, and actions, then renders an evidence-backed architecture graph (Mermaid, DOT, interactive HTML) and enforces architecture policies in CI.

pipx install ros2inspector
ros2inspector graph comms --format mermaid

Python Tree-sitter NetworkX Typer Pytest

Repository ↗   Docs ↗   PyPI ↗

🧭 ROS 2 Inspector for VS Code

CREATOR · TYPESCRIPT · VS CODE API

The same architecture model, inside the editor: a relationship-aware explorer, an interactive zoomable graph with filters and 1/2-hop focus, audit findings and policy violations in the Problems panel, and jump-to-source navigation.

Static by design — no ROS installation, no DDS, no workspace code executed.

TypeScript VS Code API Webviews

Repository ↗

🎬 MotionDeck

CREATOR · TYPESCRIPT · MCP

An MCP server for Claude, Codex, and any MCP client that turns a prompt into a designed, animated slide deck. The AI sends data; the server draws charts, stats, timelines, and diagrams with six design presets, reports layout problems after every edit, and exports to offline HTML, PDF, MP4, WebM, or GIF.

TypeScript MCP SDK reveal.js Puppeteer ffmpeg Zod

Repository ↗

🧠 OR Solver

AI + OPTIMIZATION · FULL-STACK

Describe a linear program in English or French and get an optimal plan with a plain-language explanation. Gemini only translates intent into a validated model — a deterministic PuLP solver does the math.

Prompt → Gemini parser → NestJS API → FastAPI + PuLP → Explained result

React NestJS FastAPI PuLP Gemini Docker

Repository ↗

🦾 Eurobot 2026 — ROS 2 robot stack

AEROBOTIX INSAT · ROS 2 & EMBEDDED DEVELOPER

🥇 1st in Tunisia  ·  🥈 Accumulation phase  ·  🌍 Top 5 worldwide  ·  Team organization ↗  ·  Robot demo ↗

An autonomous competition robot whose brain is a Raspberry Pi running ROS 2 Jazzy. It plans paths around live obstacles, runs match strategies, and drives an STM32, three ESP32 boards, and the Wi-Fi PAMI robots through micro-ROS — all monitored and controlled from a browser over rosbridge.

flowchart LR
    subgraph Browser
        DASH["Match dashboard<br/>roslib.js"]
    end
    subgraph RPI["Raspberry Pi · ROS 2 Jazzy"]
        RB["rosbridge_server"]
        API["Flask API<br/>strategies · launch · logs"]
        WH["web_handler"]
        HA["hybrid_astar<br/>/compute_path"]
        STRAT["strategy manager<br/>+ executor"]
        TS["task scheduler"]
        LID["lidar obstacle<br/>warning"]
        AG["micro-ROS agents"]
    end
    DASH <-->|"WebSocket · topics & services"| RB
    DASH -->|REST| API
    RB <--> WH
    WH --> HA
    STRAT --> TS
    TS <--> HA
    LID --> TS
    TS <--> AG
    AG <-->|serial| STM["STM32<br/>navigation"]
    AG <-->|serial| ESP["ESP32<br/>actuator boards"]
    AG <-->|"Wi-Fi · UDP"| PAMI["PAMI<br/>robots"]
Loading

🧠 ROS 2 workspace

TOP CONTRIBUTOR · PYTHON · RCLPY

The robot's onboard software, about 23k lines of Python across five packages.

  • Hybrid A* planner (main author): orientation-aware paths, footprint collision checks, smoothing, and a live obstacle database updated over topics and services
  • Strategy & task scheduling: YAML-defined match strategies, pick/put-down sequencing, retreats, safety obstacles, and return-home timing
  • Custom interfaces: ComputePath, UpdateMap, PutDown, ObstacleArray, ActiveBatches, and more
  • Concurrency with MultiThreadedExecutor and reentrant callback groups, explicit QoS profiles, tf2 transforms, and RViz visualization

ROS 2 Jazzy rclpy Custom msgs/srvs tf2 RViz micro-ROS

ROS2-WS-EURO ↗

🖥️ Match dashboard (rosbridge)

CORE DEVELOPER · ROSLIB.JS · FLASK

A web control room served from the robot, used from any laptop on the team network.

  • Live robot view over rosbridge: subscribes to pose, planned path, MarkerArray, and obstacle topics; publishes start/goal/enemy poses; calls std_srvs/Trigger services
  • web_handler bridge node: converts browser commands (mm → m, degrees → quaternions) into planner requests and returns results
  • Match control: strategy editor and selection, start/stop, PAMI tests, micro-ROS agent restart, and live log streaming
  • Rotated/mirrored real-table map, full-game path preview, and auto-reconnect, all run as systemd services on the Pi

rosbridge roslib.js JavaScript Flask systemd Raspberry Pi

Eurobot_Dashboard ↗

Firmware & other Eurobot repos I contributed to
Repo My contribution
Navigation_MicroROS_2026 STM32 micro-ROS: pose topic, services, automatic reconnect when the agent restarts
System_code_ESP32_back / front / pneumatic Agent reconnection, reliable QoS, faster DDS discovery, status and debug topics, memory fix
PAMI_ESP32_code Status service, motion commands, and beacon communication for the small PAMI robots
LIDAR_EUROBOT Obstacle-warning messages, remote visualization, Raspberry Pi integration

Robotics & embedded

🏎️ NXP Cup Autonomous Car

EMBEDDED & CONTROL DEVELOPER

Real-time lane following on a Teensy 4: Pixy2 vision → steering error → PID correction, with encoder-based speed control and serial telemetry for tuning. Backed by an ESP32 WebSocket test rig for driving the car without the camera pipeline.

Embedded C++ PlatformIO PID Teensy 4 Pixy2 ESP32

🥇 1st in Tunisia  ·  International finalist, Netherlands 2025

Repository ↗

🌊 Orange IoT Platform

ORANGE DIGITAL CENTER · IoT SOFTWARE ENGINEER INTERN

Monitoring and regulation of microalgae pools: embedded acquisition, closed-loop actuation, AWS IoT telemetry, remote commands, and web plus touchscreen interfaces.

Embedded C Python Flask AWS IoT Core MQTT

Four-month internship

Full-stack products

🧶 TRI-UP Platform

PRIVATE ORGANIZATION PROJECT · FULL-STACK DEVELOPER

E-learning, production matching, and logistics for artisan associations. I worked on matching, concurrent order flows, secure media delivery, authentication, performance, UI reliability, and automated testing.

Next.js NestJS PostgreSQL Prisma Redis MinIO/R2

✅ Task Manager

FULL-STACK · PRODUCTION-ORIENTED

Team task management with admin/employee roles enforced server-side, HttpOnly JWT auth, comments and activity history, filters and dashboards, migrations, health checks, Docker Compose deployment, and CI with unit and E2E tests.

React NestJS Prisma PostgreSQL Docker GitHub Actions

Repository ↗

More things I built
Project What it is
Line-Follower Robot Five-sensor PID line follower for ENSI RoboCup 2024 (Arduino C++)
ESP32 Firebase IoT Node ESP32/FreeRTOS node publishing timestamped DHT11 telemetry to Firebase over TLS
Eurobot Dashboard Web control dashboard served from the robot's Raspberry Pi
ChatGPT Prompt Runner macOS desktop app (Electron + Next.js) for organizing reusable prompt workflows
ViT for antenna inverse design PyTorch Vision Transformer predicting circular antenna-array configurations from radiation specs
Robot path simulator Java OOP prototype: robots, obstacles, charging points, and pathfinding
Codeforces solutions C++ competitive programming practice

Toolkit

Technology toolkit

Build

Python · C/C++ · TypeScript
React · Next.js · NestJS · FastAPI
Flutter · Electron

Connect

ROS 2 · rosbridge · micro-ROS · tf2
MQTT · MCP · REST · WebSockets
BLE · Serial · UDP · CAN

Operate

PostgreSQL · Redis · Prisma
Docker · Linux · systemd
GitHub Actions · AWS IoT


Have an ambitious system to build?

Whether it is a robot, a developer tool, or a product with real users — I'd like to hear about it.

Start a conversation

Pinned Loading

  1. ros2_inspector ros2_inspector Public

    Static ROS 2 architecture analysis, visualization, auditing, and CI policy enforcement for Python and C++ workspaces.

    Python 15 3

  2. ros2_inspector_vscode ros2_inspector_vscode Public

    VS Code architecture explorer, diagnostics, graphs, and policy checks powered by ROS 2 Inspector.

    JavaScript

  3. NXP-CUP-FINALS NXP-CUP-FINALS Public

    Autonomous NXP Cup lane-following car with Pixy2 vision, encoder feedback, and PID control on Teensy 4.

    C++

  4. Linear_Program_Project Linear_Program_Project Public

    AI-assisted full-stack linear-programming solver using Gemini, NestJS, FastAPI, PuLP, React, and Docker.

    TypeScript