I am a robotics engineer from Belgium, finishing an MSc in Cognitive Robotics at TU Delft. I am writing my thesis at Hilti's robotics lab in Schaan, Liechtenstein, on autonomous navigation and motion planning for a mobile robot on construction sites. Before that I did a BSc in Mechanical Engineering, also at Delft.
Most of what is here falls in two groups: robotics work, and developer tools I built because I needed them and then published. I release my own software under the name Odesha.
Right now: the thesis at Hilti until December 2026, the arms on Haller, and new releases of Zoteus and vibeTeX.
- Haller: my own mobile manipulation robot. A differential-drive base with two SO-101 arms on a Jetson Orin Nano, ROS 2 for the base, LeRobot for the arms, and a browser HMI with WebXR teleoperation from a Meta Quest. As of August 2026 the arms, the HMI, teleoperation and dataset recording work end to end; the base stack is being migrated to ROS 2 Jazzy.
- vr-teleop-kit: WebXR teleoperation for SO-101 arms, with a LeRobot adapter to record demonstrations and train ACT policies.
- Lupin: an autonomous greenhouse inspection robot, built with a team at TU Delft on a MIRTE Master. I worked on the browser mission console, the voice agent and the documentation site.
- Taggy: a patrol robot prototype on a Unitree Go2, built in 48 hours at a defence-tech hackathon in Zurich. The repo holds the Go2 bringup, control and simulation packages from the event.
- Drone motion planning: RRT and A* global planning in a PyBullet city environment, with a convex MPC for local obstacle avoidance. Course project with three teammates.
- Robot learning notes: an unofficial textbook compiled from the ETH Zurich course Robot Learning: From Fundamentals to Foundation Models (Spring 2026).
- MSc thesis at Hilti (private): navigation and motion planning for a construction robot. Multi-LiDAR perception, elevation mapping, traversability, and deployment on embedded hardware.
- Zoteus: an MCP server for Zotero. Claude, Cursor or any other MCP client can search a library, add papers by DOI, format citations and write back safely. On npm as
@oscardvs/zoteus, with a hosted version at zoteus.com. - vibeTeX: the same idea for LaTeX and Overleaf projects: a Git bridge, project sync and compilation through MCP. On npm as
@oscardvs/vibetex, docs at vibetex.dev. - Anamnesis: memory for Claude Code that lives in markdown files and syncs between your own machines over Tailscale. On PyPI as
anamnesis-memory. - SheetMates: shared laser-cutting sheets. Upload a DXF, get nested next to other people's parts, pay for your share. Live at sheetmates.com.
- Rent a Flight: booking, scheduling, logbooks and billing for a Belgian flight school. Private code, in daily use.




