This is the continuation of part 2
Before LLMs, every completed task felt like a small victory.
One of the hardest ones was file conversion and optimisation. Yet we are still adding robustness to those pipelines today. Turns out, dealing with files of any type, any size, and still giving users a good experience is not exactly a weekend project. We had to support 4K, 8K, 16K 360 videos, huge images, high poly 3D models, LODs, audio files, and all the weird combinations people somehow manage to upload. It was a lot of work. A lot of testing.
And then came the cloud architecture side.
Because I always had this scalability mindset, I went full force into DevOps. Probably too full force. AWS, Kubernetes, Kafka, RabbitMQ, Mosquitto, Grafana, Prometheus, Docker, Portainer. Those are just a few of the services and stacks I implemented, tested, broke, rebuilt, and questioned. Some choices were good. Some were expensive lessons. Some were just me trying to build like we were already 10x bigger.
But all those mistakes led to a much better infrastructure today.
One thing I learned with all these failures in software products is we should have a scalable vision and future ready platform but the implementation doesn't have to be perfect and robust at first, or else you never leave stage 1.
Building while nomading
At some point I felt the need to get out of comfort zone. I was stuck with some feelings and the only way I know how to solve is to travel. I never traveled alone, so I jumped into that adventure. I chose to spend a month in Malta. As the team culture was totally remote we were still having daily meetings, discussing, planning, managing the team's emotional intelligence. While discovering the islands I was still focused on work.
This trip was almost like an emotional retreat for me. And resolved many feelings I had, and worked a lot on my life clarity and defining who is me.
If you feel stuck, emotionally, professionally or anything else, I highly recommend traveling alone for a long period of time. It will force you to rethink your life

The Design & Components System
As this was a fully fledged studio editor, not some simple app or website, the amount of daily challenges on the editor AND the player were enormous. Decisions like "should we add scene types that have different behaviours for virtual tour, walkable 3D, flat video/image scenes...how easy it is to connect one panorama to another one? should we add specific panorama interactions or actions that work on generic cases? How is the UI/UX flow?" and all the sudden I was adding more skills to my CV, design, product design, UI/UX...which are somehow challenging and interesting but can also become boring at a point you have to reduce the button margins or anything else. And this was something I also learned by failing: we really needed a design system, not just a component system.
That time we were using MUI and started building on top of that, but as the platform grows, the needs also grow, and it was not attending all our needs. So we found ourselves patching and installing components from other libraries, and you can imagine this increases the build size and load times and that's not welcome. The worst part, these libraries were constantly evolving as well. So a lot of breaking changes we had to make. Any library update meant an headache. You never know what's coming. And MUI library made a breaking change because of React.js. And if we want a well maintained platform we needed to update React.js, to be more powerful, faster...but at same time it made us struggle to migrate. But we embraced it.
I can't count the amount of times I refactored the code, with lean principles, with better concepts and abstractions, because of these updates and new features incoming. I always wanted to spare some headaches to my future self (and I thanked myself for that). Then we migrated to TailwindCSS and PrimeReact and that's where we are at. We even made our own components page: https://components.cyango.com/
But the design system was still lacking, so I hired a Designer. She was extraordinary in UI/UX and helped us shape what the platform is today. We had many discussions about which directions to take, and she created a big Figma project with all the UI/UX flows. Amazing. But not so amazing when the frontend developers had to implement it.
It was a classic Designer vs Developer battle. The designer had to spend so much time building the stuff and still had to spend time clarifying the task and testing after. It was a loop. A infinite loop of trying to achieve a perfect product. We were obsessed.
Physics, Colliders, Multiple Select, Copy/Paste, Undo/Redo etc
In 2024 I have many recorded videos of all the new features we were adding. Surprisingly the copy multiple entities select, copy/paste entities/scenes and undo/redo edits were very complex features to implement. They sound simple, but implementing on already launched platforms is another level.
Those meant more headaches refactors and so many mathematical calculations that honestly almost made me give up because I spent weeks on a single issue, and that was frustrating as hell.
These things made me evolve in many ways beyond code, it trained me to increase my resilience
Enter Augmented Reality
The foundations of the platform were always VR Storytelling Virtual Tours. And we were using an ugly React VR api to enter in VR. Until I bumped into Coconut XR library co-authored by Bela Bohlender (later known as react-three/xr). And this library was a game changer. It brought the much needed abstraction to the WebXR api. And it automatically brought something that changed the way Cyango was communicating: Augmented Reality.
This brought another million use cases and more UI/UX work to make it seamless in every device capable. And you can imagine the amount of work but it was worth.
XR - 3D - UI
After establishing a ground on these, the platform growth couldn't stop. We were constantly adding new features. And one thing we always missed in XR was UI. And no, solving it with CSS3D would not work. Most platforms still use HTML and CSS overlayed in the 3D canvas, but the moment you enter in immersive WebXR session, all those layouts disappear.
We wanted true "build once, works everywhere" concept, no workarounds. Then Bela made uikit. This was a game changer. UI came to immersive session. Way before other platforms announced UI support for VR (ex: 3DVista only launched it this year 2026). Not just some meshes that simulate UI, but a real engine that works with the same core concepts of CSS. So I escalated quickly and ended up building a editor UI similar to Figma.
This was especially a long term task, not just because of how to make it easy to use, but because the library we adopted was still not battle tested, and many issues and bugs arose while we were building real client projects, which was very risky and meant a lot of refactor and migrations, but that's one way I like: to force failures and learn faster.
But then magic happens when you adopt innovative tech, and suddenly I was showcasing full UI experiences in VR and AR in the web. And that was one feature that made us apart of the competition.
Networking is still a thing
Besides all this daily work and challenges on product development and management, at the end of the day the company still has an infrastructure to feed. As part of my decision, we gave less priority to sales and new projects to focus 100% on product. But I knew I had to multiply myself into networking events and making pitches and just show up to get some leads and new project opportunities.
So I became the sales team again, at least part time.
Events, demos, awkward five minute pitches, follow ups that went nowhere, and occasionally one conversation that saved a quarter. That was the rhythm. We went to BTL, AWE, local meetups, anything that put a headset on someone's face. With Cyango, slides never carried the product. Motion did. Immersion did. I had to show it.

The photo above is from one of those days. Someone trying VR while I stand there hoping the demo does not crash mid sentence. That was my networking strategy for a while: show up, pitch, demo, repeat.
It worked sometimes. Not reliably enough to feel safe, but reliably enough to keep the lights on while we kept building.
And that was the uncomfortable part. I had decided to go all in on product, but survival still demanded visibility. I could not hide in the cave forever.
Founders do not get to choose between building and being seen. You just get bad at both until one of them starts working.
3D Gaussian Splatting
Gaussian splats were a brand new way of capturing the real world and dropping it straight into a 3D scene without the pain of traditional photogrammetry workflows.
Still 2024 and Luma Labs was already ahead on it. When they launched their libraries, we implemented them right away. It was an amazing feeling to see such realistic scans inside my editor, like someone had copied a piece of reality and pasted it into Cyango.
Then Luma pivoted other paths (totally normal) and we got to migrate to some other library compatible with three.js and with a good maintenance. mkkellogg's lib was the best option that time, so we migrated.
Later in 2025, mkkellogg winded down developments a bit more, and another great lib got in town called Spark.js, so we adopted it as our 3DGS engine, which so far is good.
As you can see just another day in the office.
Of course, "implement it right away" also meant more pipeline work. New file types, new conversion rules, new edge cases, new ways for uploads to break in production. That part never feels glamorous. But when it works, it is one of those features that makes people stop scrolling and actually explore.
The Artificial Intelligence Age
AI was already here. And that made us ship faster, but always being careful about all the code merged. AI brought 10x more productivity but also revealed some "grease" we had in the company. Meaning some team collaborators were not following along the speed and quality AI brought.
I had to make some more tough decisions and had to fire some developers and our marketeer. The main reason was not just AI but also because our fundings were ending and we were crossing a dangerous line at the company. Our runway was ending. I had a team bigger than our capacity and AI opened my eyes to that.
I adopted AI tools very early, a lot of hype, but soon realised this was not just another tech hype, It came to really disrupt, and companies are not ready for this.
Specially the bigger ones, which have a hard time to be lean. Startups like mine had the ability to make quick critical decisions and this was one of them. And that was making me re-think and feel more anxious because of the unknown. XR markets were already struggling, and AI came to suppress. No one was willing to invest. All eyes turned to AI, and that is not good for any XR authority. Dark times ahead.
Next part coming
