The Story of Snip Two friends, one microphone We are Arda and Taha. We have been friends for years, and we share the same happy disease: we cannot stop explaining AI and technology to each other. At some point we noticed that the conversations we were already having were the kind of conversations we wished existed in Turkish — so we started Token Podcast, a Turkish-language show about AI. People listened. It grew into the place where we think out loud — including, every week, about the very app you are reading about now. Snip is built in public, and the place it is built in public is the podcast that Snip itself now produces.

That is the honest, slightly circular truth of this project: we are Snip's developers and Snip's first customers, and neither of us is allowed to forget either role.

The Sunday problem Here is what producing one ten-minute episode used to cost us: an entire Sunday.

Record in one tool. Trim and clean in another. Level the audio in a third. Make a cover in a design tool. Write show notes in a text editor at 11pm. Export, upload to a host, fight with an RSS feed. And at the end of all of it, what did we have? One episode — just barely good enough to upload to Spotify and Apple Podcasts. Nothing more.

But "one episode" was never the actual goal. What we wanted from every recording was a week of content: short clips for Instagram and TikTok, video versions, a music bed that fit the mood — and, because our show's original language is Turkish and Turkish is the ceiling on our audience, automatic translation into English and beyond, so a conversation recorded in our native language could become a global channel.

To do that properly we would have needed powerful computers, studio-grade equipment, money, and time. And even with all four, we would still have needed to become editors, designers, subtitlers, and audio engineers. We were podcasters for about ten percent of the work and unpaid production assistants for the rest.

Why make it even harder? Then we looked around, and the gap in the market stared back at us.

Everything we needed existed — somewhere, for someone else. The good recording tools are desktop tools that assume a laptop, a quiet room, and a guest patient enough to create an account before saying hello. The clip tools don't record. The hosts don't edit. The dubbing tools have never heard of RSS. There was no single place where a person could record a real conversation, produce it, multiply it, translate it, and publish it — let alone from the device they already carry everywhere.

Recording a podcast is already much harder than it looks. Grabbing a microphone and talking is the easy part everyone imagines; the fifty invisible jobs after it are where shows go to die. Why make it even harder?

So one day we asked the obvious question: the phone is right there in our pocket, AI can now transcribe, cut, compose, and dub — why don't we build one app that does the entire journey, and sends the finished episode straight to Spotify and Apple Podcasts over RSS?

That day, Snip was born.

Our problems, feature by feature Every AI feature in Snip exists because a specific Sunday hurt. We can date them. Here is the map, problem by problem:

We live in different places, and call quality was ruining our recordings. So in Snip, a guest joins a live video room by typing a six-digit code — no account, no app-store detour. But the call is not the recording: every participant is recorded locally on their own device, on their own track, at full quality, then uploaded through a background queue and aligned and mixed on the server. Your final episode never inherits the internet's bad minutes. Recording even survives leaving the app — it continues in a floating picture-in-picture window.

Editing audio was the thing that ate the Sunday. So Snip's editor is the transcript. AI transcribes the episode with speaker labels and word-level timestamps, and you edit the audio the way you edit a document: delete the sentence, and it is cut from the audio and the video. AI suggestions find the retakes and dead air for you. Trimming and mixing are free — cleaning up your own conversation should never cost anything.

One episode should feed a week of Instagram and TikTok, and it never did. So AI reads the transcript and suggests the clip-worthy moments, then cuts vertical clips with burned-in captions colored per speaker, audiograms for audio-only moments, and story graphics — a week of social content from one conversation, rendered on our servers, not on your battery.

Cover art meant midnight sessions in a design tool. So Snip generates covers and story visuals from what was actually said in the episode — not generic podcast clip-art, but artwork grounded in that conversation.

Show notes, titles, and captions were the homework nobody wanted. So AI writes them — in the language of your show — along with SRT/VTT subtitles you can export or burn straight into the video.

We wanted music but feared licensing. So Snip composes an original looping music bed for the episode — intro, bed, outro — matched to the tone, with nothing to license and no one to owe.

Turkish was the ceiling on our audience. This one is the heart of the app. Snip dubs an episode into eight languages on our own pipeline: each speaker's voice is matched, every translated line is fitted into its exact slot, and because we place the lines ourselves the subtitles are frame-exact rather than estimated. And a dub is not a bonus file — it becomes a real episode in a real show, with its own RSS feed, its own subscribers, and its own reviews in that language's podcast directory. Turkish "Episode 5" becomes German "Folge 3", and that is correct, not a bug — the German listener sees an independent German show. One recording, eight podcasts. (And one rule we will never break: a published edition is never taken hostage. If your subscription lapses, everything you produced remains yours and stays published.)

Some weeks, there was simply no time to record. The outline was ready; the calendar wasn't. So in version 1.0.2 we shipped the feature we now use the most: turn a document into an episode. Hand Snip a PDF, your notes, a .docx, a photo of a page — or simply paste a link to an article — and AI writes a podcast script with one or two hosts, lets you edit every line, then performs it with curated, natural AI voices, in seven languages. The result is a normal Snip episode: word-exact transcript, clips, subtitles, artwork, publishing — every tool in the app works on it.

And it does something we didn't design on purpose but fell in love with immediately: it gives you a personal trainer. Feed it the workout program your coach wrote, and on the way to the gym two warm voices walk you through today's session — your own plan, talking back to you. Lecture notes become a revision podcast the night before an exam; a quarterly report becomes something you can absorb on the commute. This is the moment Snip stopped being a tool for podcasters only and became a tool for anyone with something worth listening to.

Publishing was a second job. So Snip hosts your RSS feed itself — free, forever, with no bandwidth bill — which is exactly the thing most podcast hosts charge for. Submit the feed to Apple Podcasts and Spotify once; after that, every episode goes live with one tap.

And when an AI job fails? It refunds itself. The server watches every job, and a failed transcript or a stuck render returns its credits automatically — four separate refund paths, none of which require the user to ask. Trust is a pricing feature too.

Every one of these was once a browser tab, a subscription, a render queue, or a lost Sunday. Now they are buttons.

Every story is worth telling. With Snip, telling it is finally easy. (Her hikaye anlatmaya değerdir — Snip ile bu artık çok daha kolay.)

Part II — The intelligence behind the growth A warm story is not a business, so we built the unsentimental half too. Three systems run Snip's growth: a marketing autonomy under a written constitution, a push system with manners, and a monetization model where no number is a guess.

Marketing that runs itself — under a written constitution Snip's marketing is executed by an AI agent, but it is governed like a regulated utility. There is a written policy file — hard budget ceilings, a kill-switch, a $2.00 bid cap, one variable per experiment, no judgment on any keyword with fewer than 20 taps, and named human-approval gates for anything that touches the store listing.

Two scheduled runs share the work and are forbidden from touching each other:

The daily run (every morning) is money safety. It reads only the ads API: enforces the weekly spending ceiling, rewrites daily budgets as the week burns down, pauses everything near the cap, checks that campaigns are actually delivering rather than silently dead, and harvests search terms with two mechanical rules — a term with taps and no installs becomes a negative keyword; a term that installs cheaply enough gets promoted to an exact-match keyword at a capped bid. It decides within policy, applies the change, and writes a dated report. The weekly run (every Monday) is thinking. It reads six senses — store analytics, ads, our own Postgres funnel, RevenueCat, reviews, competitors — writes one measurement row so trends exist as a series, rules on every experiment whose stop condition has been reached, and hands Arda a one-page report: three numbers, three decisions, one lesson. The two runs take a mutex on the repository; if one is still working, the other simply stands down and says so in its report. Every experiment is written with two stop rules — one that fires when data accumulates, and one that fires when data never arrives — because zero is not "not enough data"; zero is an answer.

The part we are proudest of: the system keeps a ledger of claims it has disproved, including claims from our own earlier documents — a famous "+156% conversion" statistic that collapses under its own footnote, a "September podcast season" that turns out to be a listening season rather than a production one, an industry "collapse in podcast creation" that was a measurement artifact. Our marketing brain is allowed to call us wrong, in writing.

Push notifications with manners Push in Snip has three tiers of authority, and only one of them is a machine acting alone:

Job notifications are fully automatic — when your dub finishes at 3am, you hear about it at 3am, because you started that job at 2am; that's a courtesy, not a campaign. Mid-chain successes stay silent (the next step is already running); failures always speak, because the chain broke and your credits just came back. Gift reminders run autonomously, but inside written policy — an unopened weekly gift, a voucher about to expire. Facts about things you already own. Campaigns and announcements cannot send themselves. They are born PENDING in an approval file and go nowhere until a human flips the flag. Consent is split honestly: job updates and gift alerts are account state, on by default; announcements are marketing, off by default, opt-in from settings. And the server — never the client — enforces the etiquette: at most one marketing push per person per seven days, delivered only between 10:00 and 21:00 in the recipient's own timezone, with database-level uniqueness guaranteeing that one job can notify one device exactly once and one campaign can reach one person exactly once, ever. Re-running a campaign is structurally safe, not procedurally safe.

The gift machine Snip gives things away constantly, and none of it is random generosity — it is a designed economy with one rule from the founders' table: a gift must be meaningful. A coupon nobody can feel is spam wearing a bow.

A new account gets 60 credits, and the path to a first published episode costs about 45. The free tier is not a demo; it is engineered to end in a real, published episode with credits to spare. Publishing pays. Every genuinely published episode grants credits back (with guards: minimum length, no guest accounts, no self-dealing via editions), and your first publish gifts the next transcript free — capped in minutes, so a three-hour upload cannot turn a gift into our provider bill. Milestones hand you the next tool, not just points: your first finished transcript gifts a round of clips — each gift deliberately opens the door you haven't walked through yet. Recording with a guest pays both people, once — because every guest is a new human inside the app, and a two-sided reward is the honest version of a referral program. A weekly gift wheel runs every Monday, and it does not spin blind: it reads the account and gifts the missing experience — a recording with no transcript gets a transcript; a transcript with no clips gets clips. The wheel's job is to move you one step deeper into your own story. Gifts are never "claimed" — a voucher applies itself the moment you start the matching job, works even at a zero balance, and if the job fails, the voucher is restored along with the refund. Every grant carries a deterministic key in the ledger, so double-firing is impossible by schema, not by discipline.

And the paywall placement is the same philosophy inverted: with the welcome credits and publish rewards, the first payment moment lands in the middle of your third episode — after you have published twice and the app has proven itself — and even then it arrives with an alternative exit: record with a guest and earn the credits instead. Growth is always offered as a substitute for payment.

Monetization that was designed, not felt Snip sells exactly two things. Credits buy AI work and are consumed. One Pro subscription ($9.99/month) buys a better rate per credit, a monthly credit quota — and it is the only door to the expensive capabilities.

No credit price in Snip is a guess. Early on, one perfectly reasonable-looking line of code priced dubbing at 25 credits while the real provider cost was orders of magnitude higher — written by a careful person on a normal afternoon. That scare became the system: every job's price is now derived from measured provider cost against a fixed internal cost anchor, every AI job records what the provider actually reported consuming, so "what does this job truly cost" is a database query, not an estimate — and prices live in Postgres, changed only by migration, which means every repricing has a date and a reason in version control. When we later measured five real dubs and found the old price violating our own anchor, we raised dubbing from 400 to 500 credits — not because it lost money, but because it broke our own rule.

And the numbers are calibrated to a person, not a spreadsheet. We priced the app against the behavior of a typical podcast producer — the four thirty-minute episodes a month that a real show actually makes. A full episode workflow (transcript, cover, clips, audiogram, story art, music, subtitles, notes) costs about 115 credits; a typical producing month uses fewer than half the credits Pro includes. The monthly quota is not generosity and not a trap — it is insurance in both directions: the subscriber almost never feels a ceiling, and the ceiling caps our provider exposure. Unused credits roll over — we even rewrote the paywall the day we noticed it promised worse than the code delivered.

What is Pro, and why — the logic, not the list:

Dubbing is Pro because it is the thickest provider bill in the app, and our answer to expensive is not discount but gate: access is bought with the subscription, consumption is still paid in credits. "Unlimited dubbing for subscribers" would have collapsed the model in a month; "Pro opens the door, credits meter the room" is stable at any scale. Document-to-episode is Pro for the same reason — every generated minute is metered synthesis cost, so it lives behind the same door and spends credits per minute. Removing the five-second "Made with Snip" signature from clips is Pro, and the decision is enforced on the server — a locked toggle in the client would be decoration. Free users' clips carry our growth loop; Pro buys clean. Subscribers buy extra credits about 20% cheaper, as real twin products — so the subscription stays a better rate even after the quota is spent. The plumbing is RevenueCat end to end, with one deliberate refusal: we did not use virtual-currency balances hosted anywhere else, because a balance that lives in two places will eventually disagree with itself. RevenueCat's webhook writes every purchase into our server-side credit ledger — the single source of truth — Edge Functions debit and refund against it, and the client can only read. Entitlement is stored as a timestamp rather than a boolean, so a missed expiration webhook cannot leave anyone Pro forever; out-of-order webhook deliveries resolve by "furthest end date wins"; a refund cuts access immediately while a mere auto-renew cancellation politely lasts until the period ends. Boring, deliberate, and tested in both directions.

And the free promise is permanent: recording, editing, mixing, publishing, and RSS hosting cost nothing, forever. The expensive thing in podcasting was never the microphone — it was everything after. That is the part we made free; we charge for the magic, and we price the magic by measurement.

Part III — The ship's log: what happened after launch We didn't build toward a demo day; we shipped early and let the store meet the app. The repository was empty on August 2, 2026. Twenty days later we submitted 1.0, and on August 29 at 20:32 UTC Snip went live on the App Store — 27 days from first commit to a paid product in 175 storefronts, more than three weeks ahead of the Shipaton deadline.

Four App Store releases followed in the first three weeks:

August 29 — 1.0. The full studio: remote recording with six-digit guest codes and per-device tracks, transcript editing, clips, covers, show notes, subtitles, AI music, dubbing into eight languages with per-language shows and feeds, free RSS hosting and one-tap publishing, credits + Pro, the gift economy — in seven UI languages, light and dark, on day one. September 2 — 1.0.1. Push notifications with the consent model described above (job updates and gift reminders, marketing strictly opt-in); three custom product pages for ad experiments; keyword fields rebuilt in all seven languages from Apple's own search-popularity data. September 8 — 1.0.2. Document-to-episode — the personal-trainer feature: a PDF, your notes, or a photo of a page becomes a two-host episode in seven languages. It repositions Snip from a recording tool to a storytelling tool: a new name, icon and subtitle ("Turn documents into episodes"), nine new store frames in each of the seven languages, and a category move to Productivity. September 14 — 1.0.3. Link-to-episode: paste the URL of any article and it becomes an episode. The page is fetched and read on the device itself — zero new server attack surface — then flows through the same script-and-voices pipeline, behind fail-closed content-safety gates on the server. Document-to-episode now accepts documents, photos, pasted text, and the open web. And as we submit, the cadence hasn't stopped — 1.0.4 is already in TestFlight, and the server side ships even between store releases: on September 27, dubbing moved to single-take voices per speaker and broadcast-style music ducking, live the same day with no app update required.

Then the store answered. Everything below comes from App Store Connect Analytics, Apple Ads and our own Postgres — measured, never modelled, and refreshed one final time on submission day, September 30:

Visibility: the App Store showed Snip in 19 countries within 48 hours of launch, on zero ad spend. At peak, 7,726 store impressions in a single week. Downloads: 54 first-time downloads measured through September 22 — Apple's download report then went quiet for the final stretch, so treat that as a floor, not a total — from 12 countries, led by Türkiye, our home market, and the United States. Eight of those twelve (France, Finland, Italy, Ghana, Panama, the Dominican Republic, Nigeria, and Türkiye itself) are countries we never advertised in; the newest arrival, Nigeria, found us through plain App Store search. Ratings: 2 ratings, 5.0 average — both five stars. Paid discovery, used as a measuring instrument — then deliberately switched off: $222.57 total under the $100/week constitution, for 16,714 ad impressions, 200 taps and 30 installs — a blended $7.42 per install, the first week of it earned inside a written observation freeze, touching nothing and only learning. On September 22 we turned the campaigns off ourselves, and the switch-off was itself a measurement: weekly store impressions fell 72% and product-page views 81%, so we now know exactly how much of our shop window was bought — and what the organic floor looks like. That number, not a feeling, is what the next growth decision will be built on. These are small numbers, weeks old, and reported to the decimal on purpose. The growth system in Part II exists precisely to turn small honest numbers into compounding ones — and the ledger above is its baseline, not its ceiling.

Built in public — literally, on air Snip's development diary is not a thread on social media; it is a podcast. From the very first day we have been documenting this journey on Token Podcast, our show on Spotify and Apple Podcasts — the same show whose Sunday-eating production pain started this whole story.

Episode 1 — August 2, 2026, published the same day this repository received its first commit: the two of us laying out the idea, why it matters to us, and what we wanted Snip to become. Listen: https://open.spotify.com/episode/1FVi9PoMkIYxRxFjTQ8lbg Episode 2 — a progress report from inside the build: how development was going, and a walk through the features Snip would ship with. Listen: https://open.spotify.com/episode/6Dk5mfJEUWVugB4N1Eg5m5 The diary now runs through the app it documents. Token Podcast's newest episode was produced and published in Snip itself — and when its dub didn't sound right to our own ears, that complaint became a pipeline rewrite within a day: one continuous take per speaker, a single steady tempo per pass. Being our own harshest customer is our QA process. And the diary has a second audience. Snip is written end to end with Claude Code, so we also share the project as it grows with the Claude Türkiye community — the Turkish community of people who build with Claude. They are the toughest kind of early audience: builders who know exactly what they are looking at. We handed out Pro offer codes there so they could try the full app, dubbing included, and the first Pro trials from those codes are already running.

The episodes are in Turkish, and that is not an apology — it is the point. The language ceiling this story describes is the very one our diary lives under — and we have already test-driven the lift on ourselves: Episode 12 was dubbed into English by Snip's own pipeline, our matched voices speaking a language we never recorded, judged the way podcasters judge everything — by ear. The newest public piece of the diary went up during this very submission: a short episode produced with Snip while we prepared the Shipaton entry, published on YouTube — https://youtube.com/shorts/CIKt_lPL5aw. The diary of building the app is made by the thing it documents.

We built Snip because our own stories were expensive to tell, and we suspected we weren't alone. Every Sunday we used to lose is now a set of buttons; every language we couldn't speak is now a feed. The two of us still sit down, press record, and talk about AI — but now the phone does the other fifty jobs.

Every story is worth telling. With Snip, telling it is finally easy.

Built With

  • fly.io
  • revenuecat
  • supabase
  • swiftui
Share this project:

Updates

Submission history