A single compounding asset that pays you to do the one thing you would do for free, at near-zero cost to serve, so your time stops being the product.
MONEY $10k/mo net (1,185 subs). ~$120k/yr, pennies to serve.
STRUCTURE Recurring revenue, not hours. Built once, sells while you sleep.
VEHICLE Funds your freedom and scales the mission. No time-for-money trade.
RETURNING SEERS this week
. / .
.
CURRENT USERS beta excluded
. / .
.
MARKETING new seers / week
. / .
.
MONEY MRR / goal
. / .
.
HOW THIS AREA WORKS. one question: did you take the action today.
THE GRID IS THE PROOF. Every day of the year is one cell. The cell fills the moment you log an action you actually took. Nothing fills it for you. An empty column is a week you did not move.
NOTHING RECURRING. There is no repeat, no template, no auto-fill. A logged action means it happened. The record cannot lie to you, so the streak is real.
ONE DAY AT A TIME. Add today's action with the plus. It defaults to today. You can log a different day, but the habit is one real outcome, logged when it is done.
THE STREAK IS THE TRIGGER. Consecutive days with an action. The urge to not break it is the machinery. Open this tab, see the gap, close the gap.
actionlog what you did. keep the column filled. do not break the line.
.
CURRENT STREAK
.
ACTIONS THIS YEAR
.
DAYS ACTIVE
.
THIS WEEK
.
the year in action
MonWedFriSun
lessmore
log an action
new actionone real outcome. logged when it is done.
actions on this day
recommended. the backlog you have not committed to.
recommendedproposed moves. not the record. DO logs it to the grid. DISMISS drops it.
approval gateevery site and bot request waits here.
PENDING
.
USERS
.
BETA
.
7D SIGNUPS
.
PRESENCE
.
queue:
REQUEST
TYPE
STATUS
REQUESTED
ACTIONS
loading...
launch contacts. every site email, kept.
site requests were testers. their emails moved here before the queue was cleared. this is the launch announcement list.
EMAIL
NOTE
WAS
REQUESTED
loading...
bot usageevery known seat. real numbers, per person and in total.
PEOPLE
.
MESSAGES
.
TOKENS
.
COST MTD
.
REVEALS
.
RETURNING
.
free default capglobal daily bot turns for free users without an individual override.
loading...
PERSON
TIER
MESSAGES
WINDOW
TOKENS
MODEL MTD
COST MTD
SEEING
RETURN
DEPTH
LAST SEEN
RESET
loading...
MESSAGES is user messages over total stored messages. It is history, not the limit. WINDOW is turns used against the live cap: free defaults to the cap above unless overridden in People, paid stays open. MODEL MTD is the provider and model that actually answered this month from the token ledger. COST MTD is current-month bot generation cost from the token ledger and model price map. EST means old total-only token rows were priced by a blended estimate. COUNT clears the window and keeps the record. DATA clears the window plus stored consultation data, keeps the Telegram chat intact, and preserves the transcript in People detail. FULL clears the window, wipes live memory, sweeps Telegram messages, and deletes the database transcript. The transcript hard wipe also lives inside the People detail transcript panel.
content usagedaily viewership ranked by attention, across documents, discourses, and training.
TYPE
TITLE
VIEWERS
SESSIONS
TOTAL TIME
AVG TIME
COMPLETE
LAST VIEWED
loading...
documents usagetime on each writing, read and listened.
WRITING
READERS
LISTENERS
SESSIONS
TOTAL TIME
AVG TIME
AVG COMPLETION
LAST ACTIVE
loading...
training usagesee, know, do. reps per person.
PERSON
REPS
SEE
KNOW
DO
MACHINERIES
LAST ACTIVE
loading...
white roomsgraded reps per person per room.
PERSON
ROOM
GRADED
CALLS RIGHT
THIS WEEK
LAPSED
IN HAND
LAST ACTIVE
loading...
HOW THIS AREA WORKS. the whole job, in order.
CREATE. Make a campaign below. The code is the link. Hand out emptywords.co/?src=cmp_code for the site, emptywords.co/telegram/?start=cmp_code for the bot, or assign a numbered beta route like emptywords.co/beta-test/2/. One campaign per place you post.
NAME THE GOAL FIRST. Before anything runs, write the week's two numbers: subscriptions and activations. A week without a named goal does not get read. It gets felt. Feelings lie.
RUN. Put the link where the audience is. Every dollar that moves gets logged in SPEND against one campaign and one week. Unlogged spend does not exist.
READ WEEKLY. The funnel reads left to right: VISITS → ARRIVALS → ASKS → CLICKS → SUBS, with REVEALS as activation. Where the ratio breaks is where the problem is. Low visits-to-arrivals: the landing page fails. Low arrivals-to-asks: the first conversation fails. Low asks-to-subs: the close fails.
DECIDE PER CAMPAIGN. Three moves only. SCALE: the ratio holds, add spend. FIX: one step breaks, change that step (the link text, the landing, the first message), never the whole machine. RETIRE: the numerator stays zero, kill it.
REPORT. Bring the week: goal vs actual, per campaign, one line each. The decision meeting runs on this table. Nothing else is evidence.
THE TABLE, IN PLAIN WORDS. Read every column like this.
WEEK: the Monday the row belongs to. CAMPAIGN: the link code that brought the people. SPEND: dollars logged against that code that week.
VISITS: strangers who loaded the site with the code in the link. ARRIVALS: of those, the ones who actually started the bot. ASKS: arrivals who asked for a seat. CLICKS: asks who tapped the subscribe button. REVEALS: arrivals who finished a full seven-point consultation. This is the activation number: the person got the thing, not just the pitch. SUBS: new paying subscriptions credited to the code.
THE RATIOS. V→A: out of every 100 visits, how many arrived. Tells you if the landing page works. A→S: out of every 100 arrivals, how many subscribed. Tells you if the whole machine works. CAC: customer acquisition cost. Spend divided by subs. What one paying subscriber cost you, in dollars. ROAS 1M: return on ad spend, one month. The first month of subscription money the campaign produced divided by what it cost, shown as a multiplier. 2x means every dollar came back as two in the first month.
THE GOALS. GOAL SUBS is how many new subscribers you said the week would produce. GOAL ACTIVATIONS is how many full consultations (REVEALS) you said it would produce. Write both before the week starts. ACTUAL next to GOAL is the whole game: named number versus what happened. Everything else on this page exists to explain the gap.
marketingname the week's numbers before the spend. then read what happened.
WEEK OF
.
GOAL SUBS
.
ACTUAL SUBS
.
GOAL ACTIVATIONS
.
REVEALS
.
SPEND
.
new campaignthe code is the link. toggle beta route to assign the next emptywords.co/beta-test/number.
goalselect the campaign, then write the week’s two numbers before it runs.
spendone campaign, one week, one number. dollars.
actualsfix the row when a link failed. blank fields keep the automatic count.
WEEK
CAMPAIGN
SPEND
VISITS
ARRIVALS
ASKS
CLICKS
REVEALS
SUBS
ACT GOAL
SUB GOAL
V→A
A→S
CAC
ROAS 1M
loading...
V->A visits that became bot arrivals. Calculated automatically from site visits and Telegram starts.
A->S bot arrivals that became paid subscribers. Calculated automatically from Telegram starts and Stripe subscriptions.
CAC spend divided by subscribers. You only enter spend; the subscriber count is automatic.
ROAS 1M first-month subscription revenue divided by spend. Calculated automatically when spend exists.
CODE
NAME
CHANNEL
SEGMENT
PRODUCT
STATUS
ASKS
CLICKS
REVEALS / GOAL
SUBS / GOAL
LINKS
loading...
VISITS are anonymous page views with the campaign source. ARRIVALS are Telegram deep-link starts. ASKS are seat requests. CLICKS are subscribe taps. REVEALS are completed seven-point consultations in the arrival cohort. SUBS are new subscriptions attributed to the campaign. Edited rows show MANUAL and use your entered numbers for the report while keeping raw automatic counts behind the row.
HOW THIS AREA WORKS. one question: is each subscriber worth their cost.
READ PROFIT FIRST. MRR minus everything this month costs. Positive: the machine pays for itself. Negative: it does not yet, and every other number on this page exists to say why.
READ PER SUBSCRIBER. The month's total cost divided by active subscribers, next to the price. Cost above price means every subscriber loses money by existing. The unit, not the total.
READ THE COST SPLIT. STATIC is the same every month no matter what anyone does (Supabase, Railway, iCloud). GENERATION moves with usage: every narration, every bot conversation. MARKETING is what you chose to spend. When cost rises, the split says which kind it is.
READ BOT COST BY DAY. The bot ledger carries the provider and model that actually answered. When the bot model changes, the cost graph follows that model name and flags any model that has no price row.
READ PAYBACK. CAC is what one new subscriber cost in marketing. PAYBACK is how many months at the current price until they repay it. Payback longer than a subscriber's average stay means marketing burns money even when it works.
READ CHURN. Subscribers who left this month over the ones who could have. A bucket or a sieve. If churn is high, no acquisition number matters until it is fixed.
KEEP THE LEDGER COMPLETE. Every recurring cost gets a row below. A cost with no row does not appear in PROFIT, and a profit that ignores a cost is a lie. Add the row when you add the service.
THE NUMBERS, IN PLAIN WORDS. MRR: monthly recurring revenue. What the active subscriptions pay per month, right now. MARGIN: the share of MRR left after generation costs, before static and marketing. COHORT: everyone who subscribed in the same month, and how many are still here. MRR GRAPH: the line over twelve months against the cost line. MRR rising faster than cost: compounding. Cost rising faster than MRR: a treadmill.
moneyprofit first. then the unit. then the split. then decide.
PROFIT THIS MONTH
.
MRR
.
TOTAL COST
.
MARGIN
.
COST PER SUB
.
PRICE
.
CAC
.
PAYBACK
.
ACTIVE SUBS
.
CHURN
.
mrr against cost, twelve months
the top line is MRR. the bottom line is total cost. the gap between them is the whole story.
bot token cost by day
bot costactual provider/model rows from the bot ledger. estimated from total tokens.
MODEL
TOKENS
CALLS
COST
loading...
this month's costs
KIND
WHAT IT IS
COST
loading...
recurring costs. unlogged spend does not exist.
new costevery service that repeats gets a row. then profit is true.
LABEL
AMOUNT
CADENCE
PER MONTH
STATUS
loading...
cohorts. who started, who stayed.
MONTH
STARTED
STILL HERE
KEPT
loading...
paths
PATH
SEE
KNOW
DO
TOTAL
Detecting the Leverage Point
50
25
12
87
source exports are available from the repository checkout, not the public site.
visibility:audio:
Public is visible without an account. Free requires an account. Private requires an active Stripe subscription. Admin is restricted to you.
0 selectedpublic-site source exports are disabled.
WRITING
TRACK
AUDIO
VISIBILITY
DATE
PIN
FEATURED
SCHEDULE
loading.
SCHEDULE:
set release dates per tier. leave blank to skip.
audio generation
AUDIO CONTROLS
status
content generation
daily writing6:03 AM dailygenerates one new machinery or stratagem from the queue
daily business writing6:15 AM dailygenerates one business-track writing from the queue
daily discourse6:30 AM dailygenerates a discourse with audio, starts as pending visibility
daily feed quotes7:30 AM dailypicks 3 quotes from 3 different writings for the daily feed
scale corpus4:30 AM dailygenerates scale training exercises from the corpus
audio generationmanual / generation rungenerates discourse audio when selected from the audio controls
publishing + delivery
forced mailerodd-numbered datessends the selected discourse drop every other day on odd calendar dates
maintenance
audit4:00 AM Saturdaysvalidates writing integrity and audio coverage
subscriber flow
TOTAL
.
ACTIVE
.
UNSUBSCRIBED
.
UNSUB RATE
.
24H NEW
.
7D NEW
.
24H OUT
.
7D OUT
.
WELCOME PENDING
.
24H OPENS
.
7D OPENERS
.
discourses
each row is a published discourse. copy the drop command to send it to every active subscriber.
DATE
TITLE
SLUG
SUMMARY
ACTION
2026-10-25
You Stopped Pretending And Nothing Changed
THE_DISCOURSE_OF_AUTHENTICITY
What felt like arriving at yourself was the model confirming its own prediction.
2026-10-19
The Test Was Accurate And It Missed Everything Else
THE_DISCOURSE_OF_ANISOTROPY
The number was real. It was one direction of something with grain in every axis.
2026-10-18
You Kept What Mattered And Lost What Was Real
THE_DISCOURSE_OF_COMPRESSION
Every time you made sense of it, the sense replaced a little more of what was there.
2026-10-12
You Kept Moving And None Of It Was Waiting
THE_DISCOURSE_OF_ARROW_OF_TIME
You went back. The room was the same. You were the part that burned.
2026-10-11
You Got Louder And So Did Everything Else
THE_DISCOURSE_OF_AMPLIFICATION
You amplified everything. The amplifier did not know which part was you.
2026-10-04
Nobody Who Praised You Ever Saw You
THE_DISCOURSE_OF_COMPLIMENTS
The praise was sincere. The filter had already decided before the smile.
2026-09-28
You Had Enough Until You Looked
THE_DISCOURSE_OF_COMPARISON
The satisfaction was real. A single number rewrote it without changing a single fact.
2026-09-27
You Felt Everything They Felt And It Was Never Compassion
THE_DISCOURSE_OF_COMPASSION
You ran the pain circuit for seventeen years and called it compassion. The love circuit never fired.
2026-09-21
You Were Never The Reason It Worked
THE_DISCOURSE_OF_CONDITIONS
Every stretch where it worked was a field holding you. Every stretch where it did not was the same match in different air.
2026-09-20
You Said It Better And It Got Worse
THE_DISCOURSE_OF_COMMUNICATION
The clearest sentence you ever spoke was built into something else by a listener you never checked.
2026-09-14
You Made The Thing That Runs You Now
THE_DISCOURSE_OF_AUTOCATALYSIS
The lag was the only part that was entirely yours and you did not know its name while you were in it.
2026-09-13
You Held Each Piece And None Of Them Together
THE_DISCOURSE_OF_COGNITIVE_LOAD
The weight was never in the pieces. It was in the web between them.
2026-09-07
The Hunger Was Real And It Was Never Yours
THE_DISCOURSE_OF_AMBITION
The fire felt like yours. The coordinates were absorbed before you knew to check.
2026-09-06
Everything Matched And Nothing Moved
THE_DISCOURSE_OF_COGNITIVE_DISSONANCE_ATTRACTION
The contradiction did not reveal what you wanted. It manufactured the wanting.
2026-08-30
You Understood Everything And Saw Nothing
THE_DISCOURSE_OF_CAUSAL_SIGHT
Every explanation you had was finished before you looked. You called it understanding.
2026-08-23
You Solved Everything And It Was Still There
THE_DISCOURSE_OF_ANXIETY
You solved every problem the alarm pointed at. The alarm did not decrease by one degree.
2026-08-16
Nothing Was Allowed To Break So Everything Did
THE_DISCOURSE_OF_CASCADE
The system that never failed was loading toward the failure that would be all of them.
2026-08-09
Everything Was Still There And None Of It Reached You
THE_DISCOURSE_OF_APATHY
Everything still mattered. The circuit that reaches for it went dark.
2026-08-02
Everyone Could Reach You And No One Could Find You
THE_DISCOURSE_OF_BOUNDARY
The closer you let them, the less of you remained to be found.
2026-08-02
Why Nothing Feels Good Anymore
THE_DISCOURSE_OF_BASELINE
Every peak you hit is borrowed from your future. The emptiness is not depression. It is the debt coming due.
2026-07-30
You Called It Love Because You Never Left
THE_DISCOURSE_OF_COMMITMENT
The staying was never a choice. It was an assembly doing what assemblies do.
2026-07-26
Nothing Happened And Everything Changed
THE_DISCOURSE_OF_BIFURCATION
The parameter moved for years. Then the ground changed shape. You called it a decision.
2026-07-19
You Fought Something That Was Already True
THE_DISCOURSE_OF_ACCEPTANCE
You heard it clearly. The model kept running anyway. Understanding was never the variable.
2026-07-12
You Were Never Alone And You Never Belonged
THE_DISCOURSE_OF_BELONGING
The gauge that reads belonging was set before you chose the room it measures.
2026-07-05
Every Version You Built Was Still You
THE_DISCOURSE_OF_BECOMING
The harder you work at becoming, the more you practice being who you already are.
2026-06-28
You Were Right And They Stopped Talking
THE_DISCOURSE_OF_ARGUMENT
You had the evidence. You aimed it at the person instead of the claim. The person left. The evidence is still correct.
2026-06-21
You Stood Where Everyone Else Cried And Felt Nothing
THE_DISCOURSE_OF_AWE
The feeling left when your model grew large enough to hold what used to break it.
2026-06-14
You Changed Everything And Nothing Moved
THE_DISCOURSE_OF_ATTRACTOR
You moved. You rebuilt. The same life reassembled. The valley was never the city.
2026-06-07
You Spent Years Building What Left In Seconds
THE_DISCOURSE_OF_ASYMMETRY
What took years did not take years to lose. The road back is a different road entirely.
2026-05-31
Nothing Happened To Her. That Was The Damage.
THE_DISCOURSE_OF_ANTIFRAGILITY
The safety was the mechanism of the damage. They were never different things.
2026-05-24
The Dishwasher Was Not Why He Pulled Over
THE_DISCOURSE_OF_COGNITIVE_BANDWIDTH
The collapse was not the last thing you added. It was everything you were already holding.
2026-05-17
The Reason Cost $175 An Hour. It Still Wasn't The Cause.
THE_DISCOURSE_OF_CAUSALITY
The explanation was perfect. It was never the cause. Those are not in conflict.
2026-05-10
The Problem Began At The Line You Drew
THE_DISCOURSE_OF_BOUNDARIES
Every problem you could not solve was on the other side of a line you never saw.
2026-05-03
The Phone Was Open Before Anything Was Wrong
THE_DISCOURSE_OF_BOREDOM
The signal was never about what was missing. It was about what you fed it to make it stop.
2026-04-26
You Forgave Them And Nothing Stopped
THE_DISCOURSE_OF_BETRAYAL
The forgiveness was real. The pain was also real. Nobody told you those could be true at the same time.
2026-04-19
The Sealed Envelope Arrived Before The Person Did
THE_DISCOURSE_OF_AVERSION
The no arrived before you did. The person it was aimed at had nothing to do with it.
2026-04-12
You Never Chose Who You Wanted
THE_DISCOURSE_OF_ATTRACTION
The pull was never about them. It was four classifiers running a verdict before you arrived.
2026-04-05
Everyone You Never Met Was Right There
THE_DISCOURSE_OF_APPROACH
You stood twelve feet from everyone who mattered and called the standing shyness. It was architecture.
2026-03-29
The Ledger Closed. The Body Did Not.
THE_DISCOURSE_OF_ALLEGIANCE
The loyalty was real. It was never a decision. Those two are not in conflict.
2026-03-22
The Last Method
THE_DISCOURSE_OF_FUTILITY
You have tried everything. The trying was the thing that made everything not work. And now you are trying to stop trying.
2026-03-15
The Chemical You Already Had
THE_DISCOURSE_OF_SEROTONIN
You spent years chasing a state that was already running underneath the chasing. The chasing was the thing drowning it out.
2026-03-08
The Shoe By The Door Did What Shame Could Not
THE_DISCOURSE_OF_ACTION
The system that moves you was never waiting for your decision. It was waiting for inputs you were never taught to see.
2026-03-01
You Knew Too Much To Learn
THE_DISCOURSE_OF_ACCELERATED_INTELLIGENCE
Every book was a brick. The library you built to reach the thing was the wall between you and it.
2026-02-22
You Were Never Lazy
THE_DISCOURSE_OF_EFFORT_VALUATION
The thing standing between you and the task is not weakness. It is a price tag your body wrote before you woke up.
2026-02-15
The Discourse of Empty Words
THE_DISCOURSE_OF_EMPTY_WORDS
The writing that opens the floor. What is underneath the words you were given.
2026-02-08
The Lie That Felt Like Clarity
THE_DISCOURSE_OF_ANGER
The moment you felt most clear was the moment you could see the least. The certainty was the damage.
2026-02-01
You Wanted The Wanting
THE_DISCOURSE_OF_DESIRE
The thing you spent years reaching for was never the point. The reaching was. And the reaching will not stop when you arrive.
2026-01-25
The Circuit That Was Never Built
THE_DISCOURSE_OF_WILLPOWER
What you call willpower is the surface of a circuit that was never built. The collapse is not failure. It is anatomy.
2026-01-18
You Never Stopped
THE_DISCOURSE_OF_ADDICTION
The substance was never the addiction. The loop was. And the loop is still running on something you are proud of.
2026-01-11
You Fit So Well You Disappeared
THE_DISCOURSE_OF_ADAPTATION
Every shape you took to survive cost you a shape you cannot remember having. The fitting was the losing.
2026-01-04
Nothing You Earn Will Make It Stop
THE_DISCOURSE_OF_ABUNDANCE
The ache was there before the money. It will be there after. The earning was never the answer to the question it was asking.
2025-12-28
You Have Never Paid Attention
THE_DISCOURSE_OF_ATTENTION
What you call attention is the small sound of your mind being wrong, sold back to you in pieces by people who know.
discourse subscribers
filter:
EMAIL
SOURCE
JOINED
WELCOME
UNSUBSCRIBED
OPENS
LAST OPEN
STATUS
loading.
social media postsready assets, captions, post copy, target links, and generation prompts live here.
POSTS
.
READY
.
PROMPTS
.
FORMAT
1:1
production runshorizontal social covers, YouTube-ready videos, prompts, commands, and platform copy.
16:9ffmpegOpenAI image
status:
asset librarysocial images, video posters, and rendered videos.
TOTAL
.
IMAGES
.
VIDEOS
.
POSTERS
.
people
ACCOUNTS
.
PENDING
.
BETA TESTERS
.
DISCOURSE
.
PRIVATE
.
accounts
filter:
0 selected
NAME
EMAIL
STATUS
TIER
SOURCE
JOINED
SECONDS
INTERNAL
loading.
discourse subscribers
EMAIL
SOURCE
JOINED
WELCOME
OPENS
LAST OPEN
STATUS
loading.
paid subscriptions
Every paid row is Private. Provider identifiers and payment status remain read only.
large_selection user highlighted a large block of text (potential manual copy)
visibility_hidden page went hidden (user switched tabs or minimized browser). Normal behavior. Not a threat.
access_blocked user tried to access a page above their tier
TIME
USER
EVENT
PAGE
DETAIL
loading.
topic queues
what's coming next. pulled from the generation queues.
GENERAL QUEUE A
psychology, neuroscience, human mechanics
loading.
GENERAL QUEUE B
universal structures, systems, physics
loading.
BUSINESS QUEUE
mechanisms that move the needle
loading.
training areas
every EIDO area, grouped by source machinery. wired to /eido/areas.json (single source of truth): add an area there and it appears here, links the machinery at the foot of the training, and joins the randomizer. each invariant links straight into its drill.
loading.
recent completions
TOPIC
QUEUE
DATE
loading.
generation schedule
Daily generation alternates between the two general queues. Business runs separately.
next up: . (.)
site signal
QUALIFIED ATTENTION
.
target10/day
counts when90s / 35% / 60s audio
scopenon-admin users
RECOGNITION RATE
.
target25%+
formularec users / active users
RECOGNITION CONVERTED
.
target40%+
signals7d return after recognition
operator/test activity.
access logic
Public
The document shelf is visible. Every document remains closed.
Purpose: make the depth visible without giving the library away.
Free
One chosen document each calendar month and one bot conversation each week.
Purpose: let the first result arrive before the decision to continue.
Private
Five document choices at entry, one more for each paid week, continued conversations, and Systems.
Purpose: preserve depth and margin while the private record compounds.
Admin
Every document, every control, and every review surface.
Purpose: operate the system without weakening its public boundaries.
evidence board
Constraint today
loading.
loading.
daily value graphlast 14 days
attentionrecognition rate7d returnpaid starts
DAY
ACTIVE
ATTENTION
QUAL USERS
RECOGNITION
REC USERS
REC RATE
RETURN 24H
RETURN 7D
7D RATE
INTERNAL
loading.
recent value events
TIME
GROUP
EVENT
WHO
WRITING
SOURCE
loading.
training evidence
TIME
USER
TRAINING
SESSION
SCORE
WEAK SPOT
SOURCE
loading.
site inventory
FREE ACCOUNTS
.
DISC SUBS
.
PAID SUBS
0
WRITINGS
.
WITH AUDIO
.
PRIVATE WRITINGS
.
enter
Return to the lines you saved, the patterns you marked, and the next open path.
Telegram is the only door. No username, no pin, nothing to forget.
another account
Switch to the Telegram account you want to use, then open the bot from that account.