Workflow-grounded personas · v1

Forty-two people who already use the engine.

This is not a market-research deck. It is a library of 28 workflow-grounded personas and 14 strategic typologies written against the engine's real surface area — named routes, named presets, named transitions, named limits. For a project planner, it is a constraint map disguised as a cast list.

28
workflow personas, each touching 3+ surfaces
11
named surfaces in the coverage matrix
14
strategic typologies for thinking, not targeting
2
layers: what users touch vs. who you think with

01 — Orientation

Three libraries live in one directory. Only two ship.

Before you plan against this, know which layer you are reading. They are built with different intents, and conflating them is the fastest way to misuse the set.

SHIPS 28

Workflow-grounded personas

Real workflows against real surfaces. Each names the routes, presets, transitions and capabilities they actually touch — /engine, /versions/film.html, kraft, whip-blur, BPM detection, the 12-bin chromagram, MediaRecorder WebM export, magic-link login.

Grouped as 10 per-surface · 5 cross-cutting · 13 domain.

SHIPS 14

Strategic typologies

Roles the engine's creator thinks with, not users to market to. Every section is reframed around how the typology would push his own work forward. No "what they would click."

Four modes: Auditor · Practitioner · Broker · Cross.

CANCELLED 8

Abandoned consumer personas

A granular end-user library (buskers, beatmakers, real-estate agents, AR business-card designers) started and cancelled at the creator's request. Kept on disk under marketing/personas/abandoned/ as a record — explicitly not part of the deliverable.

Do not plan against this layer.

02 — The surface area

Eleven surfaces. Every persona is a path through them.

This is the spine of the library. A planner should read the surface, not the persona, first — the surface tells you what breaks and who notices. Click any card to filter the persona index below.

Storyboard engine (SB) is planned — seven personas design against it anyway, which is a signal worth carrying into planning.

03 — Anatomy

Eight sections, one argument.

Every workflow persona uses the same template. Learn it once and you can scan all 28 in minutes — the useful fields are "a typical session" and "what would make them leave."

Slug + surfacesThe route key and which of the 11 surfaces the persona genuinely touches. A 3+ minimum, enforced by the coverage matrix.
Who they areSecond person, with a toolbelt — the software they already pay for and the habit that predates the engine.
What they wantThe job to be done, stated as a workflow with an obvious end (a client approval, a lecture, an archive drop).
Why each surfaceA numbered list of surfaces with the reason attached. This is where route names, presets and transitions appear.
A typical session90–180 minutes, step by step, always ending in an "almost quit at step N" moment. The near-abandonment is the most valuable line in the file.
What they'd pay forScope and pricing shape, plus the thing they explicitly refuse to pay for. One-time purchase vs. subscription is a real signal.
What makes them leaveThe single most actionable field. A refusal, and the concession they will tolerate forever.
QuoteOne sentence in their voice that names the surfaces they trust. Read all 28 quotes in a row and you get the product thesis.

04 — Coverage

Which surfaces carry the most weight.

Count of the 28 workflow personas touching each surface. For a planner this is a blast-radius map: change the top two surfaces and you have changed the library.

The two poles

Presets (22) and the recorder (20) are the most-touched surfaces — and the two with the cleanest mental models (an anchor map, a WebM file). The engine core sits just behind at 20: connective tissue almost every workflow passes through, rarely anyone's primary surface.

The thin edge

Projects/auth is touched by only 6 personas — the smallest set, with the strongest signal: every one of them trusts the magic-link login specifically, and none would accept OAuth as a substitute.

The quiet signal

The 14-FX pipeline is touched by 10 personas — and in 7 of those, chroma is the exact uniform they push. It is the single most-named specific feature in the whole library.

05 — Index

Find the person who will file the bug.

Filter by surface or search by name and one-line. Start from the surface you are about to change.

06 — Signals

What the library noticed about itself.

Both READMEs close with a "what we noticed" pass. These are the findings a planner should treat as constraints.

Two audiences, one engine

Of the 7 storyboard personas, only 4 also touch the recorder. The other 3 treat the storyboard as a planning artifact, not a render target. Storyboard-first users are not recorder-first users.

Transitions are a vocabulary, not a metronome

All 9 transition users fire them manually, on phrase boundaries. Every one of them would leave if the engine started auto-firing on every bar.

AR splits into two camps — same demand

Take-home loops (curator, therapist) vs. merch-table posters (touring visualist, poster maker). Both insist on no-login share links. The 5-second record limit is a shared tolerance, not a complaint.

The chromagram is ground truth

Audio analysis is overwhelmingly used as a sanity check on the 12-bin chromagram, not the BPM. Two personas use it as a primary surface; the other eight use it to validate another surface's claim.

The library is metadata, not a folder

Six of the 14 library users re-tag assets or constrain the ShotPicker to a tag bucket. Nobody's problem is browsing.

Record-and-re-record is a feature

Three personas explicitly capture multiple takes and pick the best. They would leave if the engine started auto-picking a single take.

Refusal is the feature

Three personas flatly refuse any "smart" auto-correction or "trust the AI" pass. The engine's refusal to smooth the surface is a feature for them, not a limitation.

Three typologies want it unfinished

The designer, the philosopher and the multisystem specialist leave the moment the engine starts hiding its seams — a real constraint on any redesign that smooths the surface.

The loudest anti-signal

Five typologies (meditator, author, music tutor, musician, writer) have zero tolerance for popups, notifications, nudges, streaks or share-prompts. The largest single signal about who not to please.

07 — Playbook

How to actually use this in a project.

STEP 01

Name the surface before the feature

Write the spec against ENG, VER, FX, TX, AR, SB, REC, PST, AAP, LIB or AUD. If a feature does not land on a surface, no persona in this library can validate it.

STEP 02

Pull everyone who touches it

Use the coverage matrix as the invite list. Changing presets means 22 stakeholders. Changing auth means 6 — but all six are immovable on the mechanism.

STEP 03

Read the session, not the bio

"A typical session" tells you where the workflow breaks today — usually the almost quit line. That is your real acceptance test, and it is usually not a crash.

STEP 04

Treat "leave" as a hard requirement

These are non-negotiables, not preferences. Write them as regression tests.

The guardrails, in one place

Each line is a documented abandonment condition from the files.

Never gate a share link

The AR loop (8 personas) fails the moment viewing requires a login. The link must open for someone with no account — that is the entire point of sending it.

Never replace magic-link with OAuth

All 6 projects/auth personas would leave. Venue laptops, hospital firewalls and agency procurement do not support it.

Never collapse the variants

26+ visual styles stay peers. A "theme picker" dropdown or a single mood dropdown drops the variant collector, the touring visualist, the anchor curator and the live VJ.

Never auto-fire a transition

The silence between transitions is the work. Auto-firing on every bar costs you all 9 transition users.

Never hide the auto-picker

A "trust the AI" button, or an auto-correction that snaps a detected key to a diatonic default, removes the override workflow that is the whole reason these people came.

Never drop WebM

The recorder's MediaRecorder → WebM path is the assumption under every downstream ffmpeg, Vimeo, SoundCloud and archive pipeline in the library.

No notifications, no streaks

The largest single signal in the strategic set: five typologies have zero tolerance for nudges or share-prompts.

No auto-tagging model

The chromagram is treated as ground truth; a model guessing tags from clip content would be wrong ~20% of the time and cost you the tag janitor.

Keep the mobile-only AR constraint

"Use a mobile device for live AR" is read as honest, not broken. It is a tolerated limitation forever — do not "fix" it into a login or a desktop fallback.

Open question the directory raises

"What is the engine refusing to do, and is the refusal deliberate?"

The strategic README flags this as the most actionable item in the set: the typologies converge on it, and no public answer exists. For a planner, it is the question that determines whether the next release is a design decision or a surrender.

Partial answer found in section 11. The live product does document deliberate refusals — zero backend, no install, no render farm, no ffmpeg.wasm. But the same pages add new refusals the persona library never saw, and at least one of them contradicts a documented persona tolerance.

08 — The live product

What is actually running at the domain.

Everything below is from the deployed site at sainted-word-records.vercel.app — landing, campaign, profit-plan, market-study and the versions/status page. Author on all pages: Kai Djuric.

15.6k
engine HTML (gz)

The whole engine, one HTML file. No node_modules for the user.

5
FFT bands

Bass, mid, treble, air, sub — plus rms, centroid, beat, onset, bpm in the feature set.

6
layers

Each with its own blend mode and a stack of reactors. Bindings, not keyframes.

27
library items

Demo assets. Auto-classified by motion, luma and mean hue, then routed to a role.

0
backend

No API keys, no external services, no server-side render. MIT license on the source.

What the engine does

Most visualizers just react to the spectrum. This one classifies every asset — motion, brightness, hue — and routes each one to the band of the song that suits it. The composition is algorithmic; the score is the audio.

beat detectBass-energy tracker with an adaptive threshold. Locks BPM, fires an envelope every kick, decays gracefully — works on techno, jazz, and spoken word.
RE-MAPAuto-mapper picks from top candidates weighted by score and shuffles blend order. Every click yields a new composition.
exportCanvas captured via MediaRecorder at 30 fps, H.264 + AAC, 8 Mbps. No ffmpeg.wasm, no server, no transcode — the file plays in any editor.
library dropDrop any number of PNG/JPEG/MP4/MP3/WAV files. Images pass through an asset curator (chroma-key on a uniform background, then a local tag heuristic); a live chip per file shows the verdict.

The 5 named versions

Single-file variants of the same engine. Same controls, same library, same MP4 export.

01NeonElectric magenta/cyan, screen-blend stacks, sharp easings, scanlines. Cuts on the beat, not after it.
02FilmSepia, 16mm per-pixel grain, soft vignette, slow drift, smooth easings.
03GridMonochrome 2×2 + half-cell, snap to beat, binary easings — on or off only.
04SmokeCream warm, heavy blur, everything at 0.5 opacity. The song moves through fog.
05HallucinationEvery reactor maxed. RGB channel shift, lighter + difference blends, noise canvas overlay.

The funnel as published

FREE

Test in browser · limited demo library · 10-second watermarked clip · 1–2 styles · self-serve, no support.

SERVICE

No watermark · 10/15/30/60s or full song · all 5 styles · custom artwork · higher-quality exports · commercial rights · 9:16 + 1:1 + 16:9.

LICENCE

Pay once, no subscription · render credits that never expire · watermark removed · persistent IndexedDB library · 1–2 years of updates by tier.

Stated rationale for credits over subscription: indie musicians ship irregularly — four singles, then six months of nothing. A subscription punishes them for not shipping.

Three pages, three different stories

A planner should read these as one funnel in tension rather than one coherent pitch. Each page frames the product for a different reader.

landing.html

The engine is the product

Three creator paths (musician / designer / mixed-media). Self-serve, open source, MIT, "drop a song, hit REC." 8 named user profiles, each pointed at one of the 5 versions.

campaign.html

The finished MP4 is the product

"Sell promotion-ready videos, not an audio-reactive visual engine. The engine is your competitive advantage — it is not the thing they buy." Five curated media sets, €25–€75 service tiers, €120–€600 licence tiers.

profit-plan.html

Five vectors, ranked by speed

Market-study paywall first (page already exists), then per-video service, library presets, visual commissions, and a hosted $8/mo tier as the Q1 groundwork.

09 — Release history

Six releases in eighteen days, then a self-evolving engine.

The published status page is the source of truth for what is live, deprecated and next. It also documents a late change that no persona in the library was written against.

v1.0 · self-evolving 2026-08-17 · build a3f2 LATEST

The engine creates new audio-reactive personalities on its own. A daily cloud pipeline ships 2 fresh presets every morning (10 shaders × 8 palettes × 7 motions), the engine ingests them on load, and after 3 uses of a single persona it mutates a personalised variant tuned to your song's BPM and key.

cron 0 9 * * * /presets/manifest.json on-device mutation ★ personal badge cron auto-deploy to Vercel
v0.9 · engine upgrade option2026-08-14 · build fec5c2

The engine stops being a static visualizer. Manifest endpoint, a presets.client.js ingest layer (load / diff / markSeen / apply), a "N new personalit*" pill in the footer, macOS crontab, and automated Vite deploy.

v0.7 · URL restructure2026-08-14 · build e71200

Splash at /, app at /engine/, no index.html at root. PWA launches straight into the app. Service worker bumped to swr-v2 to invalidate the old cache.

v0.6 · 12 visual styles2026-08-12 · build 7617b1c

Each style is a self-contained engine variant at /versions/*.html with its own GLSL post-process pass. Same WebGL pipeline, different uniforms plus a page-specific effect function. One GLSL with a switch on u_page (0..5).

v0.5 · first play2026-08-07 · build 8592b42

The engine works. Drop a song, drop a library, get a music video. WebGL post-process with 14 FX uniforms (temp, mut, chroma, vignette, grain, sepia, glow, blur, grayscale, posterize…), audio features (bass / mid / treble / air / sub / rms / centroid / beat / onset / bpm), MediaRecorder MP4 export, and project save/load.

v0.1 · initial commit2026-07-31

First commit. Single HTML file, two layers, one shader pass. "The idea is simple: a music video shouldn't require an editor, a renderer, or a render farm."

"We ship new personalities every morning."

This is the single largest addition the persona library never saw. It replaces the fixed preset set the personas were written against with a container that ingests fresh presets daily and mutates a personal variant after three uses.

Read against the strategic set, it is a direct hit on the largest documented anti-signal: five typologies have zero tolerance for popups, notifications or nudges. A daily-arriving gold pill is exactly that mechanism. And read against the live VJ, whose anchor map is a hand-authored set list, a pipeline that ships presets overnight means the map is a moving target.

The preset is a container

Schema swr-preset/v1 — 12 required fields, 3 optional. Validated by preset-pipeline/verify.mjs (20/20 checks).

requiredid · schema · name · family · shader · palette · motion · fx · reactivity · tags · created · seed
optional_meta (basePersona / usageCount / bpmAvg / key) · color · parent

A preset is a complete FX state + a palette + an audio-reactive mapping. swr-preset/v1.5 is drafted for Q3 2026: an LLM-curated novelty pass plus a cross-engine compatibility field.

The house style is one thing, the naming is not

Four places on the site count the visual styles differently. For a planner this is the cheapest concrete inconsistency to fix, and it is worth fixing before anything is marketed by count.

5

Named, described, with a dedicated directory page: Neon, Film, Grid, Smoke, Hallucination.

landing · campaign · "5 visual languages"

12

The v0.6 release entry: neon, film, grid, smoke, hallucination, glitch, aurora, pulse, void, chrome, watercolor, fractal (+ eclipse legacy).

versions · "12 visual styles"

22

The live-state probing value on the status page: "22 per-page GLSL".

versions · live state panel

25

Every named style in the Visual styles list — including whole surfaces that are not styles at all.

versions · "25 self-contained engine variants"

The list mixes two categories

A preset is a look. A page is a tool. They are listed in the same breath.

LOOKS — sensible to count as styles
neon film grid smoke hallucination glitch aurora pulse void chrome watercolor fractal eclipse baroque gallery kraft mosaic phosphor spectrum tape music video collage
SURFACES — not styles at all
AR Animation Loop — drop a GIF, see it loop in your space via markerless AR. One-click 5s WebM capture.
Photo Studio — drop photos, each beat advances with a crossfade, Ken Burns per shot.
Engine Dashboard — production dashboard with the engine behind the canvas, three-column layout.
ECHO · Manifold 5.0 — 30 generative formulas, 5 modes, WebAudio only, no library and no media.
Hologram — music-video hologram branch, arrow/digit keyboard cycling.

Read against the persona library, that count is not cosmetic: "the 26 variants stay peers" is a documented abandonment condition for several personas. A planner cannot scope "keep the variants" until the set has one definition.

10 — Route map

The site has its own route structure, and it does not match the 11 surfaces.

The persona library works in abstract surface codes (ENG, PST, REC…). The shipped site uses real paths. Below is the real map, grouped by function, followed by the specific places where the two disagree.

Engine & app

6 pages

/engine — main engine · 273 KB · 2026-09-11
/engine app shell — PWA with presets, projects, cloud sync · 377 KB
/versions — all 5 versions, side by side · 49 KB
/demos — every engine preset with a live thumb
gif→svg — hand-traced animated SVG, no server, no Wasm
make-a-video — step-by-step maker, MP4 export

Galleries

19 pages

music generative cosmic bio glyphs VR photo experiments dark future brutalist Bachdrop posters albums video FX T-shirts artist Point4 brand personas ruthless-plan intro

Commercial

the funnel

/ — landing, the public homepage
campaign — service offer, €25–€75
profit-plan — 90-day revenue model
market-study — gated $5 PDF teaser
marketplace — .swr-set templates
portfolio — five curated sets in action
weddings — curated playlists, maker pre-loaded

Route-level conflicts, worth resolving before the next release

/market-study

The paywall is a client-side localStorage stub — fully bypassable with one DevTools edit. The profit plan flags this itself as Risk 1 and says ship real Stripe / Lemon Squeezy with server-side verification, "not just a CSS flag flip."

/ar-loop

The persona library's most-cited abandonment condition is a login-gated share link. The site does not list /ar-loop among its public routes at all — the AR surface exists as a style entry and in persona workflows, but has no discoverable entry point on the homepage. That is a gap between the strongest persona signal and the shipped navigation.

/personas

The live site ships its own personas page describing 8 personas with concrete starting points. The engine licence page advertises 23 personas. The directory you are reading holds 28 workflow + 14 strategic. Three different persona counts are public at once — a planner needs one canonical answer before any persona-led marketing.

/ecosystem

Galleries include surfaces far outside the audio-reactive core — T-shirts, posters, album art, VR, glyphs, a Point4 brand system, even a weddings vertical. The route budget is already wider than the campaign's stated niche (indie musicians and bedroom producers), and the profit plan's ads warning applies directly: broad surfaces dilute a narrow service pitch.

11 — Revenue, market & risk

How this is meant to make money, and where the personas push back.

The site publishes a service offer, a licence offer, a five-vector plan, a market study with its own sizing, and a ranked risk list. A planner needs all of it in one place, plus the one thing none of those pages say out loud.

The service tiers

Curated media sets rather than uploaded assets: pick a mood, send your song, get a finished MP4. Five sets are named — Neon Church, Morning Haunt, Brutalist Grid, Dream Sequence, System Error.

Single€25

1 set · 1 song · 30-second render

1 curated set · 1 format (9:16, 1:1 or 16:9) · 2 revision rounds · 48-hour delivery · commercial-use rights.

most popular
Double€45

2 sets · 1 song · both rendered

2 sets to choose from · 2 formats · 3 revision rounds · 48-hour delivery · A/B test which vibe fits.

Full Rotation€75

All 5 sets · 1 song · 5 renders

All 5 sets · all formats · unlimited revisions within scope · 48-hour delivery · "perfect for label pitching."

Custom Source€55

your assets + 1 SWR set

Send your own footage + photos · blended with 1 SWR set · all formats · 3 revision rounds.

add-ons +€10 for 60-second length · +€25 full-song render · +€5 Spotify Canvas crop · +€15 24-hour rush. Bundle: 3+ songs = 15% off any tier. Founding customers (first 5 orders) get 30% off in exchange for portfolio display rights — after that, listed prices apply.

The self-serve licence tiers

Pay once, no subscription. Credit-bank rather than seat-based, justified by irregular release rhythm. Keys arrive by email as swr-{tier}-{code} and are activated via the PT chip in the engine header.

PT Solo€120

one-time · 50 render credits

Full engine access · 50 credits (1 credit / minute at 1080p) · all personas · all 20 CSS filters · watermark removed · WebM export 1080p/30fps · 1 year of updates · persistent IndexedDB library.

PT Band€280

one-time · 150 render credits

Everything in Solo · 150 credits · MP4 export when v1.1 ships, included · per-clip rotate / randomise tools · 2 years of updates · priority email support.

PT Label€600

one-time · 500 render credits

Everything in Band · 500 credits · 5 seats (shared library) · 4K vertical export when v1.3 ships · Yugo pack (Belgrade-scene presets) · lifetime updates · dedicated support.

Five monetization vectors, ranked by speed to first dollar

From the 90-day plan. Each stands alone — none requires the others to be live.

The 90-day model

Organic-only, one channel at a time, no paid acquisition. Headline range: $3,200–$7,400 total revenue across the first 90 days.

Vector Wk 1–2 Wk 3–6 Wk 7–10 Wk 11–13
Market study paywall$80$300$400$300
Per-video service$0$250$500$500
Library presets$0$120$300$400
Visual commissions$0$0$400$600
Hosted tier (Q1)$0$0$0$150
Total$80$670$1,600$1,950

The $1k-per-week milestone hits at week 6 if two vectors are live by then (paywall + one of per-video or presets). The single metric it optimises for: $1,000 of revenue per week, sustainable for four weeks in a row.

The market, as the site sizes it

$48M
2025 — projecting to
$124M
2028 · CAGR 37%

Fragmented, no clear leader — top five tools hold ~38% share. Built from 47 interviews across March–July 2026, telemetry from 6 tools (~340k monthly active creators), 18 months of search and social signals.

Share of paying users (2025)
Bedroom producers
44%
Indie musicians
30%
Labels / A&R
17%
Creators / influencers
9%

Bedroom producers are the volume segment at the lowest ARPU (median $48/yr). Labels are the inverse: 17% of paying users, 38% of revenue, median $340/yr. n = 12,400 paying users.

The published willingness-to-pay finding

Van Westendorp PSM across 312 indie creators, May 2026. Indie sweet spot: $8–12/month for unlimited exports, or $0.50–$1.00 per single export pay-as-you-go.

A $5 "remove the watermark" one-time purchase "lands inside the lower edge of the WTP range and tests well."

Risks the site ranks itself

RISK 1 · HIGH

The localStorage paywall teaches the wrong lesson

Anyone who tries the demo and learns it is bypassable assumes production is the same — and either does not pay when they should, or tells friends. Fix: real Stripe / Lemon Squeezy plus server-side verification.

RISK 2 · HIGH

Open source eats the bottom

Single-file and easily forkable. If a competitor adds cloud sync and ships first, the per-video service is the only moat. Market study and visual commissions are not forkable — prioritise them.

RISK 3 · HIGH

Paid acquisition doesn't pay back

$5/day on "music video generator" burns $150/month on clicks from people who will never pay $5 for a study. Run ads only after the per-video service shows a 20% repeat-customer rate.

RISK 4 · MITIGATED

The engine ships without a song

Already solved: any audio file works (MP3/WAV/M4A/FLAC), the interactive how-to walks the full 30s flow, and the 5 versions are click-to-try with no setup.

The thing none of these pages say out loud

Two pages promise "MP4, native, no server" as the core advantage. A third warns that your MIT licence does not cover the bundled media.

The landing page and the campaign page both sell native H.264 + AAC export as the thing that removes ffmpeg, a server and a transcode step. The campaign page's own "read this before you sell" section states that while the source is MIT-licensed, the bundled visual library is not — stock footage, images and clips are not covered — so every asset in a rendered output must be verified for commercial use and redistribution before it is sold. It also notes customers must own or have permission for the audio they submit, and that the docs say modern Chrome or Safari with a wide window, so identical output should not be promised across browsers and devices.

For a planner, that is the top of the dependency list — it sits underneath the entire service tier, the per-video vector and the €55 custom-source tier at once. It is also exactly where the persona library's library-as-metadata finding meets reality: the personas treat the library as tags and metadata, and never once discuss rights.

The stated Belgrade advantage

Three claims the campaign makes as a wedge rather than a constraint: local pricing power (€25 reads as a marketing expense in the EU, a real purchase in Serbia, so the same job wins at roughly double the margin), an authentic Yugo-nostalgia angle (brutalist architecture, CRT scan lines, the warm/cool palette of late-Yugoslav design — "a San Francisco competitor can copy the SVG, they can't copy the intuition"), and in-person closes at KC Grad, Drugstore or Dot.

+ a €12 launch preset pack (€19 after)

12 — Reconciliation

Where the personas and the shipped site genuinely disagree.

Not conflicts to smooth over — the useful part. Each row is a decision a planner has to make, with both sides stated.

REVENUE SHAPE

One-time licence vs. recurring revenue

PERSONAS SAY

One-time purchase, explicitly not monthly. The guitar-poster maker, the AR artist, the touring visualist and the wedding videographer all name a flat yearly or lifetime figure and refuse subscriptions. The licence page agrees and even defends credits over subscriptions.

SITE SAYS

The same licence page lists "a hosted $8/mo studio tier" as vector 5 and the long-term play, with a Q1 target of $1.5k MRR — and the market study finds the indie WTP sweet spot is $8–12/month.

DECISIONThe documented persona refusals only fire on the watermark, the login and the smoothing — not on a hosted tier per se. But the moment the hosted tier gates a library, a share link or an export, four personas leave. Keep hosted as additive storage, never as gate.

EXPORT FORMAT

MP4 route vs. the WebM route every persona assumes

PERSONAS SAY

WebM is the assumption under every downstream pipeline: ffmpeg transcode, Vimeo upload, SoundCloud visual, YouTube Shorts. "You would leave forever if the recorder dropped MediaRecorder support for anything other than WebM."

SITE SAYS

The landing page advertises "a real MP4 comes out" and the campaign sells native H.264 + AAC as the headline advantage. The licence tiers say the opposite in the fine print: WebM export in PT Solo today, MP4 export when v1.1 ships.

DECISIONThese are two different features sharing one word. The persona library's entire recorder surface is built on the live-capture WebM path; the marketing copy is built on the native encoder path. A planner should keep both and name them apart, because 20 personas depend on one and the campaign depends on the other.

RENDER PATH

Browser-only purity vs. the credit bank

PERSONAS SAY

Zero backend, no install, no render farm, local-first. The export-first renderer specifically refuses cloud rendering: "your laptop is faster than a serverless function." The AR educator and therapist have no budget and need no login.

SITE SAYS

Export is metered in render credits — 50 / 150 / 500 — decremented per minute at 1080p, topped up by buying another key. The free demo clips at 10 seconds with a watermark, which is precisely the artefact the AR and educator workflows distribute.

DECISIONCredits meter a local render, which is coherent — but the free tier is the only version the education, clinical and museum personas could ever use, and a watermark plus a 10-second cap makes the free tier unusable for all three. If those personas are meant to be a real segment, they need a stated non-commercial tier rather than a smaller free tier.

PRESET SET

A hand-authored anchor map vs. a daily pipeline

PERSONAS SAY

The anchor map is the mental model and the set list. 22 of 28 personas touch presets, and several would leave if the 19 anchors collapsed or if any adaptive pass smoothed the surface.

SITE SAYS

v1.0 ships two new presets every morning from a pipeline and mutates a personal variant after three uses, surfaced behind a notification-style gold pill in the footer.

DECISIONDaily generation is additive and defensible; the notification is not. Make new presets discoverable by navigation and keep the anchor map as the authored, stable reference the personas actually plan against — otherwise the curator, the live VJ and the variant collector all lose their set list.

SCOPE

A narrow service vs. nineteen galleries

SITE SAYS

Sell one thing: "affordable audio-reactive music videos for independent artists," €25–€40, 48-hour turnaround, fulfilled by hand for the first ten orders.

SITE ALSO SAYS

The same domain ships 19 gallery pages, five commercial pages, a weddings vertical, T-shirts, posters, album art, VR, glyphs and a Point4 brand system.

DECISIONThe profit plan's own ad warning is the answer: broad surfaces dilute a narrow service pitch. The galleries should sit behind a subdomain or be framed explicitly as R&D output, not as peers of the funnel.

PERSONA CANON

8, 23, 28 or 42 — four counts, one word

8 — /personas

The live site's own personas page: 8 personas with concrete starting points.

23 — licence page

"All 23 personas · all 20 CSS filters" on every PT tier.

28 + 14 — this directory

28 workflow personas plus 14 strategic typologies, counted separately because they are different layers.

DECISIONPick one canonical count and one canonical page. Sell "23 personas" today if that is the shipped set; the 28-file directory and the 14 typologies are internal thinking tools and should not be numbered in marketing copy at all. Also note the licence page advertises "20 CSS filters" while the v0.5 release notes list 14 FX uniforms — verify before printing either.

STRUCTURE

A self-evolving engine vs. a 90-day manual service

VERSIONS SAYS

v1.0, 2026-08-17: a cron pipeline generates personalities daily, the engine ingests a manifest on load, and users get personalised variants. The build is self-evolving and automated.

CAMPAIGN SAYS

"The first ten orders should be you, manually, on email." Fulfilment is WeTransfer, an email, a Stripe payment link and 30 minutes of human work per video.

DECISIONBoth can be true, but they pull attention in opposite directions. The daily pipeline is a build-and-maintain cost that produces marketing surface; the manual service is the only thing with a revenue path. For the first 90 days, the pipeline should be frozen rather than extended.

13 — Sources

Where every number above came from.

Two source sets, kept separate so a planner can cite the right one. Everything is quoted, not inferred — where the sources disagree, section 12 says so.

The persona directory

28 workflow files + README · strategic README (14 files)

gives youSurface codes, the coverage matrix, per-persona sessions, pay/leave conditions, and both READMEs' "what we noticed" passes.
authorityInternal. Written in second person with the engine's creator as the implied reader. The strategic set explicitly says it is "not derived from market research."
use forAcceptance tests, abandonment conditions, surface blast radius. Not for market sizing or pricing.

The live site

sainted-word-records.vercel.app · landing, campaign, profit-plan, market-study, versions

gives youEngine metrics (15.6k gz, 5 bands, 6 layers, 27 items, zero backend), the release timeline v0.1→v1.0, the preset schema, route inventory, service and licence pricing, the 90-day model, market sizing and the ranked risks.
authorityAuthor Kai Djuric, MIT-licensed source. Note that market-study.html is itself a demo with placeholder methodology and a wiring guide for connecting real payments — treat its figures as illustrative.
use forWhat is actually shipped and priced, plus the self-stated risks. Verify live state on the page rather than trusting this summary.

Reading discipline

The persona directory and the commercial pages were written for different readers and at different times. Treat the directory as the specification of what users refuse, and the site as the specification of what is sold. Where they meet — sections 11 and 12 — that is where this project's real planning surface is.