niiro

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

Inbox

14 invoices · 132.226,44 EUR open · period 07/2026
InboxExceptionsDiscount expiring
SupplierDescriptionJobNetVATGrossDueGL / CCStatus
Studio Halbfett GmbH
RE-2026-0871
Motion Design Sprint 3P-2026-1188.400,0019 %9.996,0015.07.20263100 / 5000Price variance +5,0 %
Beacon Ads Ireland Ltd.
IE-INV-2026-06-448210
Media spend June 2026AURA-26-01727.480,35RC § 13b27.480,3507.07.20263100 / 6000Blocked, client funding
Papierwerk Druck & Medien
1120346
Plakate DIN A0, 2.400 Stk.AURA-26-0173.870,0019 %4.605,3024.07.20264600 / 5000Discount ends in 2 days
Tonhalle Audio UG
R2026-121
Sound Design & MixP-2026-1183.200,0019 %3.808,0020.07.20263100 / 5000Duplicate suspected
Sabine Krug Fotografie
08/2026
Shooting Berlin, 2 TageVELO-26-0022.850,0019 %3.391,5029.07.20263100 / 5000Supplier not found
Sundeck Studios Oy
2026/0342
Photo production HelsinkiMERI-26-00412.600,00RC § 13b12.600,0012.07.20263100 / 5000Over tolerance +8,6 %
Bureau Lumière SARL
FA2026-0517
Retainer Juli, Design Support3 Jobs5.500,00RC § 13b5.500,0031.07.20263100 / 2000Needs review, +12 %
Mira Feldkamp
2026-034
Art Direction 12 TageP-2026-1184.200,00§ 194.200,0022.07.20263100 / 2100Approved for payment
Cloudgraph Systems B.V.
NL-2026-88121
Creative Suite, 42 seats2.184,00RC § 13b2.184,0005.07.20264960 / 7000Auto-approved, recurring
Kastanienhof Coworking
MV-2026-07-014
Büromiete Juli, 1. OG9.450,0019 %11.245,5003.07.20264210 / 8000Scheduled 03.07.
Rechtsanwälte Bergmann & Voß
26/0455
Prüfung Rahmenvertrag Aura1.980,0019 %2.356,2017.07.20264957 / 8000Approved for payment
Kantine Nord GmbH
K-2026-06-77
Catering Kickoff, 24 Pers.NB-2026-041612,007 % / 19 %700,4408.07.20264650 / 9000Pending approval
Typefoundry Kollektiv e.K.
TK-26-00412
Schriftlizenz Web, 5 JahreAURA-26-0171.450,0019 %1.725,5011.07.20264600 / 2100Paid, company card
Vitrine Event GmbH
AR-8827-2026
Messestand Aufbau, GutschriftVELO-26-002−2.100,0019 %−2.499,003100 / 5000Credit note received
LedgerlyApprove an invoice

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.

  1. 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
  2. 02

    Analysis

    niiro maps your components, flows and wording, and reports back what it understood.

  3. 03

    Three proposals

    Concrete videos for your product, built from your real screens. You pick one.

  4. 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.

Inbox

14 invoices · 132.226,44 EUR open · period 07/2026
InboxExceptionsDiscount expiring
SupplierDescriptionJobNetVATGrossDueGL / CCStatus
Studio Halbfett GmbH
RE-2026-0871
Motion Design Sprint 3P-2026-1188.400,0019 %9.996,0015.07.20263100 / 5000Price variance +5,0 %
Beacon Ads Ireland Ltd.
IE-INV-2026-06-448210
Media spend June 2026AURA-26-01727.480,35RC § 13b27.480,3507.07.20263100 / 6000Blocked, client funding
Papierwerk Druck & Medien
1120346
Plakate DIN A0, 2.400 Stk.AURA-26-0173.870,0019 %4.605,3024.07.20264600 / 5000Discount ends in 2 days
Tonhalle Audio UG
R2026-121
Sound Design & MixP-2026-1183.200,0019 %3.808,0020.07.20263100 / 5000Duplicate suspected
Sabine Krug Fotografie
08/2026
Shooting Berlin, 2 TageVELO-26-0022.850,0019 %3.391,5029.07.20263100 / 5000Supplier not found
Sundeck Studios Oy
2026/0342
Photo production HelsinkiMERI-26-00412.600,00RC § 13b12.600,0012.07.20263100 / 5000Over tolerance +8,6 %
Bureau Lumière SARL
FA2026-0517
Retainer Juli, Design Support3 Jobs5.500,00RC § 13b5.500,0031.07.20263100 / 2000Needs review, +12 %
Mira Feldkamp
2026-034
Art Direction 12 TageP-2026-1184.200,00§ 194.200,0022.07.20263100 / 2100Approved for payment
Cloudgraph Systems B.V.
NL-2026-88121
Creative Suite, 42 seats2.184,00RC § 13b2.184,0005.07.20264960 / 7000Auto-approved, recurring
Kastanienhof Coworking
MV-2026-07-014
Büromiete Juli, 1. OG9.450,0019 %11.245,5003.07.20264210 / 8000Scheduled 03.07.
Rechtsanwälte Bergmann & Voß
26/0455
Prüfung Rahmenvertrag Aura1.980,0019 %2.356,2017.07.20264957 / 8000Approved for payment
Kantine Nord GmbH
K-2026-06-77
Catering Kickoff, 24 Pers.NB-2026-041612,007 % / 19 %700,4408.07.20264650 / 9000Pending approval
Typefoundry Kollektiv e.K.
TK-26-00412
Schriftlizenz Web, 5 JahreAURA-26-0171.450,0019 %1.725,5011.07.20264600 / 2100Paid, company card
Vitrine Event GmbH
AR-8827-2026
Messestand Aufbau, GutschriftVELO-26-002−2.100,0019 %−2.499,003100 / 5000Credit note received

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.

src/components/StatusBadge.tsx
 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.

Overview

0:00

Review

1:04

Approve

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.

Ledgerly Docs
Getting started
Invoices
Bulk import
API

Guides / Invoices

Import invoices in bulk

Upload a CSV, map the columns once, approve the run.

EN · DE · ES2:10
Upload
Mapping
Approval
Docs page
Ledgerly
InvoicesVendorsPayments

Step 2 of 4

Approve your first invoice

EN · DE · ES2:10
Skip
In-product onboarding
Ledgerly Changelogv2.14

March 4

Bulk import for invoices

Column mapping is now saved per vendor.

EN · DE · ES2:10
Changelog entry
Ledgerly SupportMara · Support
How do I import 300 invoices at once?
Ninety seconds, chapter 2 covers the mapping:
EN · DE · ES2:10
Support reply
Ledgerly
ProductPricingDocsStart free

Invoices, approved in minutes

EN · DE · ES2:10
Landing page

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.

niiro.yml
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.

Setup prompt
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.

See what niiro makes of your code.

No newsletter.