In the summer of 2018, Anton, a great engineer, and my future co-founder, and I was thinking about how we could improve the livestreaming industry and make the process better for the broadcasters, as well as more appealing for the viewers.

After a while, Anton made a small prototype that we saw potential in, and that's how we started working on the app, which we called FrameNinja.

What is it?

FrameNinja is a set of tools that allows streamers to create animated widgets and scripts for interacting with their audience, as well as having essential control panel over the broadcast and community.

What problem we've been trying to solve?

We were big fans of interactive livestreaming, as well as big haters of all the known and existing solutions. — They were all super outdated, terribly archaic, and mostly useless when it comes to creating something unique and not "by the book".

So, the desire to create our own interactive widgets, without any limits and having to code, led us to the idea of creating a toolset that could make it doable.

You can also learn more about what's wrong with the industry and what fundamental parts we've tried to rethink, in my essay Community Seeking

It's reflects our entire philosophy and will give you the most accurate understanding of what we believe in.

But for now...

The way it works

We created a great 6-minute video that perfectly describes all the features and potential of the app:

But here's in a nutshell:


The epicenter of the entire app has been Chains. Here streamers can connect different commands with each other, thus creating scenarios.

Here's what it looked like when Anton made our first prototype:

And here's what it finally turned into:

In the editor, creators can change the name, hotkey, control variables, and add commands.

During the first months of development, the editor has changed dramatically several times. The main problem we had was how difficult it is to separate workspaces so as not to overload the interface.

Eventually, we came to the idea of making a different area for the command bar to separate it from the variables and other settings.


  • Not comfortable to use when you have more than 4-5 commands. It's easy to get lost — the best solution would be to switch from a vertical to a horizontal canvas.
  • A lot of confusing variable types when using for the first time.
  • Some elements are not obvious, such as a checkbox next to the text inputs (in fact, they has been made so you can write text as in a normal input, if necessary)

After a long time thinking about how to make a section that would let streamers run Chains automatically when a certain condition or event occurs, we invented the Scripts tab.

When creating a new script, you can select one of the numerous triggers

Each trigger has its own special conditions you can use to make more complex scenarios

And here's video explanation:


For cases when creator wants Chains to start automatically every X minutes, we've created the Autoruns tab.

We used almost the same layout as in the Scripts, but added an additional switcher, using which streamers can disable all autoruns at once.

On the top bar, we also added a checkbox that allows Autoruns work only when you go live.

Another cool explainer:


We loved the concept that you can connect multiple commands, thus creating some sort of chain of actions. And at some point we thought, why not do the same for the chat?

Sticking with the idea for a while, we added the ability to have a flexible configuration of displayed messages, which allowed to have much more complex scenarios.

For instance, a scenario where you only see messages from those who won the raffle, and as a streamer, you can easily see what the winner writes and not lose the context.


At some point it became clear that not all users are ready to use all the built-in functionality, so we had to come up with a solution that could let them stay on the same page with everyone.

Hence we created a Gallery tab that allows streamers to use templates with the most common use cases and configure everything via simple fields.

Community Building

Video Tutorials

When you're building a tool for creators, it's important to work on how they'll explore and learn your app. So after going through several options of how to educate our users, we came to what worked best — full-fledged video tutorials.

For example:

You can find the entire series of our tutorials in this → playlist.
Community Showcases

Thanks to the help of Criken, a famous livestreamer and content creator, who mentioned FrameNinja on his Twitter, we got access to hundreds of variety streamers that started crafting incredible things using the app.

We've shown some of them on our Twitter:

Major Events

Apart from supporting third-party creators, we also created our own shows in collaboration with big entertainers. Here are a few examples:

Name your Pokémon

The first significant show we worked on was a series of livestreams where viewers could give names to Pokemons using an interactive raffle system we made together with Criken.

24-hr Subathon

After that, we continued working alongside and put together an entirely new system, including sub timer and automatic milestones check, for the 24-hour live marathon.

World of Warcraft

The biggest show so far that we've ever done is a collaboration of a dozen streamers who played together in World of Warcraft. We created a system that allowed them to show information about their characters, as well as arrange fun voting sessions.

Another significant milestone has been the streamers that use FrameNinja occupied most of the popular streams on Twitch's page:

What went wrong?

Missing features and UX problems

Sometimes when you create a brand new product you focus on the things that you would like to have in the first place. And even if you have early adopters, they usually don't show the actual big picture either, hence they are most likely just a reflection of your own actions since you trained them, and not really let them sink in.

This is what led us to lack of important features when a large number of streamers started using the app.

And one of the main missing features was the ability to share ready-made sets of chains, scripts, and other presets with each other. Turned out, many creators don't have time to create everything on their own and it's easier to pay or ask someone to do it instead.

Unfortunately, FrameNinja didn't allow them to do it so easily and seamlessly, as they wanted.

Another omission was our error in designing and creating a more accessible link between different functions and tabs. Over time it's just become overloaded, and it was simply hard to figure out how you can do anything.

Wrong audience

From the very beginning, we wanted to focus on small creators, as we believed they would be most interested in a new format in order to stand out from other well-known streamers. But when we started inviting everyone to the app, we quickly came to the conclusion that small creators are not ready to use the new tools because they don't think it will help them.

Suddenly, we discovered an interest in using our tools from famous streamers.

Initially, our thoughts were based on the fact that well-known streamers don't really need anything new since they already have huge viewership. But, turned out, big streamers are the ones who actually want to use and have new "unusual things" on their broadcasts. Moreover, after several tests and collaborations with big creators, we discovered that small streamers began to be interested too, and only because of big streamers' actions.

So what's the problem? The main difference between small and large streamers has been time. Well-known and big creators didn't have time to use the tools themselves, even if they would like to have such interactive widgets and scripts. Worse, the app wasn't intended to be used in the way of using ready-made setups, so eventually, big creators simply abandoned the idea of using it on a permanent basis due to the complexity, high entry threshold, and lack of personal time to create and maintain their own interactive items, so it became hard to scale and growth.

Technical Issues

The technical difficulties in such a huge and complex project were obvious. When we released new features or bug-fixed old ones, we accidentally broke something else. What's worse, we made critical errors that could stress the creator's computer (CPU load @_@) to the level of a blue screen and reboot the machine right during the broadcast (due to a large number of viewers and chat activity).

The bright side was that we came up with some ideas how we could rewrite the core to avoid this in the future. And now I just hope that the future will come :)

Author's note

As of the beginning of 2020, FrameNinja has been temporarily suspended, and we're currently working on a new livestreaming-related product, which should solve the problems we've had and reach the proper level we've always wanted. Stay tuned!
If you have any questions about livestreaming or business and product development, you can shoot me a message or slide into my Twitter DMs.
Always happy to chat!