Files
rm-circle-team-router/public/captions/rmc-team-overview-f8856dc743.en.vtt
T
martbost b3385ca3f8 Captions: translated subtitles for the training videos, no re-render, no re-voicing
Manson asked whether the training videos could be in other languages. A real dub
means re-rendering every video per language: translated Romance-language speech runs
15-25% longer than English and these are slide videos with fixed beat timings, so
swapped audio drifts off what is on screen. That turns 15 files into 75 and makes
every future lesson edit a five-way job. Captions keep ONE video and add small text
tracks beside it, so editing a lesson re-captions that lesson only.

tools/captions.mjs: ffmpeg pulls the audio, ElevenLabs Scribe transcribes with word
timings (the same STT we already use to verify voiceovers), words are grouped into
SENTENCES, and only then translated. Translating cue-by-cue is why most auto-captions
read badly at cue boundaries. Translation goes through our own /api/public/translate,
so every phrase caches forever in translations.json and costs once across the site.
The STT response is cached on disk because it costs money; never pay for it twice.

Language choice is evidence, not instinct. The translation cache shows real member
demand: Italian and French far ahead, then Spanish, then GERMAN - which beats
Portuguese by more than double, the opposite of what we assumed. Proof of concept is
Italian on the 5-minute overview.

Captions are deliberately NOT on by default. An English reader does not want them
forced over the picture; someone who already switched the site to Italian almost
certainly does. public/vtt-lang.js shows the track matching their 🌐 choice and
leaves the player's CC button to do the rest.

Two bugs this caught in my own code, both found by reading the output:
- the line wrapper truncated each cue to two lines and SILENTLY DELETED the overflow,
  so "the whole plan fits in one sentence" shipped as "fits in" then "sentence". It
  now chunks by the real wrapped line count and never drops a word.
- a one or two word tail ("sentence." alone on screen) folds back into the previous
  cue.
The suite asserts all 780 transcript words survive into the English track.

Also: .vtt had no Content-Type mapping, so it served as octet-stream and browsers
silently ignore such a track. qa/captions-e2e.mjs (12 assertions) reads the parsed
cues back out of the player rather than trusting the markup, which is the only way to
catch that class of failure. profiles-unit 28 and gate-e2e 33 still green.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 06:06:34 -05:00

425 lines
7.4 KiB
WebVTT

WEBVTT
1
00:00:00.360 --> 00:00:02.060
Most team builds fail for one reason.
2
00:00:02.360 --> 00:00:04.800
Everybody recruits and nobody helps.
3
00:00:05.840 --> 00:00:07.380
The RM Circle flips that.
4
00:00:08.220 --> 00:00:13.140
It's a team-first build on the Polygon
blockchain where the whole plan fits in
5
00:00:13.180 --> 00:00:13.880
one sentence.
6
00:00:13.920 --> 00:00:18.860
Get your two, help your two get theirs,
and teach them to do the same.
7
00:00:19.160 --> 00:00:24.880
This video is the full picture, how the
structure works, how the money moves, and
8
00:00:24.920 --> 00:00:26.500
exactly what your job is.
9
00:00:27.080 --> 00:00:28.560
It's simpler than you think.
10
00:00:29.540 --> 00:00:30.780
Everyone enters the same way.
11
00:00:31.320 --> 00:00:34.540
One position on a smart contract placed in
a two-wide matrix.
12
00:00:35.080 --> 00:00:37.820
You need exactly two people who join with
your link.
13
00:00:38.380 --> 00:00:39.620
We call them your directs.
14
00:00:40.240 --> 00:00:42.920
And once you have two, your position is
qualified.
15
00:00:43.420 --> 00:00:45.020
That's the finish line for width.
16
00:00:45.820 --> 00:00:46.820
You never need a third.
17
00:00:47.000 --> 00:00:49.320
From there, the build goes down, not out.
18
00:00:50.120 --> 00:00:51.760
Your two each get their two.
19
00:00:51.820 --> 00:00:53.040
Those four get theirs.
20
00:00:53.780 --> 00:00:58.740
And the matrix fills two, four, eight,
sixteen with the whole team pushing the
21
00:00:58.800 --> 00:00:59.800
same wave.
22
00:01:00.340 --> 00:01:02.560
You get paid two ways, and they're
different.
23
00:01:03.060 --> 00:01:05.440
Knowing the difference saves you a lot of
confusion.
24
00:01:05.980 --> 00:01:07.720
Stream one, entry rewards.
25
00:01:08.320 --> 00:01:12.680
Every single person who joins on your link
pays you an entry reward delivered to your
26
00:01:12.760 --> 00:01:15.400
wallet in the same transaction they join
with.
27
00:01:15.960 --> 00:01:18.180
Not just the first two, everyone.
28
00:01:18.740 --> 00:01:20.820
Stream two, upgrade payments.
29
00:01:21.320 --> 00:01:22.880
The program has eight levels.
30
00:01:23.540 --> 00:01:27.720
As people below you buy levels, each
payment travels up the matrix and lands on
31
00:01:27.780 --> 00:01:30.300
one position, the one at the matching
depth.
32
00:01:30.960 --> 00:01:35.400
Someone one layer below you pays you when
they buy level two.
33
00:01:36.380 --> 00:01:40.080
Two layers down, level three, and so on,
eight layers deep.
34
00:01:40.320 --> 00:01:44.020
Each person below you pays you once at
exactly one level.
35
00:01:44.980 --> 00:01:47.840
Here's the rule that decides whether you
catch that money.
36
00:01:48.260 --> 00:01:53.720
To receive a level payment, your position
must be qualified, two directs, and
37
00:01:53.800 --> 00:01:55.260
already at the level being bought.
38
00:01:55.680 --> 00:01:57.720
If you're not, the payment doesn't wait.
39
00:01:58.300 --> 00:02:01.880
It passes to the next eligible position
above you permanently.
40
00:02:02.700 --> 00:02:03.700
That's not a punishment.
41
00:02:03.900 --> 00:02:06.280
It's the contract keeping every payment
moving.
42
00:02:07.120 --> 00:02:11.180
Your job is simply to stay one level ahead
of your team's deepest active layer.
43
00:02:12.180 --> 00:02:15.800
And your dashboard literally shows you
when the moment is coming.
44
00:02:16.700 --> 00:02:20.300
When someone's two slots are full and
another person joins their team, the
45
00:02:20.360 --> 00:02:24.860
contract places that new member in the
first open slot further down.
46
00:02:25.440 --> 00:02:26.580
That's spillover.
47
00:02:28.080 --> 00:02:32.280
Spillover fills your structure with people
you never recruited, and every one of them
48
00:02:32.340 --> 00:02:34.800
is future upgrade income for your
position.
49
00:02:35.280 --> 00:02:38.500
But hear this clearly, spillover does not
qualify you.
50
00:02:38.960 --> 00:02:42.980
Only people who join with your own link
count as your directs.
51
00:02:43.860 --> 00:02:45.780
Spillover is a gift for your depth.
52
00:02:46.600 --> 00:02:48.240
Your two is still your job.
53
00:02:49.140 --> 00:02:52.020
Once you're qualified, the team's
recommendation is simple.
54
00:02:52.860 --> 00:02:54.080
Shift your effort down.
55
00:02:54.900 --> 00:02:58.520
Help your two get their two instead of
stacking more directs on yourself.
56
00:02:59.540 --> 00:03:02.240
Your invite page even handles this
automatically.
57
00:03:02.700 --> 00:03:08.220
Once you hit two of two, it routes new
joins to the next person in your leg who
58
00:03:08.280 --> 00:03:08.940
needs them.
59
00:03:08.980 --> 00:03:13.320
And if someone still joins on your link
afterward, then that's a bonus, never a
60
00:03:13.360 --> 00:03:14.360
problem.
61
00:03:14.400 --> 00:03:18.700
You keep the full entry reward, and they
spill down into your leg as depth.
62
00:03:19.680 --> 00:03:20.780
There's no rule against it.
63
00:03:20.960 --> 00:03:22.560
There's just a smarter place to aim.
64
00:03:24.060 --> 00:03:26.820
This is where the RM Circle is different
from anything you've tried.
65
00:03:27.580 --> 00:03:29.260
Your dashboard is your co-pilot.
66
00:03:29.880 --> 00:03:34.400
It shows your team live, the payments
forming below you, exactly when to upgrade
67
00:03:34.440 --> 00:03:37.460
to catch them, and who on your team needs
help next.
68
00:03:38.400 --> 00:03:41.260
With a message system built in, verified
by your wallet.
69
00:03:41.780 --> 00:03:43.560
And every member has the same dashboard.
70
00:03:43.640 --> 00:03:47.840
So when you coach your two, don't just
tell them what to do.
71
00:03:48.220 --> 00:03:51.640
Open their dashboard with them and teach
them to run the same play for their two.
72
00:03:52.560 --> 00:03:53.880
You're not building a downline.
73
00:03:54.100 --> 00:03:55.100
You're training coaches.
74
00:03:55.100 --> 00:03:57.400
That's what builds depth that pays for
years.
75
00:03:58.320 --> 00:03:59.760
Getting in takes three steps.
76
00:04:00.560 --> 00:04:02.240
Watch the short trainings on the site.
77
00:04:02.920 --> 00:04:05.280
Set up a free wallet and fund it with
POEL.
78
00:04:06.160 --> 00:04:08.500
You can buy it with a debit card if you're
brand new.
79
00:04:09.120 --> 00:04:10.980
And join right on the site with one tap.
80
00:04:11.660 --> 00:04:14.900
You'll be placed on the team
automatically, and your dashboard is live
81
00:04:14.940 --> 00:04:16.779
the second your transaction confirms.
82
00:04:17.700 --> 00:04:23.180
Last thing, because we only do this
honestly, this is cryptocurrency on a
83
00:04:23.300 --> 00:04:25.820
smart contract with real risk.
84
00:04:26.460 --> 00:04:27.760
No income is guaranteed.
85
00:04:28.140 --> 00:04:32.220
Results come from team effort, and you
should only ever use money you can afford
86
00:04:32.260 --> 00:04:33.100
to lose.
87
00:04:33.140 --> 00:04:34.920
What is guaranteed is the math.
88
00:04:35.440 --> 00:04:36.680
The code can't be changed.
89
00:04:36.900 --> 00:04:38.440
No company holds the funds.
90
00:04:38.820 --> 00:04:41.480
And every payment ever made is public on
the blockchain.
91
00:04:42.140 --> 00:04:43.140
Get your two.
92
00:04:43.380 --> 00:04:44.760
Help your two get theirs.
93
00:04:45.200 --> 00:04:46.200
Teach them to teach.
94
00:04:46.680 --> 00:04:48.260
RM Circle dot team.