Full control over every revert — undo just what broke, keep everything else you built.
Join the waitlistLovable's built-in revert is whole-project, not selective. You can preview a past checkpoint before committing, and nothing's really deleted — but reverting still jumps the entire project back to one point in time. Everything built after that point — your teammate's styling pass, the copy edits, the feature that actually worked — gets knocked out of the live app and dropped back into chat, waiting for you to reapply it by hand, one prompt at a time.
PromptTrail tracks every prompt you send, timestamped and mapped to what it actually changed. When something breaks, you scan that plain-language history, pick the prompt that did it, and undo just that one — automatically, without reapplying anything else.
Lovable already writes a plain-language summary every time it makes a change. PromptTrail lines those up in order — no code diffs to parse, no guessing which one broke it.
We'll email you when PromptTrail is ready to try on your Lovable project.
Yes — PromptTrail works by reading your Lovable project's GitHub sync, so it needs your Lovable project connected to a GitHub repo. That connection is free and built into Lovable. If you haven't set it up yet: open your Lovable project, go to GitHub → Connect to GitHub in the project settings, and authorize the Lovable GitHub app on the repo you want to track. It takes about a minute and doesn't change how you use Lovable day-to-day.
Lovable already writes a short plain-language summary for every change it makes and pushes it as a commit. PromptTrail reads that straight from your synced GitHub history — timestamped, one entry per prompt — into a trail you can scan and revert to any point in.
Almost — Lovable needs one manual step to catch up. After PromptTrail pushes the revert, open the project in Lovable and click update preview once; after that it's live and fully editable again, same as any other change.
The first version is scoped to Lovable. Tell us on the waitlist form if you'd want it for Bolt.new, v0, or Replit Agent too — that's exactly what we're trying to find out.