[{"data":1,"prerenderedAt":576},["ShallowReactive",2],{"blog:index":3,"site":564},[4,114,396],{"id":5,"title":6,"author":7,"body":8,"date":98,"description":99,"extension":100,"heroAlt":101,"heroImage":102,"meta":103,"navigation":104,"ogImage":105,"path":106,"seo":107,"stem":108,"tags":109,"updated":102,"__hash__":113},"blog\u002Fblog\u002Fa-condensed-memory-of-the-work.md","A condensed memory of the work","Michael Ruescher, Founder",{"type":9,"value":10,"toc":90},"minimark",[11,15,28,31,36,39,46,50,57,63,66,70,77,84,87],[12,13,14],"p",{},"Andrew coaches strength athletes in person, and he films every session. When\na client drives home, a short reel follows them: the best lift of the day,\nthe fix that finally clicked, the rep that looked the way it's supposed to\nlook.",[12,16,17,18,22,23,27],{},"The first time he described this, we almost mis-heard it as a marketing\nhabit. It isn't. The reels are ",[19,20,21],"strong",{},"part of the coaching",". A session is two\nhours; what a client can hold onto is about ninety seconds. The reel is that\nninety seconds, a condensed memory of the work, something to replay between\nvisits. Reel after reel, they become a running record of progress, and that\ncontinuity ",[24,25,26],"em",{},"is"," the relationship.",[12,29,30],{},"We think that's what recordings are actually for.",[32,33,35],"h2",{"id":34},"most-of-what-you-record-you-lose","Most of what you record, you lose",[12,37,38],{},"Think about your own archive for a second. The podcast episodes, the client calls,\nthe coaching sessions, the interviews: hours of the realest material your\nwork produces, and almost all of it is write-only. You record it, store it,\nand never open it again, because opening it costs too much. An hour of video\nis an hour of your life to review.",[12,40,41,42,45],{},"The industry's answer has been to make more content out of it. Ten viral\nclips from every episode. That treats your archive as ore for the feed, and\nit misses what Andrew understands instinctively: the recording's first\naudience is ",[24,43,44],{},"the people who were in it",".",[32,47,49],{"id":48},"clips-as-citations","Clips as citations",[12,51,52,53,56],{},"Everything BitterClip makes keeps a receipt. A clip isn't a loose file. It\npoints back to the exact words, the exact speaker, the exact seconds of the\nsource it came from. We think of a finished clip as a ",[19,54,55],{},"citation",": a claim\nabout what mattered, with the evidence attached.",[12,58,59,60,62],{},"That's what makes the condensed-memory habit trustworthy. Andrew's reel\nisn't \"content inspired by Tuesday's session.\" It ",[24,61,26],{}," Tuesday's session,\nthe true ninety seconds of it, with nothing invented in between. When he and\na client disagree about how the lift looked, the source is one step away.\nThe clip settles it, because the clip can prove where it came from.",[12,64,65],{},"And because your assistant can read the transcript, search it, and zoom into\nthe moment where someone actually said the thing, \"find where we talked\nabout her grip\" is a question, not an afternoon.",[32,67,69],{"id":68},"the-archive-should-age-like-wine","The archive should age like wine",[12,71,72,73,76],{},"Here's where this goes, and we'll be plain that we're partway there: an\narchive you can ",[24,74,75],{},"study",", not just store.",[12,78,79,80,83],{},"Andrew doesn't have one session with a client. He has months of them, in\norder. The good questions live across that sequence: what changed since\nMarch, which cue finally worked, what to plan for next Tuesday. BitterClip\nalready gives you the pieces, with every session transcribed, every speaker\nknown, every moment addressable. The work ahead of us is making the\n",[24,81,82],{},"sequence"," as readable as the session, so your assistant can read a season\nof work the way it reads an episode.",[12,85,86],{},"Most footage just sits in a folder somewhere. It piles up, and you never\nreally go back into it. Andrew's archive works the other way: every session\nhe adds makes the older ones more useful, because now there's a history to\nread across. It actually gets better with age, like good wine.",[12,88,89],{},"That's the promise of recording everything: not more posts, but a memory of\nyour work that's condensed enough to hold onto and cited well enough to\ntrust.",{"title":91,"searchDepth":92,"depth":92,"links":93},"",3,[94,96,97],{"id":34,"depth":95,"text":35},2,{"id":48,"depth":95,"text":49},{"id":68,"depth":95,"text":69},"2026-07-08","A coach we work with sends every client a highlight reel of their session — not as marketing, but as memory. That habit explains more about where BitterClip is going than any feature list.","md","A ledger of weekly training reels — five dated highlight reels, each sent to the client, the newest marked ready.",null,{},true,"\u002Fimages\u002Fblog\u002Fcondensed-memory\u002Fledger-og.jpg","\u002Fblog\u002Fa-condensed-memory-of-the-work",{"title":6,"description":99},"blog\u002Fa-condensed-memory-of-the-work",[110,111,112],"coaching","memory","receipts","Ib2qvDd18bvnUacsS7WDGqpJkBw8pv4OUENPDYIgW8c",{"id":115,"title":116,"author":7,"body":117,"date":98,"description":383,"extension":100,"heroAlt":384,"heroImage":385,"meta":386,"navigation":104,"ogImage":387,"path":388,"seo":389,"stem":390,"tags":391,"updated":102,"__hash__":395},"blog\u002Fblog\u002Fwe-stopped-making-templates.md","We stopped making templates",{"type":9,"value":118,"toc":377},[119,122,125,129,136,312,315,319,322,333,336,340,346,349,352,356,359,362,365,368,373],[12,120,121],{},"Open any clip tool and you'll find the same thing: a wall of templates.\nHundreds of them. Someone designed each one eighteen months ago, and it shows\n— they're frozen at whatever taste, trends, and tools existed the day they\nshipped. Your job is to scroll until one feels close enough, and then live\nwith \"close enough\" forever.",[12,123,124],{},"We shipped Identity Studio without a template wall, and it wasn't an\noversight. It was the whole point.",[32,126,128],{"id":127},"an-effect-is-a-program","An effect is a program",[12,130,131,132,135],{},"In BitterClip, an opener isn't a video file with your logo composited on\ntop. It's a ",[19,133,134],{},"scene"," — a compact program with a stage, elements, and\nmotion, keyed to time and sound. This is what a minimal one looks like:",[137,138,142],"pre",{"className":139,"code":140,"language":141,"meta":91,"style":91},"language-js shiki shiki-themes github-dark-dimmed","export const scene = {\n  id: 'my-scene',\n  mount(ctx) {\n    const root = document.createElement('div')\n    root.className = 'scene my-scene'\n    root.innerHTML = '\u003Cstyle>.my-scene{background:#000}\u003C\u002Fstyle>\u003Cb>YOUR MARK\u003C\u002Fb>'\n    ctx.layer.append(root)\n    return { root }\n  },\n  frame(ctx) {\n    \u002F\u002F motion, keyed to ctx.sync.progress and the soundtrack's amplitude\n    ctx.refs.root.style.opacity = ctx.sync.progress\n  },\n}\n","js",[143,144,145,168,180,196,221,233,244,256,265,271,283,290,301,306],"code",{"__ignoreMap":91},[146,147,150,154,157,161,164],"span",{"class":148,"line":149},"line",1,[146,151,153],{"class":152},"scLw-","export",[146,155,156],{"class":152}," const",[146,158,160],{"class":159},"sDGpf"," scene",[146,162,163],{"class":152}," =",[146,165,167],{"class":166},"s1ain"," {\n",[146,169,170,173,177],{"class":148,"line":95},[146,171,172],{"class":166},"  id: ",[146,174,176],{"class":175},"sP_-H","'my-scene'",[146,178,179],{"class":166},",\n",[146,181,182,186,189,193],{"class":148,"line":92},[146,183,185],{"class":184},"sLyBy","  mount",[146,187,188],{"class":166},"(",[146,190,192],{"class":191},"s7B5-","ctx",[146,194,195],{"class":166},") {\n",[146,197,199,202,205,207,210,213,215,218],{"class":148,"line":198},4,[146,200,201],{"class":152},"    const",[146,203,204],{"class":159}," root",[146,206,163],{"class":152},[146,208,209],{"class":166}," document.",[146,211,212],{"class":184},"createElement",[146,214,188],{"class":166},[146,216,217],{"class":175},"'div'",[146,219,220],{"class":166},")\n",[146,222,224,227,230],{"class":148,"line":223},5,[146,225,226],{"class":166},"    root.className ",[146,228,229],{"class":152},"=",[146,231,232],{"class":175}," 'scene my-scene'\n",[146,234,236,239,241],{"class":148,"line":235},6,[146,237,238],{"class":166},"    root.innerHTML ",[146,240,229],{"class":152},[146,242,243],{"class":175}," '\u003Cstyle>.my-scene{background:#000}\u003C\u002Fstyle>\u003Cb>YOUR MARK\u003C\u002Fb>'\n",[146,245,247,250,253],{"class":148,"line":246},7,[146,248,249],{"class":166},"    ctx.layer.",[146,251,252],{"class":184},"append",[146,254,255],{"class":166},"(root)\n",[146,257,259,262],{"class":148,"line":258},8,[146,260,261],{"class":152},"    return",[146,263,264],{"class":166}," { root }\n",[146,266,268],{"class":148,"line":267},9,[146,269,270],{"class":166},"  },\n",[146,272,274,277,279,281],{"class":148,"line":273},10,[146,275,276],{"class":184},"  frame",[146,278,188],{"class":166},[146,280,192],{"class":191},[146,282,195],{"class":166},[146,284,286],{"class":148,"line":285},11,[146,287,289],{"class":288},"sVrTk","    \u002F\u002F motion, keyed to ctx.sync.progress and the soundtrack's amplitude\n",[146,291,293,296,298],{"class":148,"line":292},12,[146,294,295],{"class":166},"    ctx.refs.root.style.opacity ",[146,297,229],{"class":152},[146,299,300],{"class":166}," ctx.sync.progress\n",[146,302,304],{"class":148,"line":303},13,[146,305,270],{"class":166},[146,307,309],{"class":148,"line":308},14,[146,310,311],{"class":166},"}\n",[12,313,314],{},"The real ones are richer — the Signal Lock effect that glitches your\nwordmark into focus is a few hundred lines — but the shape is the same:\nplain code, drawing on a stage, in time with sound. When your render bakes,\nthe scene bakes with it, into the actual MP4.",[32,316,318],{"id":317},"why-code-instead-of-templates","Why code instead of templates",[12,320,321],{},"Because code is the one format that gets better on its own.",[12,323,324,325,328,329,332],{},"A template is a frozen decision. Code is a ",[24,326,327],{},"language"," — and the striking\nthing about the last few years is that models have gotten very, very good at\nlanguages. When motion design is code, your AI assistant can do what a\nmotion designer does: write a draft, ",[19,330,331],{},"look at rendered frames of its own\nwork",", notice the wordmark is drifting or the beat lands late, revise, and\nlook again. That loop — write, preview, critique, revise — runs right inside\nyour ChatGPT or Claude conversation, against your brand pack, until the\nopener feels intentional.",[12,334,335],{},"We watched an assistant that had never seen these tools take a logo and a\none-line brief and produce a working signature opener, end to end, in one\nconversation. Not by picking template #47 — by writing the scene.",[32,337,339],{"id":338},"the-bet-underneath","The bet underneath",[12,341,342,343],{},"Here's the honest version of the bet: ",[19,344,345],{},"models improve every quarter;\ntemplate libraries don't.",[12,347,348],{},"If we shipped five hundred templates today, they'd be stale by spring, and\nthe only fix would be us designing five hundred more. Instead we shipped a\nsmall set of signature effects we're proud of — and a contract that lets any\nsufficiently good model author new ones. Every time the models get better at\ncode, at visual judgment, at taste, your ceiling rises. You didn't upgrade\nanything. Your subscription didn't change. The tool underneath your\nassistant just became a better designer.",[12,350,351],{},"That's the principle we build on across BitterClip: prefer general\nmechanisms that ride the improvement curve over special-cased features that\nfreeze it. Effects-as-code is the most visible example — the same idea runs\nthrough how assistants read transcripts, pick moments, and cut episodes.",[32,353,355],{"id":354},"what-stays-yours","What stays yours",[12,357,358],{},"Here's the part I should be honest about, because I lived it: the fiddling\ndoesn't go away. It moves up a level.",[12,360,361],{},"The signature effects that ship with BitterClip — Signal Lock included —\nwere made in exactly this loop, and it took a long, iterative process to\nget them right. But I never wrote a line of the code. I worked the way a\nproducer works: watch the take, react in plain language — \"I want the\nletters to feel like they're being smeared horizontally, but not\nvertically,\" \"the flash is too eager,\" \"let it settle a beat later\" — and\nlet the model translate taste into code. Less operating a timeline, more being Rick\nRubin on the couch: you don't play the instruments; you know when it's\nright.",[12,363,364],{},"That's the job that's left, and it's the good part. You bring the brand,\nthe references, the \"again, but calmer,\" and the final yes. The assistant\nbrings the hands. And because every scene is inspectable code bound to your\naccount, you can always open the lab, see exactly what it made, and change\nyour mind tomorrow.",[12,366,367],{},"The template wall asked you to settle. This asks you to produce.",[12,369,370],{},[24,371,372],{},"Your show, your taste, better hands every quarter.",[374,375,376],"style",{},"html pre.shiki code .scLw-, html code.shiki .scLw-{--shiki-default:#F47067}html pre.shiki code .sDGpf, html code.shiki .sDGpf{--shiki-default:#6CB6FF}html pre.shiki code .s1ain, html code.shiki .s1ain{--shiki-default:#ADBAC7}html pre.shiki code .sP_-H, html code.shiki .sP_-H{--shiki-default:#96D0FF}html pre.shiki code .sLyBy, html code.shiki .sLyBy{--shiki-default:#DCBDFB}html pre.shiki code .s7B5-, html code.shiki .s7B5-{--shiki-default:#F69D50}html pre.shiki code .sVrTk, html code.shiki .sVrTk{--shiki-default:#768390}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":91,"searchDepth":92,"depth":92,"links":378},[379,380,381,382],{"id":127,"depth":95,"text":128},{"id":317,"depth":95,"text":318},{"id":338,"depth":95,"text":339},{"id":354,"depth":95,"text":355},"Every effect in BitterClip is real code — which means your AI assistant can write one, look at rendered frames of its own work, and make it better. Why we built motion design that way.","The Signal Lock scene as code — a dark editor panel where the frame function carries the direction note 'smeared horizontally — but not vertically'.","\u002Fimages\u002Fblog\u002Feffects-are-code\u002Fscene-code.jpg",{},"\u002Fimages\u002Fblog\u002Feffects-are-code\u002Fscene-code-og.jpg","\u002Fblog\u002Fwe-stopped-making-templates",{"title":116,"description":383},"blog\u002Fwe-stopped-making-templates",[392,393,394],"Identity Studio","effects","AI assistants","egsG5YQXjyAlB3titjFsvgB-AdYyYoUsXOJcRu33-xs",{"id":397,"title":398,"author":7,"body":399,"date":98,"description":552,"extension":100,"heroAlt":553,"heroImage":554,"meta":555,"navigation":104,"ogImage":556,"path":557,"seo":558,"stem":559,"tags":560,"updated":102,"__hash__":563},"blog\u002Fblog\u002Fyour-show-has-a-signature-now.md","Your show has a signature now",{"type":9,"value":400,"toc":546},[401,404,411,414,418,428,435,441,447,451,454,460,468,471,474,483,487,490,503,509,512,527,530,534,541],[12,402,403],{},"Clips made by tools look like they came from a tool. You've seen it: the\nsame caption style, the same hard cut into the same watermark, ten near-identical\nshorts a day. The clip might be good. It still doesn't feel like it belongs to\nanyone.",[12,405,406,407,410],{},"A show you take seriously opens a certain way. The wordmark lands. The\nepisode title reads. The sound resolves. ",[24,408,409],{},"Then"," the moment plays. That beat —\ntwo seconds, maybe three — is the difference between \"a clip\" and \"an episode\nof something.\"",[12,412,413],{},"Today that beat is part of BitterClip.",[32,415,417],{"id":416},"what-shipped","What shipped",[12,419,420,423,424,427],{},[19,421,422],{},"Every project now has an FX tab."," Pick a signature effect — Signal Lock,\nHarmonic Resolve, and a growing set — bind it to your brand, and every render\nfrom that project opens and closes as ",[24,425,426],{},"yours",". Brand packs are strict dark or\nlight: your logo, wordmark, palette, fonts, and tagline on a pure stage, no\nmud in between. Opener titles are per-episode, so \"Episode 14: The Deadlift\nSession\" is baked into the video itself, not slapped on as a thumbnail.",[12,429,430],{},[431,432],"img",{"alt":433,"src":434},"Project FX tab showing the signature shelf with saved opener and outro effects.","\u002Fimages\u002Fblog\u002Fidentity-studio\u002Ffx-tab.jpg",[12,436,437,440],{},[19,438,439],{},"Signature Studio is the full-screen lab."," Audition motion and sound\ntogether, tune the beat until it lands, and save the result to your identity\nlibrary. The library lives at your account level — build the look once, set\nit as the default for a project, and every future render carries it.",[12,442,443,446],{},[19,444,445],{},"And it survives all the way to the file."," This isn't a preview skin. The\nopener, the outro, the title, the captions — they're rendered into the MP4\nyou download or publish, through the same pipeline that cuts the clip\nitself.",[32,448,450],{"id":449},"the-part-were-most-excited-about-your-assistant-can-design-it","The part we're most excited about: your assistant can design it",[12,452,453],{},"Here's the thing we built underneath, and it's the reason this release exists.",[12,455,456,457],{},"Motion design in BitterClip isn't a template picker. Every effect is a small\npiece of real code — a scene with a stage, elements, and motion keyed to time\nand sound. Which means something interesting: ",[19,458,459],{},"a model can write one.",[12,461,462,467],{},[463,464,466],"a",{"href":465},"\u002Fdocs\u002Fassistants\u002Foverview","Connect ChatGPT or Claude",", hand it your logo,\nand describe the vibe —\n\"minimal, confident, dark, one pulse of color when the wordmark locks in.\"\nYour assistant ingests the asset, writes your brand pack, and then writes the\nscene itself. It previews actual frames of its own work, looks at them,\nrevises the code, and previews again — the same loop a motion designer runs,\ncompressed into your conversation. When it feels right, it saves the result\nas your project's opener.",[12,469,470],{},"We watched an AI assistant that had never seen these tools before take a\nlogo and a one-line brief and produce a working signature opener —\nfull-frame stage, wordmark resolving on the beat, motion locked to the\nsoundtrack — end to end, in one conversation.",[12,472,473],{},"Why build it this way instead of shipping a hundred templates? Because\ntemplates are frozen at whatever taste we had the day we made them, and\nmodels get better every quarter. Effects-as-code means the ceiling on your\nopener is the ceiling on your assistant — and that ceiling keeps moving up.\nYou bring the taste and the yes\u002Fno. The assistant brings the hands.",[12,475,476],{},[24,477,478,479,482],{},"Want to see it on your own show? ",[463,480,481],{"href":465},"Connect your assistant","\nand ask for an opener.",[32,484,486],{"id":485},"built-with-our-design-partners","Built with our design partners",[12,488,489],{},"This release didn't come from a roadmap. It came from early customers who\nkept telling us what a finished show actually needs.",[12,491,492,495,496,502],{},[19,493,494],{},"Frontier Studio"," pushed us hardest here — Rohan, who hosts the\n",[463,497,501],{"href":498,"rel":499},"https:\u002F\u002Fwww.youtube.com\u002F@rohan_karunakaran",[500],"nofollow","Founder-Led Podcast",", is the\nreason we leaned into signatures at all. When we offered to start\nexperimenting with his show's raw footage, he texted back:",[504,505,506],"blockquote",{},[12,507,508],{},"Read my mind. MVP for a podcast: 30-sec sizzle intro hook, tightly\nedited, light audio\u002Fcolor grading on full episode. As close to\none-shotted thumbnail & title, description template based on library\ntemplate. Click to publish.",[12,510,511],{},"That text is the bar this release is built against: the hook, then the\nsignature, then the episode — the whole broadcast package, produced for\nevery episode, with taste applied once and carried automatically. \"Does\nthis feel like a real show?\" was the question every effect had to survive.",[12,513,514,517,518,523,524,526],{},[19,515,516],{},"Andrew"," of ",[463,519,522],{"href":520,"rel":521},"https:\u002F\u002Fwww.strengthandpositions.com\u002F",[500],"Strength & Positions","\ncoaches in person and films every session. The highlight reels\nhe sends his clients aren't marketing — they're part of the coaching: a\ncondensed memory of the session's best work, something a client holds onto\nbetween visits. Reel after reel, they become a running record of progress,\nand that continuity ",[24,525,26],{}," the relationship. What Andrew asked of us is that\neach reel feel like part of that ongoing story — same look, same care, an\nepisode of something the client is in — rather than a loose file in a text\nthread.",[12,528,529],{},"If you're producing a show or building a client business on recorded\nsessions and want to push on BitterClip with us, we'd love to hear from you.",[32,531,533],{"id":532},"getting-the-finished-thing-out","Getting the finished thing out",[12,535,536,537,540],{},"One more piece, because a signature clip that's stuck inside a tool isn't\nfinished: you can now mint a ",[19,538,539],{},"public download link"," for any rendered\noutput. It's a direct MP4 URL that expires (7 days by default, up to 14) —\nhand it to a client, drop it into a Zapier flow, feed it to a captioning or\nscheduling tool. No integration required on their side; if it can fetch a\nURL, it can take your clip. Ask your assistant for \"a public link to that\nrender\" and it's done.",[12,542,543],{},[24,544,545],{},"Know what mattered in the recording — then make it look like yours.",{"title":91,"searchDepth":92,"depth":92,"links":547},[548,549,550,551],{"id":416,"depth":95,"text":417},{"id":449,"depth":95,"text":450},{"id":485,"depth":95,"text":486},{"id":532,"depth":95,"text":533},"Introducing Identity Studio: branded openers, outros, and a signature look for every project — designed by you in a full-screen studio, or by your AI assistant, live, in the conversation.","Signature Studio full-screen lab showing a BitterClip wordmark opener mid-animation on a dark stage.","\u002Fimages\u002Fblog\u002Fidentity-studio\u002Fsignature-studio-hero.jpg",{},"\u002Fimages\u002Fblog\u002Fidentity-studio\u002Fyour-show-has-a-signature-now-og.jpg","\u002Fblog\u002Fyour-show-has-a-signature-now",{"title":398,"description":552},"blog\u002Fyour-show-has-a-signature-now",[392,561,562],"product launch","video branding","7Py7vVT4F-ibyYS-hQiGXZtdu1JutOIOkmo_yGdG9Nw",{"id":565,"app_origin":566,"extension":567,"mcp_resource_url":568,"meta":569,"og_image_default":570,"pricing_url":571,"signup_url":572,"stem":573,"support_email":574,"__hash__":575},"site\u002F_data\u002Fsite.yml","https:\u002F\u002Fapp.bitterclip.com","yml","https:\u002F\u002Fapp.bitterclip.com\u002Fmcp",{},"\u002Fimages\u002Fbitterclip-og.png","https:\u002F\u002Fbitterclip.com\u002F#pricing","https:\u002F\u002Fapp.bitterclip.com\u002Fsign_up","_data\u002Fsite","hello@bitterclip.com","Tgsbw67aXUlzV7fI_vtqnk0QtrKrpPlvl81_t8jnOlY",1783720358788]