I went from making robots to becoming one
Raul Arturo Villegas
—
Insights

Written by
A few years ago, I was programming a firefighter robot to navigate burning buildings, detect victims through smoke, and relay that information back to a human operator in real time. Today, I write the pipelines that teach software to think the way that robot once did. Same world. Very different seat.This is the story of how I went from making robots to becoming one.
The Robot Builder
My master's thesis at the University of Twente put me in the middle of a pretty wild challenge: how do you operate a robot remotely when there's a delay between what it sees and what you perceive through VR goggles? I was testing how experienced and inexperienced operators performed under system latency, and whether visual cues and AR could help close that gap.
The robot had LiDAR, monocular cameras, and heat detection sensors, constantly scanning its surroundings, extracting meaning from them, and making decisions. I loved that part: making a machine appear smarter than it was by designing the right perception layer. What I didn't love was feeling perpetually behind. I came from a mechatronics background, not computer science, so I was teaching myself basic coding concepts while everyone around me seemed like they'd been doing it for years.
The gym friend who changed everything
After graduating, I applied for an internship at a BIM company in Zwolle. Didn't get it. And honestly? I was a little relieved; the commute from Enschede was brutal. But I was still frustrated, and I mentioned it while venting to a friend at the gym.
He said: "Apply to my company instead. They're working with point clouds for the housing industry and they need someone."That conversation led me to Baseflow, where I started as a developer-researcher working on point cloud analysis for buildings. It was the kind of pivot that doesn't feel deliberate until you're already in the middle of it.
Same problems, different machine
Here's something I didn't expect: the core challenges in robotics and in scan-to-BIM software are surprisingly similar, just running on different hardware.
In robotics, I worked on robot navigation: given a LiDAR scan of an environment, how does the robot figure out where it is and how to move through it? At Baseflow, I work on point cloud alignment: given scans of a building taken from multiple angles, how do you stitch them into one coherent model? Both problems live in the same mathematical space: coordinate transformations, sensor calibration, and spatial reasoning. The robot used those skills to move. Now I use them to build the thing that once moved me.
Scan-to-BIM: The robot's job, now mine
Scan-to-BIM is exactly what it sounds like: you scan a real building (using LiDAR or photogrammetry) and transform that raw cloud of millions of 3D points into a structured digital model where every wall, door, and pipe carries its own data. Length, area, volume, material. A true digital twin of the physical world.
In robotics, I was on the gathering side: calibrating sensors, retrieving point clouds, and handing them off. At Baseflow, I became the other end of that chain. Now I design the pipelines that align point clouds, segment and classify objects, extract geometry, and turn all of it into something a building owner or architect can actually use.
The first time the scale of this hit me was when I was handed a point cloud of an entire neighborhood. It was so large I couldn't even open it in any tool I had. After days of testing different approaches, the answer was converting it into COPC/LAZ format. This is a cloud-optimized structure that uses octree tiling to stream only what you need, when you need it. That fix is now baked into our platform. I wasn't feeding data to a system anymore; I was building the system.
What transferred, what didn't
A course called Robot Cognition, Perception and Navigation turned out to be one of the most practically useful things I ever studied. LiDAR math, camera intrinsics and extrinsics, coordinate transformations, SLAM, and pathfinding algorithms. All of it showed up again in my day-to-day work at Baseflow. The theoretical foundation was already there.
What I had to learn from scratch was everything around it: Git, frontend development in Angular, backend work in Python and Rust, and what it actually means to build maintainable software for a real product. In academia, a Python script and a research report was the finish line. In a company, that's just the starting point.
Enjoy the ride
Looking back, I spent too much energy feeling like an impostor. Being the only non-European employee, coming from a completely different background, and being surrounded by domain experts was a lot. There was barely any documentation to rely on, which made it worse. The codebase was a mystery, and I had no clear picture of what was expected of me or what proficiency level I was supposed to demonstrate.
The thing that helped most was simply asking my seniors, directly and often. I wish I'd done it sooner. The cultural barrier started to dissolve when I realized my team lead at the time was Argentinian-Dutch and we could just talk in Spanish. About work, yes, but also about family, culture, and the little things that make you feel like yourself again. As time went on, I started crossing paths with other international interns carrying the same anxieties I once had. Being able to tell them "I've been there, here's what helped" turned out to be one of the most grounding experiences of the whole journey.
I didn't plan to become the robot
By building the pipelines that allow software to see, interpret, and reconstruct the physical world, I've stepped into the role of the machine's internal logic. The reasoning, the decision-making, and the understanding are on me now.
If you're a tech person standing at an unexpected fork in the road, follow what genuinely interests you, even if you can't yet see where it leads. The skills transfer in ways you won't expect. Sometimes getting rejected from the job you wanted is the best thing that can happen to you.
I didn't plan to become the robot. But I'm the logic layer now, and I wouldn't trade it.



