Case study

InkStory used ViroReact to turn tattoos into AR you can hear

Sergey Zelenov is a software engineer at MongoDB by day. Nights and weekends, he built InkStory on ViroReact, an app that links a tattoo to a sound and plays it back when you scan it with your phone. His own first tattoo carries his daughter's voice at three years old, telling him she loves him.

InkStoryBuilt withReactVision

Builder
Sergey ZelenovSolo developer, Berlin
Day job
Software Engineer, MongoDBBuilt nights and weekends
Built with
ViroReactReact Native, on-device AR
Growth
5-10 → 100-150Signups per month after screen sharing shipped
The story

A tattoo idea that would not stop at the shape

It started with an ordinary conversation. Sergey told his wife he wanted a tattoo, something nerdy but meaningful. He runs javascript.info on the side and spends a lot of his time around sound and video editing, so she suggested a soundwave. The idea stuck. But Sergey kept turning it over: why stop at the shape? What if the tattoo could actually play the sound back?

His first tattoo carries his daughter's voice at three years old, telling him she loves him. Scan it and he hears her exactly as she sounded then, a voice he'll never hear again once she's grown. That's the moment InkStory is built around: the small thing everyone tells you to remember, kept somewhere you can't lose it.

The challenge

Computer vision hit a ceiling, Unity felt too closed

The first build attempt used OpenCV and traditional computer vision, running image recognition client-side with no GPU or dedicated chip to lean on. It was CPU-bound and it showed. Unity came next, and it didn't fit either. Sergey found it too closed for his taste: it wanted him building on its terms rather than his.

He came across ViroReact by chance while looking for a way out of both dead ends, and it was the first option that let him stay inside a normal React Native project instead of learning a new engine from scratch.

Why ReactVision

Early enough to help shape it

Sergey started building during the handover from the community-run ViroReact to ReactVision as a company. Half the documentation was still missing at that point. Eduardo was watching pull requests directly and pulling people into Discord to help test things as they landed.

Sergey ended up contributing back himself, including screen sharing support that simply didn't exist yet. Once it shipped, sharing picked up, and so did everything downstream of it.

5-10 → 100-150
Signups per month, after screen sharing shipped
"ViroReact is much more than just a library for AR. It's an entire platform."
Sergey ZelenovSergey ZelenovBuilder, InkStory
How the build went

Quick start, honest middle

The first screen was working within a day or two. That early speed is what kept him going. The library at the time was built with fully immersive experiences in mind rather than apps with multiple screens, so attaching and detaching AR from the screen lifecycle caused crashes early on. Being open source meant that wasn't a dead end either. Fixes got reviewed and merged fast, by Sergey and by other people running into the same wall.

Feature creep crept in the way it always does, and a migration to Expo added real time on top. Nothing dramatic, just the slow middle stretch that most side projects hit once the exciting part is done and the actual product is left to build.

The InkStory website: 'Ink Deeper Than Your Skin', with a phone scanning a tattoo to play back its linked audio.
InkStory shipped to iOS and Android from one React Native codebase. Link music, audio, or video to a tattoo, then scan it to play it back.
"A platform to create AR and VR applications and apply your imagination. Create something real, something people can use and touch and enjoy."
Sergey ZelenovSergey ZelenovBuilder, InkStory
What's next

A second app, three weeks, same stack

Sergey's already shipped a second project on ReactVision. LilyBee takes a drawing his daughter makes and turns it into a short video with AI, so a rabbit or a bee she's drawn can come alive on the page. It's live in the app stores already. He built the whole thing himself, app, website, video pipeline, Stripe payments, in about three weeks of weekends alongside the day job. Right now the focus is polish and a proper Product Hunt launch.

For InkStory, he's looking at AI pipeline integration, custom 3D animations, and further out, something closer to mixed-reality “tattoo worlds”. He's run a startup before and knows exactly what turns a project into a job he doesn't want. For now this stays something he builds because he wants to, and he's open to more if it finds its own pull rather than forcing it.

InkStory
InkStory

Link music, audio, and video to your tattoos. Scan with your phone and hear your ink.

Building a consumer AR app?

ReactVision gives React Native developers everything they need to build and ship AR and VR. No game engine required.