This is the story about my biggest and most ambitious project to date. I wanted to be shorter, but there is simply too much things to tell. Happy readings :)
From Playing to Creating
Always loved playing games. It all started with the GameBoy Pocket my parents gave me with games like Pokémon and Legend of Zelda. Those gifts sealed my fate as a Nintendo fan.
In high school, I decided to deep dive into how to make games. I wanted to make them. My first experience on game development was with Multimedia Fusion Express. A drag-and-drop tool for creating 2D games. It wasn’t easy to learn but I managed to make a game as part of my course's final project. Also explored Macromedia Flash to make interactive websites but never did any official project on it, just learned and had fun 🙂

At the beginning, everything was mostly 2D. "Simple" games, "simple" mechanics, learning how things worked. Then 3D became more accessible and I discovered Unity3D. That shift changed everything for me. Suddenly there was depth, complexity, and an endless amount of things to learn. The potential felt huge.
I also realised something important about myself: I was never the artistic type.
My brain worked in a more logical, structured way. I enjoyed building systems, setting rules, making things interact. Creating characters, environments, and visuals was never where I felt strongest.
So instead of trying to be great at everything, I naturally went into what made sense to me. Designing the backbone rather than the artwork. So I started making more apps than games on Unity3D (a bit contradictory).
I never imagined myself spending all day coding, so I jumped into Mechatronics engineering, which is a mix of mechanics, electronics, automation, robotics, and it required more than being the whole day coding in front of a computer. I built projects that I could touch like this one: Talking Chess
But it was also the time I was taking my first steps on virtual reality. This was 2015.
Discovering XR and The Spark of an Idea
Around the time VR and AR technologies started gaining traction, where companies like Microsoft and Samsung launched Hololens and GearVR, it got me excited to buy my first 360º camera: Samsung Gear 360. That little two-eyed camera. And start making content.

I already knew 360º photos were becoming a trend, with people excited to capture scenes and publish them on Google Street View. But my mind was focused on something else: 360º video.
Virtual tours. They meant something for me. Especially those using some out-of-the-box interactions. Existing tools allowed me to create simple tours, but I saw potential for so much more. And for 360º video. I envisioned virtual tours the new websites 2.0.
Why stop at static tours when they could become fully interactive, immersive experiences and mixed with storytelling and video? Logically it was time to create a new startup 🚀
My first idea was to create a global directory of virtual tours, complete with maps and locations, 360º degrees…VR…spherical…blue…math angles…radians…….Radiano! That's how I got that name. I still remember this thought 😅
Then my partner started the design of the logo. We got this:

We created the social media pages, website and started doing some communication.
But one day I received a legal letter from Mastercard.
The title: “Notice of obligation to cease the brand Radiano”. I got really scared. The letter said if I don’t stop using that shape in the logo, I would go into justice court and pay big time. That proves that Mastercard's legal department is working 😅.
As you may have guessed I had to give up and rebrand all over again.
Exploring the Market
While all these stories unfold, I started experimenting tools like Marzipano and Krpano. They provide the 360° video functionality and interactivity, custom programming to tweak and refine what I wanted, but it's hard, it's a steep learning curve.
My excitement made me start shooting 360º content inside places at my hometown, to see how the market would react to a virtual tour made with a mix of 360 videos, images and some hotspots with detailed information.
Surprisingly, I sold many virtual tours to local shops. The reason was to boostCyango Sticker, indicates the shop has a virtual tour (to see when its closed)Cyango Sticker, indicates the shop has a virtual tour (to see when its closed) online presence.
Tools like Matterport were riding the wave back then. It is a special camera that scans the place in 3D with a mix of 360 images, but I couldn't afford that so I tried to explore real estate agencies, but quickly realised that agencies like Remax had some contract with other company that was doing real estate virtual tours for around 15€ each apartment, which wasn't sustainable for me.
So it was time to level up and bet on digital experiences: 360º Websites.
Which consisted on a mix of website menus floating in a 360º environment. So instead of scrolling, the user was dragging to view the website. I sold this idea to a local restaurant and the result was this:
Along the time the idea was more and more exciting. I was seeing a lot of potential new content and product to sell.
So it was time. To. Create. A new brand. 🤌
The New Brand and Business Model: Cyango
I honestly spent one day brainstorming and deciding about the name and shape of the logo. I wanted something blue and spatial related with the cosmos.
So I ended up with the name Cyango (easter egg: see-and-go) and blueish like cyan color.

I had two great internees at my company Dotesfera and after I told them the idea, they started designing the new logo. Came up with this:

It was good enough for me. I could already see that flying sauce in some promo videos 😂
Having the logo getting shape gave us full motivation to start building. I was thinking about conquering the world! This is only possible when we feel the sense of ownership and we wish to make this project happen.
Then I started entering startup competitions to pitch my idea. A lot of them.

These startup competitions were also very good to develop my entrepreneur skills. I had to learn about business models, value propositions, marketing plans, business plans, finances, investors...WOW...a lot to digest for a fellow engineer like me. But I was walking the talk.
I wasn't stopped. Forced myself many times to get out of the comfort zone, which somehow shaped my personality as I am today.
But at some point I was losing focus on the product itself. It started feeling that I was pitching too much and no real functional product to show. I hated that.
Had to get my hands into building the MVP.
I can’t even remember how many times I changed the product’s shape and direction, but I clearly remember the first version. It was a ‘social media’ for virtual tours, where anyone could upload and share their own tours on the platform. Yes, that classic naive idea of thinking you could mass-market anything just by turning it into a social network. 🥲
I was a complete newbie back then. Naively, I knocked on the doors of many local shops. Some didn’t understand what I was trying to sell and turned me down, which was fair, I was still learning.
Still remember the very first virtual tour I sold. It was 45 euros, for a small local printing shop called Recicloteca. I was so proud of it that I even asked them to put a sticker on their door. 😂

Collision Conf 2019
One of the good things creating startups brings, is that you have many opportunities to show and tell. One of my first travels was because of Cyango. I went to Collision Conf in Toronto (Canada) and it was a great feeling, I felt alive and with a sense of purpose! I went there with a MVP to show the idea to the world. But I got roasted.
The more people stopped by to know about the product the more roasted I got. The feedback was either false positives or "That idea is not scalable and is poor in value proposition". I even got to talk to some TripAdvisor managers and really felt their lack of interest in it.
Honestly it was brutal to me. Being there with jetlag and a poor performance on pitching the idea was a total disappointment. And even worse because I spent money on the expensive travels and staying

The Building of a Vision
After coming back from Canada, I felt lost with the product direction. I wasn’t really solving a problem. I was chasing an opportunity, and that’s why growth was so hard. Virtual reality simply wasn’t ready for mass adoption. For regular users, only 360º content made sense at the time.
The problem was the business model. I didn’t own any 360 hardware or software. Was just acting as an intermediary, a hub connecting creators and content. And that’s not an easy place to build a profitable business.
During a few mentoring sessions, I received feedback that triggered. If I wanted this to work, so I needed to own a creative tool. Something that allowed people to actually build virtual tours. At that point, I was assembling everything manually using existing tools, and I could clearly see how many things were broken or missing in these softwares.
The obvious reference points were editors like 3DVista, Theasys, or Kuula. But building something like that felt overwhelming. Almost unrealistic for one person without much money.
I went through a long internal process, asking myself if this was really what I wanted, and how much of my life I was willing to invest. I knew that if I wanted this to succeed, it wouldn’t take months. It would take years, maybe even decades.
In the end, I made the decision to turn my vision and passion into a super platform that people would actually use.
The Development Odyssey
It was time to settle and start heavy development. I didn't want to reinvent the wheel so started exploring an abstraction of Krpano library, a virtual tour tool that relied heavily on XML, HTML, and JavaScript. It was far from developer-friendly.
But then I found React.js, and the promise of “write once, deploy everywhere” drew me in.
My knowledge about web frameworks was really outdated and my javascript skills were very poor. I needed to take some online courses first. There were some online courses that really helped me kickstart the project: "JavaScript: Understanding the Weird Parts", "MERN Stack Front To Back: Full Stack React, Redux & Node.js" and Understanding TypeScript.
The best way to learn is to build a real project in production
I learned so much on trial and error by implementing and designing systems to make a robust platform. I didn't want to build some shitty product so I was aiming high.
After some months, I built the first editor prototype using the MERN stack and a React library for Krpano. It worked, but scaling it was a nightmare.
Today, when I look back at this, I feel nostalgic and laugh at how naive I was to think that was a market-ready product.
The node-based interface (Rete.js) you see in the screenshot above was meant to let users build virtual tours by simply connecting blocks. In theory, it sounded great. In practice, it wasn’t user-friendly or practical. That forced me to rethink the entire feature. My priority was always the same: finding the best possible UI and UX for the user.
That’s when I discovered A-Frame, a framework built for web-based VR and AR experiences. Adopting it meant a major refactor of the platform, migrating away from krpano. It was painful. Really painful.
At the same time, it solved several core problems. Still, as often happens, the codebase quickly became messy again. After countless refactors and a lot of feedback from early beta users, I finally launched the first version of what I called: Cyango Cloud Studio.
It wasn’t perfect. Not even close. But it was a start.
Challenges, Pivots, and Progress
Building this editor was never just about the software itself. I had to create an entire platform around it, including a backend for file processing and the DevOps infrastructure needed to deploy and scale everything. The moment I decided to support 360º video, I had to dive deep into video optimisation with ffmpeg in node.js, set up livestreaming pipelines using HLS, and learn how to work with tools like AWS, Docker, and Kubernetes. It was really challenging, but at the same time I felt alive and learning new things every single day.
UI and UX became a constant battle. I redesigned the editor so many times that my own video tutorials were outdated within weeks. Still, each iteration pushed the product forward. I introduced concepts like a scene-entity system inspired by game engines such as Unity, and gradually simplified the interface to make it more intuitive and usable.
It was slow, repetitive, and often frustrating, but every redesign brought the platform closer to what I had originally envisioned.
Clients helped on the feedback loop, and sometimes I committed the crime of hearing all of them. Such as I even implemented features just because of a single client ask. And there are many features I have implemented that are now completely removed because they were out of the product's vision.
The client is always right? Not quite. You're right sometimes too.
The original idea was a simple virtual tour creator, but as you can imagine, it quickly got out of hand. I was already mixing 360 images and video with 3D models, spatial audio, lighting, and more; mainly because tools like Three.js and A-Frame made it possible.
Then came another hard realisation. Using A-Frame together with React.js was not a sane long-term solution. It wasn’t scalable. I was juggling React components, vanilla JavaScript, and raw HTML tags all over the place. The codebase was functional, but it was still a mess.
That’s when I discovered a new library called React Three Fiber. Even in its early days, the growth and community energy around it were obvious. It was solving a real pain point that many developers had, including myself.
So I made yet another major decision: a full refactor from A-Frame to React Three Fiber. This time, things finally started to work. The code became cleaner, performance improved, and everything lived properly inside the React lifecycle.
For the first time in a long while, it felt like the technical foundation was finally working with me, not against me.

All this while listening to Ben Böhmer
The Attempt to Build a Community
I still regret starting to build this software without sharing more of the journey and without earning any kind of validation from the internet. Not because I didn’t try, but because I didn’t know how to reach or engage the people who actually needed this product. I experimented with Facebook groups, forums, and WhatsApp chats, but I never showed up consistently. I was fully focused on building the product.
At the same time, I felt frustrated watching other platforms succeed while mine struggled to gain traction. To this day, I still haven’t fully cracked this piece. I continue to struggle with engagement and with building a real community around what I’m creating.
At one point, I created a Facebook group called Storytelling Virtual Tours, alongside with Adriaan (find out how we met, it's a funny story).
We made a real effort to invite well-known freelancers and creators from the space, and for a while, we were active and engaged. But between product development and client projects at Dotesfera, we became overwhelmed. Engagement slowly faded, and the group eventually turned into just another place for spam.
Looking back, it’s clear that building a product is only half the work. Building the audience alongside it is the part I underestimated the most.
The Infrastructure
Things started getting more robust, especially on the backend. Every time I thought about adding a new feature, it meant learning or installing a new library, and those libraries often turned out to be entire worlds on their own. One of the biggest challenges was building with scale in mind. I was preparing for thousands of users.
That meant designing a tech stack capable of handling multiple users uploading multiple files at the same time. 8K 360 videos, 3D models, audio files, images. Everything needed a clear standard and a reliable conversion workflow.
That’s real pain. Supporting file conversion was one thing. Handling multiple conversions in parallel was a completely different problem. The resource usage exploded, and my Amazon EC2 machines kept crashing. I had no choice but to go deeper into Docker and Kubernetes, learning how to properly manage resources and optimize the entire pipeline.

Finding the right balance between performance and budget was hard, it still is. At one point, the ambition went even further. I implemented a small livestream server so users could stream 8K 360 video directly to our infrastructure.
This was incredibly complex and way too heavy in terms of overhead with what the current audience needed. This was the time I was building things without a clear business strategy or proposal from any client. It was clear I was wasting my time building things nobody asked.
Another reminder that ambition can easily outrun practicality if you’re not careful
But this is part of the process. You have to get into the road, pave the way, trial and error. That's where the real learn and experience comes from.
