00 ▪ Professional

Volograms

Making 3D reconstruction accessible through a mobile product.

Volograms was building a way for anyone to turn a simple video of a person into an animated 3D model. Turning a video into an animated 3D model had usually required expensive equipment, studios, and specialist skills.

I joined the project to turn the existing 3D reconstruction technology and early product ideas into a mobile app ready for release. I took responsibility for the mobile architecture, UI implementation, backend integration, and App Store release.

2020 — 2023Mobile EngineeriOS ▪ AndroidFlutter ▪ Native ▪ Unity3D ▪ AR

Two Volu app screens on iPhone: the Featured Content screen with Trendy Superpowers effects and Trendy Volograms, and the Creator screen showing a 3D-reconstructed person standing on a pink-to-purple gradient background with a Play button
Featured content browsing and a reconstructed 3D model in the Creator screen.

01

The idea

The goal was to make full-body 3D reconstruction available to everyday users.

A user could record a video of themselves or someone else. The video would be processed into an animated 3D model, which they could then use to make new content. The planned process was simple:

Create a model → create a video → share it → inspire others to create.

The product was open-ended. We didn't define one use case. The idea was for people, especially content creators, to find their own ways to use the technology.

When I joined, the 3D reconstruction backend was already working. There was also an early prototype and designs from an external agency. My role was to turn these parts into a complete mobile product.

Volu capture screen on iPhone, recording a person in red dancing in front of a colourful graffiti wall, with a circular record button at the bottom
Recording a video of a person to be reconstructed in 3D.
Volu AR experience on iPhone: a reconstructed 3D model of a person in red rendered on the grass of a garden, with circular Superpowers effect selectors at the bottom and the VoloBlocks effect highlighted
A reconstructed model placed in the garden, with Superpowers effects applied.
Volu My Recordings screen on iPhone: a grid of saved 3D recording thumbnails with a sidebar of character avatars, including favourites such as Hala Madrid and Susana
My Recordings, the library of saved 3D videos.
Volu Featured Content screen on iPhone: Trendy Superpowers effects such as Voloport, Voltrix and VoloBlocks, and Trendy Volograms of creators like Camino and Levi Allen
Featured content with Superpowers effects and creator volograms.
Shared vologram video on a phone screen: a large reconstructed man in white and a smaller woman in black dancing tango together in the same room
A shared video combining a reconstructed model and a real person.

02

From technology to product

The product had to work on iOS and Android and connect to a backend and a 3D/AR rendering engine. So first, we had to decide how to build it.

I looked at the main options with the team, including building separate native apps and using a cross-platform approach. I was the main mobile engineer and already knew Flutter, so we chose Flutter. It let us use one codebase while still supporting platform-specific features when needed.

I tested the approach with an MVP that brought together three main parts:

  • Flutter — UI, navigation, state, and application logic
  • Native iOS/Android — connection to the platform-specific AWS Amplify libraries
  • Unity — 3D rendering and augmented reality

The architecture kept these parts separate while letting them work together in one app.

Three layers, one appFlutter holds UI, state, navigation and logic on top; below it a native iOS and Android layer with Amplify libraries sits beside Unity for 3D and AR; the backend sits at the bottom.FlutterUI ▪ state ▪ navigation ▪ logicNative layeriOS / AndroidAmplify librariesUnity3D / ARBackend
Fig. — three layers, one app.

03

Building the app

I designed and built the mobile architecture so the app, backend, and rendering layers were separate.

Flutter handled the UI, state management, navigation, and application logic. I followed a Cubit-based structure to separate views, view state, and controllers. Backend features were in independent modules, not tied directly to the UI.

The backend brought another challenge. At the time, AWS Amplify had separate native libraries for iOS and Android. I built the native bridge between those APIs and Dart, giving the Flutter app one consistent API to use.

The app also used Firebase Crashlytics and supported notifications.

Some of the third-party tools were still new. AWS Amplify had bugs and limits, and the Flutter/Unity integration package was rough and had little documentation. I worked around these problems while keeping the app's architecture easy to maintain.

As the main mobile engineer, I was responsible for most of the app's decisions and implementation. I worked closely with the backend/3D team and with another engineer on the Unity integration.

04

Turning designs into a product

The agency had set the visual style and provided several screens, but the designs didn't always say how the product should work.

I worked with the CEO to turn the visual style into a reusable Flutter UI system. I made interaction decisions and extended the original style as we added features.

Using Flutter's Material components as a starting point, I built and adapted reusable buttons, text inputs, cards, typography, and shared colour definitions.

This gave the app a base we could use as it grew. New screens and features could look consistent without us having to solve the same UI problems again.

The work wasn't just about copying static designs. I turned an incomplete design specification into a working product, balancing the original style with technical limits and feedback from people using the app.

05

The AR experience

The 3D model was at the centre of the experience.

The app showed previously created models as animated previews. Selecting one opened the Unity-powered AR experience, where users could see the model through the camera and place it in the space around them.

From there, they could:

Place and resize the model → apply visual effects → record the experience → share the resulting video.

Unity ran as a native view inside the Flutter app. I worked with another engineer to connect the rendering layer to the rest of the app. We kept the Unity experience separate from the main Flutter UI and app logic.

This was one of the more unusual technical parts of the project. It meant connecting technologies that weren't made to work together.

An AR recording showing a reconstructed 3D person with a pink visual effect waving while standing on a laptop on a desk
A vologram placed in the real environment through the camera.
Volu Volograms screen on iPhone: a list of characters on the left and a preview of a dancing woman on a pink-to-blue gradient, with a Go to Creator button underneath
Browsing previously created volograms as animated previews.
Volu Superpowers screen on iPhone: a man's 3D model shown with the VoloBlocks effect applied over a pink-to-purple gradient, with circular effect selectors below
Applying a visual effect to the model before recording.

06

Shipping and iteration

The first version of Volu was released on the Apple App Store. We also made Android builds for internal use, but never released the Android version to the public.

I set up automated builds and daily builds that colleagues could use for testing and feedback. This helped the team check the app as we built it.

As the team looked for ways to build a sustainable business around the technology, I also worked on projects outside the mobile app.

One experiment was a simple web product for making interactive 3D video cards. A user could upload a video, generate their 3D model, and create a card with the animated model, text, and interactive buttons. They could then share the card or embed it on another site.

I built the web app and connected it to the existing backend. I worked with the CEO on the UI, the marketing team on its structure and goals, and the backend team on the connection.

It was a smaller project, but it let me use the same product-focused approach beyond mobile. I worked across web, UI, and backend integration.

A volumetric video of a man standing on a floating holographic platform, surrounded by 3D shapes and interactive buttons reading Learn more, Email us and Custom request
An interactive 3D video card: the model plus text and link buttons, to share or embed on another site.

07

What I learned

Volu succeeded technically: it showed that 3D reconstruction, Flutter, native mobile development, backend services, and AR could work together in a real consumer product.

The bigger challenge was showing that people had enough reason to use the technology and eventually pay for the product.

Looking back, I think we tested the technology more than we tested the product.

The app first focused on attracting users and getting feedback, but making money became a challenge. The team tried other commercial uses, including the video-card product, but the main question remained: who had a strong enough reason to use and pay for this technology?

Looking back, I would have done a few things differently:

  • done more user and market research before committing heavily to the product;
  • thought about making money from the beginning, instead of focusing mostly on getting users;
  • run more small tests of different uses before building the full product.

For me, Volu taught me that making ambitious software work is only half the problem. People also need to understand its value and have a real need for it.