← all updatesmarch 2026

history, smarter output, and a new onboarding

bangers onlywhat shipped · march 2026
🗂️generation history
every tweet you generate is now stored
browse and copy old output anytime
no more losing good tweets to a closed tab
🎭shitpost variety fix
48 new structural approaches added
swipefile-first prompting overhauled
outputs are actually different from each other now
🧠better embeddings
upgraded to gemini-embedding-2-preview
3072 dimensions vs the old model
smarter at avoiding your existing tweets
📬onboarding rework
new email sequences for fresh signups
daily crons + admin sync added
first-week experience is much cleaner
📅batch UI overhaul
explicit day buttons replace arrow controls
shows your range and total count clearly
bounds enforced so you can't go out of range
🔍SEO + site polish
dynamic OG images on every page
rebuilt meta tags and heading structure
rich topic pages restored
23 commits59 files7,804 linesall live

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

by theme

output quality
two separate investments in making the tweets themselves better. the shitpost structural overhaul and the embeddings upgrade both target the same problem from different angles: output that doesn't feel like a remix of itself.
history and retrieval
generation history is the most-requested thing i hadn't built yet. it's live now. every tweet you've generated is stored and accessible. the batch send UI got rebuilt alongside it to make the scheduling side less confusing.
onboarding and lifecycle
new email sequences, daily crons, and a proper admin sync. the first-week experience for new users is now an actual experience rather than a cold start.
site and discoverability
OG images, meta tags, heading structure, topic pages. the kind of work that's invisible when it's done right but embarrassing when it isn't.
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