Explainer videos that never go stale.
niiro reads your frontend code, rebuilds your interface and explains it. Change something, and the video changes with it.
Made from code, playing on the right
How it works
Four steps, and the fourth leads back to the first.
You decide what niiro sees. Everything after that runs on its own.
$$$
Step four is step one again. Nothing gets set up twice.
- 01
niiro push
An allowlist in your config decides which paths leave your machine. Encrypted, scanned for secrets, never built, never executed.
Or let your coding agent set it up - 02
Analysis
niiro maps your components, flows and wording, and reports back what it understood.
- 03
Three proposals
Concrete videos for your product, built from your real screens. You pick one.
- 04
Next release
The next push shows which modules went stale. Back to step one, without you starting over.
Examples
Three products, three interfaces, three explainer videos.
Invented companies, real code. Chapters, captions and voice in English, Spanish and German.
Fourteen supplier invoices, a hundred and thirty-two thousand euros open, and posting period zero seven.
Updates
One component changes. The video follows.
niiro knows which source file every scene came from. That is what makes an update cheap.
A commit renames a status.
const labels: Record<InvoiceStatus, string> = {- pending: "Needs review",+ pending: "Awaiting approval",approved: "Approved",};
The hash comparison against the provenance manifests finds the candidates, the model rates each diff.
Overview
- intro
- invoice-list
- filters
Review
- invoice-detail
- status-badgevisually affected
- review-queue
Approve
- approve-dialogwording affected
- confirmation
- outro
Seven modules stay unchanged and keep their scenes, their audio and their render.
Two modules are rebuilt, the chapter marks move.
0:00
1:04
2:18 (was 2:12)
Same video, same URL, six seconds longer. Nothing to re-embed.
Two of nine modules new. The rest stays.
That is why niiro bills per module: an update costs what actually changed, not a new video.
Who it is for
You ship every week. A video shoot does not.
Small teams, fast releases, a product that looks different every month. The alternative is not another tool, it is doing it yourself, every time.
Today
- Record the screen
- Cut it
- Record the voice-over
- Send it out for translation
- Next release, start over
Half a day per video, once per language.
With niiro
- niiro push
- Pick a proposal
- Approve it
- Three languages included
- Next release, it follows
One review, three languages out.
Where it lands
A video is only worth something where people look.
Embed it once. When the product changes, the embed carries the new version.
Guides / Invoices
Import invoices in bulk
Upload a CSV, map the columns once, approve the run.
March 4
Bulk import for invoices
Column mapping is now saved per vendor.
Invoices, approved in minutes
MP4 · captions per language · chapters · transcript · embed snippet
Control
You decide what niiro sees.
One allowlist in your repo decides what goes up. What is not in it never leaves your machine.
You write the paths.
project: acme-webinclude:- src/components/**- src/app/**- src/styles/**- tailwind.config.tsexclude:- "**/*.test.*"- "**/__mocks__/**"
Excluded even when a path matches: .env files, lockfiles, keys, anything over 5 MB.
The push tells you what it sent.
$ npx niiro pushsrc/components/** 112 filessrc/app/** 31 filessrc/styles/** 4 filestailwind.config.ts 1 fileSecret scan (gitleaks): cleanEncrypted with the acme-web keySynced 148 files, 12 uploaded, 2.4s
The project token is write-only. It can push a snapshot, it can never read one.
- Nevercompiled or bundled
- Neverexecuted, not a single line
- Neverused to train models
- Nevershared across tenants
Data flow, encryption and deletion periods in detail: trust center
Agent-native
Let your coding agent set it up.
The docs are written for agents. Copy the prompt into Claude Code or Codex.
Read https://niiro.io/llms.txt first, then set up niiro in this repo. 1. Run `npx niiro init` and fill niiro.yml with the paths that hold our UI: components, routes, theme and styles. Nothing else. 2. Show me which files that allowlist resolves to. 3. Run `npx niiro push` and report the file count, the secret scan result and the project id.
The agent writes niiro.yml, runs the push and reports back. You read nothing.
- llms.txt
- Curated link list to every documentation page as markdown.
- llms-full.txt
- The whole documentation in one file, regenerated on every deploy.
- niiro-mcp
- The same commands as MCP tools, plus video status, affected videos and new orders.
Pricing
Start without talking to sales.
A monthly plan with an allowance, plus credit you top up when you need more.
Estimated launch prices
Trial
0 EUR
no card
- Analysis of your repo
- Understood report
- Short preview of your own app
Starter
49 EUR
per month
- Around two videos
- One language
- Updates included
Growth
199 EUR
per month
- Around eight videos
- Three languages
- Embed player
- CI hook
Scale
599 EUR
per month
- Around thirty videos
- All languages
- Priority in the queue
The monthly allowance expires, top-ups do not. Every expensive run shows an estimate first.
Analysis, report and preview are free. The first finished video is part of Starter.
Questions
What people ask first.
Which frameworks do you support?
Anything that renders to HTML and CSS. React, Next.js, Vue, Svelte and Angular are covered; monorepos are fine because you point at paths, not at a build.
What happens to our code?
It is stored encrypted under a key of its own and read as reference material, never built and never executed. When you cancel, the data goes immediately and the key after seven days.
How close is the replica?
Classes, spacing, colours and fonts are taken over literally from your code. The data in the scenes is invented and fits your domain.
How long does the first video take?
Analysis and proposals within minutes. The first finished video goes through a human review before you see it.
What does an update cost?
Only the modules that actually changed are regenerated, so an update is a fraction of the first run.
Who owns the video?
You do. You can download, host and edit it, including after you cancel.
Can we change the script?
Yes. The transcript is editable, and the voice is regenerated for the changed section only.
What about screens behind a login?
They work, because niiro reads code instead of visiting your app. No credentials are needed.