history, smarter output, and a new onboarding
browse and copy old output anytime
no more losing good tweets to a closed tab
swipefile-first prompting overhauled
outputs are actually different from each other now
3072 dimensions vs the old model
smarter at avoiding your existing tweets
daily crons + admin sync added
first-week experience is much cleaner
shows your range and total count clearly
bounds enforced so you can't go out of range
rebuilt meta tags and heading structure
rich topic pages restored
march had a clear theme: fix the things that were quietly annoying. not crashes. not broken features. just the slow friction that adds up when you use a tool every day.
the biggest thing i shipped was generation history. every tweet you generate is now stored and browsable. this sounds obvious in hindsight. you'd generate something good, close the tab, and it was gone. now it's not. the history announcement also came with a campaign UI for batch sends, which got a full rework. the old arrow-based day selector was confusing. i replaced it with explicit day buttons that show you exactly what range you're scheduling and how many tweets are in it. arrows are disabled at the bounds so you can't accidentally queue up day 96 of a 95-day batch.
the shitpost repetitiveness fix was something i'd been putting off. the outputs were technically varied but structurally samey. i added 48 distinct structural approaches to the prompt and switched to swipefile-first prompting, which means the model anchors on proven formats before it starts generating. if you use shitpost mode regularly, you'll notice the difference pretty fast.
i also upgraded the anti-RAG embeddings to gemini-embedding-2-preview, which runs at 3072 dimensions. the anti-RAG system is what stops the generator from producing tweets too similar to things you've already written. the new model is measurably better at that job. it's one of those backend changes that doesn't look like anything from the outside but shows up in output quality over time.
onboarding got a proper rebuild. new email sequences, daily crons, and an admin sync layer. previously the experience for a new signup was a bit of a blank stare. now there's a real flow. if you've sent someone a referral link in the last few weeks, their start looks a lot better than it would have a month ago.
the site itself got a cleanup pass too. dynamic OG images, rebuilt meta tags, fixed heading hierarchy, and the rich topic pages that had gone dark are back. none of this is product, but it matters for how the thing shows up when you share a link or search for it.
april is already underway. a few things in progress i'm not ready to talk about yet. in the meantime, go check your history tab. there's probably something in there worth posting.
what you get
- Your generation history is now saved. every tweet you generate is stored. go back, find that banger from two weeks ago, copy it again. no more losing good output to a closed tab.
- Shitpost mode got a lot less repetitive. i added 48 structural approaches and switched to swipefile-first prompting. if your shitposts were starting to feel like the same tweet with different words, this fixes that.
- The anti-RAG embeddings got a serious upgrade. switched to gemini-embedding-2-preview at 3072 dimensions. the model is better at not recycling your existing tweets when it generates new ones.
- Onboarding got a full rework. new email sequences, daily crons, and a proper flow for new signups. if you referred someone recently, their first few days look a lot better now.
- Batch sending UI is actually usable now. replaced the confusing arrows with explicit day buttons. you can see exactly which day range you're sending and the total count. arrows disabled at the bounds so you can't accidentally overshoot.
- The site got an SEO and branding pass. dynamic OG images, rebuilt meta tags, proper heading hierarchy, and rich topic pages restored. looks more legit in link previews now.
by theme
everything that shipped (23) →
- · pricing announcement + conversion fixes
- · fix: replace batch arrows with explicit day buttons, 95/day
- · fix: remove default Vercel favicon, use custom LB icon.png
- · fix: reduce batch size to 80, show user range and total, disable arrows at bounds
- · feat: history announcement campaign + batch send UI
- · fix: await email triggers instead of create_task (serverless compat)
- · docs: update changelog and README for history feature
- · fix: strip SESSION_ID sentinel from stream before tweet parsing
- · fix: Next.js 16 async params in history catch-all route
- · feat: persistent generation history
- · rewrite README with mermaid diagrams + full March changelog
- · fix shitpost repetitiveness: add 48 structural approaches + swipefile-first prompting
- · upgrade anti-RAG embeddings to gemini-embedding-2-preview (3072 dims)
- · Fix: wrap useSearchParams in Suspense boundary
- · Add weekly changelog cards
- · Update README with email sequences, crons, and CRON_SECRET
- · Email sequences, onboarding rework, admin sync, daily crons
- · Trigger redeploy to pick up PostHog env vars
- · Add PostHog analytics with event tracking
- · Add .next to root gitignore
- · Remove accidentally committed .next build artifacts
- · Fix heading hierarchy on landing page (h1 → h2 → h3)
- · SEO overhaul: rebrand meta, dynamic OG images, restore rich topic pages