Someone sends you a 61 second TikTok and says: look how good this is. Same girl every time, twelve perfect parts, the app only shows up at the end, it doesn’t even feel like an ad. Reverse-engineer it for me.
So I did, except I started with the file instead of the impression. ffmpeg, whisper, and TikTok’s own JSON, on 27 August 2026. Three of the four things in that sentence above turn out to be false, and the fourth one is false in a more interesting way: it doesn’t feel like an ad because you weren’t told it was one, but TikTok was told, and TikTok publishes the answer in a field called adAuthorization.
This is the distribution half of the census I ran two days ago, which counted 137 apps that lock your phone until you pray and found that one of them held 42% of every rating in the niche. That one was prayer lock, by Covenant Studios, LLC. On 25 August it had 36,684 ratings and sat at #68 in Reference. While I was writing this, it stopped existing.
136
videos posted
34 of them still public
2
flagged as ads
and they are the two you have seen
8.26%
of views became shares
662,345 across the 34
404
on the app store
us, fr, gb, ca and au, 27 august
The 61 seconds, measured
The file is 61.43 seconds, 720 by 1280, 30fps. Scene detection finds 13 hard cuts, which makes 14 blocks. Slacken the threshold and you get twelve, so the count is not worth arguing about. What is worth arguing about is that the blocks are nowhere near equal, and drawing them at their real widths turns the thing everybody praises as tight pacing into one very long block of scripture followed by thirteen short ones.
61.43 seconds · 13 detected cuts · drawn to scale
01
02
03
04
05
06
07
08
09
10
11
12
13
14
app on screen · 0:42 to 0:58 · 26% of the runtime
- 013.0sGod has been trying to reach you. He’s calling you to share the gospel.
- 0211.1sLuke 9:26, read aloud off the open page. The longest block in the video.
- 033.1sThis isn’t to offend anyone if you haven’t been sharing the word of God.
- 044.2sI know it can be really hard, since we don’t know how humans will respond.
- 054.8sThe ask, at twenty-one seconds: send this to someone you love.
- 064.4sWe need God more than ever, and hearts are softening towards him.
- 073.2sThe best way to get closer to God is by being in his word.
- 085.2sWhen we are in his word, that is God talking to us.
- 096.1sThe app, named once, at thirty-nine seconds.
- 102.5sIt literally blocks all of your apps until you spend time with God.
- 111.5sThe shortest block in the video: a second and a half.
- 124.2sThe only way to unlock your phone is by praying.
- 134.6sGod definitely does not need an app, but we need help putting him first.
- 143.7sThe gate: comment praise the Lord, and send this to someone.
The delivery is the part worth stealing, and it is measurable. 242 words in 60.86 seconds of speech is 239 words per minute. Total silence between words across the whole minute is 4.34 seconds, or 7.1% of the runtime, and the single longest pause in the video is 0.56 seconds. She never stops. There is no breath to scroll into.
One caption sits at the top of the frame, God is trying to reach you, and it never changes for 61 seconds. No word-by-word captions, no animated text. One camera position, one framing, one outfit, one room, start to finish. The jump cuts are not new setups, they are the same shot with the dead air removed, which is why the pacing feels expensive and cost nothing.
The overlays are the company’s, not hers
At 42 seconds an App Store card slides over the lower third. It is a still image, not a screen recording, and it carries three tells.

The card says prayer lock: put God first. By the time I read the listing it was called prayer lock: christian focus, and the link the company itself still serves uses a third slug, prayer-lock-screen-time. The card says 17K ratings and #43 in Reference, where the listing I read on 25 August said 36,684 and #68. And the button says Open, not Get, which means the phone that took this screenshot already had the app installed.
Then the demo. A home screen with a folder called God’s Ministry, and inside it the nine apps being locked away: YouTube, Kick, TikTok Studio, YT Studio, TikTok, Discord, Facebook, Instagram, Threads. Two YouTube clients, two TikTok clients, and a streaming platform. That is not a young Christian woman’s phone getting between her and her Bible. That is a content operator’s publishing desk, photographed once and pasted into everyone’s video.
What the account actually is
TikTok server-renders a blob called __UNIVERSAL_DATA_FOR_REHYDRATION__ into every profile and video page, so all of this is one curl away, no login and no scraping library.
curl -s -A "Mozilla/5.0 …" https://www.tiktok.com/@adelynn_prays \
| grep -o 'UNIVERSAL_DATA_FOR_REHYDRATION.*' \
| python3 -c "…json.load…['webapp.user-detail']"
createTime 1779426906 -> 22 May 2026
videoCount 136
followerCount 35700
heart 2900000
followingCount 39The account was created on 22 May 2026 and posted for the first time on 27 May. It claims 136 videos. Exactly 34 are still on the grid. I pulled all 34 individually: eight million views between them, a median of 16,900, and five over a million. TikTok rounds anything past a million, so read that total as a shape rather than a count. The top three carry 59.9% of everything the account has ever done and the top five carry 89.8%.
Then the flags. Every video page prints isAd and adAuthorization, which is TikTok’s own record of whether the creator authorised the post to be run as a Spark Ad. Across the 34, exactly two come back true.
the two flagged posts, against the organic best
1.3M views · the 61 second video everyone studies
27 May 2026 · first post on the account · isAd: true
1.1M views · the other one that names the app
7 June 2026 · second post on the account · isAd: true
1.9M views · “God bless!”, app not mentioned
21 Aug 2026 · best organic post · no ad flag
16,900 views · what a post does without spend
median of all 34 public videos
The two flagged posts are the first two the account ever made. An account created on 22 May whose opening move is a paid ad is not a creator who got discovered. Then nothing for 51 days, and from 29 July a different regime entirely: 32 videos in 28 days, 1.13 a day, none of them flagged, and only one of them mentioning the app at all.
The uploads come in pairs. Fourteen times, two videos land within half an hour of each other, median gap four minutes and seven seconds. 29 of the 34 were posted between 03:00 and 08:00 UTC. That is a queue being emptied, not a person filming when the light is good.
The product is not the product
Here is the number I did not expect. Across all 34 videos: 662,345 shares, which is 8.26% of every view. Also 262,360 saves, against only 35,389 comments. That is 18.7 shares for every comment. On the best post, God bless!, 253,700 of 1.9M views turned into a share: 13.35%.
Now go back to the script. At 21 seconds: an easy way to share the gospel is by sending this to someone you love. At 58 seconds: comment praise the Lord and send this to someone you know needs to hear it. The app is named once, in the middle, for six seconds. The instruction to forward the video is given twice and it bookends the whole thing.
Thirty-two of the 34 captions never mention the app. This account is not a funnel for downloads that happens to be about faith. It is a share-engine that happens to have an app attached, and the reason it reaches people is that a Christian viewer forwarding a Bible video to their mother is doing something they already wanted to do. The app rides along in the bio.
Five accounts, one route
The bio link is where the machine stops hiding. It is not a link to the App Store and it is not a Linktree. It is prayerlock.com/adelynn_prays.
That page returns 200. A handle I invented returns 404. And the page’s own build output names the route: among the scripts it loads is /_next/static/chunks/app/%5Bcreator%5D/page-…js, which url-decodes to app/[creator]/page. Somebody built a Next.js dynamic segment called creator and a per-creator title tag, prayer lock — @adelynn_prays. You do not build that for one person.
Two more things fall out of the same 12KB of HTML. The Android build is com.maubaron.prayerlock, which puts the founder’s name in the bundle id. And every social preview of every creator link points at http://localhost:3000/og-image.png, shipped to production and never noticed, because nobody was looking at these links on a desktop.
the accounts I was handed, read from tiktok’s own json
| account | followers | the post | ad flag | share rate |
|---|---|---|---|---|
| @adelynn_prays | 35,700 | 1.3M views · 61s | isAd true | 3.58% |
| @talkdatishmil | 55,400 | 1.3M views · 50s | isAd true | 0.59% |
| @salsa6ell | 79,600 | 78.4K views · 51s | isAd true | 0.08% |
| @lukelsf | 417,800 | 666 views · 16s | authorised | 0.30% |
| @manugirall | 46,300 | 1,052 views · 59s | none | 5.04% |
| @biblewith_ty | 367 | 554 views · 87s | none | 0.54% |
| @prayerlock.app | 16,100 | the brand account | n/a | n/a |
The shape of that table is the finding. The paid posts are the ones with views. @talkdatishmil, 55.4K followers, tagged the app directly and did 1.3M on a flagged post back in February, months before the Adelynn account existed. @salsa6ell ran the same mechanic at a Muslim audience, also flagged. @lukelsf has 417,800 followers and 3,773 videos and the one I was sent did 666 views. @biblewith_ty has 367 followers and a bio promising every like = 1 repentance.
And the brand’s own account, @prayerlock.app, has 16,100 followers against the ambassador’s 35,700. The character out-performs the company by more than two to one, which is the entire reason the character exists.
The Instagram nobody ran
instagram.com/adelynn.speaks is the same face, the same vertical framing, the same hooks: Stop living in sin, God is helping you. It has 9 posts and 2,317 followers against 136 and 35,700 on TikTok. There is no link in the bio, so nothing there is even attributable.
The bio verse on TikTok is 1 Corinthians 16:14, do everything in love. On Instagram it is 1 Corinthians 14:16, which is Paul on saying amen to a blessing in a language you do not speak. Two digits swapped, and nobody proofread the second account, because the second account was never the point. Cross-posting is the cheapest thing in this entire operation and it was still not done properly.
The store, this morning
Both Covenant Studios apps are gone. Not delisted in one territory: itunes.apple.com/lookup returns an empty result set in the US, France, the UK, Canada and Australia, and both listing pages 404.
for c in us fr gb ca au; do
curl -s "https://itunes.apple.com/lookup?id=6744703926&country=$c"
done
# results: [] ×5
curl -o /dev/null -w "%{http_code}" https://apps.apple.com/us/app/id6744703926
# 404Two days earlier that id returned 36,684 ratings at 4.87 and #68 in Reference. The Android build is untouched: 100K+ downloads, 10.3K reviews at 4.6, last updated 9 July 2026, still installable. Apple took it, Google did not, and I have no visibility into why. Anyone claiming to know the reason is guessing.
Meanwhile every creator landing page still sends its traffic to the dead iOS listing, the last video went up on 26 August still naming the app, and 34 videos with eight million views between them are still on the platform selling a thing you cannot install. The content outlived the product by a comfortable margin, which tells you which of the two was the real asset.
What this model is called
The pattern has a name now. A creator opens a brand-new account dedicated to one product, runs it as a fan rather than a brand, posts daily, and is paid on a CPM rather than a flat fee. Follower count is irrelevant, which is why an unknown can carry the campaign. Marketplaces exist to broker exactly this: viral.app calls its board a Canvas UGC Marketplace and offers to “calculate, approve, invoice, and pay UGC creators” on CPM, CPA or milestone terms.
Everything I measured is consistent with that: a per-creator tracked route, a paid launch to buy the account its first audience, a recycled hook bank across accounts, one to two posts a day, and a cohort of near-identical pages. But consistent is not proven. I did not see a contract, a rate or a payout, and I do not know whether this particular creator was hired through a marketplace, DM’d cold, or is a friend of the founder. The route and the flags are facts. The pay model is a reading.
Now build it with nobody in it
The interesting question is not whether you can fake this. It is what the fake would have to hit, and for once that is a spec rather than a vibe, because I just measured it off the real thing.
the spec a synthetic creator has to clear
| dimension | measured | what it means for the build |
|---|---|---|
| pace | 239 wpm | most TTS defaults land far slower |
| silence | 7.1%, longest pause 0.56s | wall-to-wall, no room to scroll |
| script | 242 words · 1,221 characters | one voice generation, not fourteen |
| cuts | 14 blocks, 1.5s to 11.1s | do not cut on a metronome |
| camera | one position, 61 seconds | the cheap part, and the convincing part |
| caption | one line, never changes | no word-by-word karaoke |
| product | on screen 26% of runtime | named once, at 0:39 |
Read that column again and notice what is not in it. No camera moves, no b-roll, no lighting, no location changes, no second person. The entire production value of a video that did 1.3 million views is one face, one wall, and an unbroken voice. That is the cheapest possible thing to synthesise, which is precisely why the interesting constraint is elsewhere.
the pipeline, if the person is generated too
01
character
one fictional face, locked, reused forever
02
voice
designed, not cloned, one saved id
03
script
~1,220 chars to the 14-block shape
04
one take
generate the full minute of audio, then cut it
05
demo
real screen recordings, never generated UI
06
render
assemble, caption once, export 9:16

Two rules survive from the measurement. Generate the voice once, as a single unbroken minute, and cut the wav at the block boundaries afterwards. Fourteen separate generations drift in pitch and energy and the seam is audible even when the picture jumps. And never let a model draw the product. The three app screens in the real video are photographs of a real phone, and the one place AI video reliably falls apart is hands holding a device with a working interface on it.
What it costs, and what I could not price
The script is 1,221 characters. ElevenLabs bills roughly a credit a character on its standard models, and the Creator plan is $22 a month for 121,000 credits, which is about 99 scripts of this length, or three months of this account’s actual output. The $6 Starter tier’s 30,000 credits buys 24. Voice is not the constraint.
The avatar is. HeyGen’s Creator plan is $29 a month for 600 credits and Pro is $49 for 1,000. What one minute of Avatar IV consumes out of those credits I could not confirm from a first-party source: the docs page for it 404s, and the figures circulating range from 6 to 31 credits a minute depending on which blog you read, which is a spread wide enough to be useless. I am not going to print a per-video cost I cannot stand behind. Budget the two subscriptions, generate ten videos, and divide.
What I could not check
Whether this creator was paid, and how much. Whether the missing 102 videos were deleted, hidden or drafted. Why Apple pulled the listings. Whether the 51 day gap was a pause in the campaign or a change of management. Whether @salsa6ell was selling this app or a competitor, since the caption names neither. Every one of those is knowable by somebody, and none of them is knowable from the outside.
What is knowable from the outside turned out to be quite a lot: a video drawn to the frame, a transcript to the word, 34 posts with their real numbers, an ad flag the platform publishes for free, a Next.js route that names its own dynamic segment, and a store that returns 404. All of it from curl, ffmpeg and whisper, and none of it from a dashboard screenshot.
The lesson I would actually take from @adelynn_prays is not the twelve-part structure, which is fourteen parts and uneven. It is that the video everyone points at as proof the machine works is the one they paid to put in front of you, and the organic median from the same girl, same room, same face, is 16,900.
