31 prompts that make a vibe-coded app fast
5 min readMyClawBots
- vibe-coding
- performance
- claude
- prompts

An app built fast with AI usually works. It just feels slow: a blank screen while data loads, a 3 MB photo on the home page, the same request fired three times. None of that is the AI's fault. Nobody asked for the fixes.
Here are all 31 from the Lemme Decode reel, written as prompts. Paste one section at a time into Claude Code (or any coding agent) inside your project, review the diff, and test before you ship.
Start here: one audit prompt
Speed audit
Audit this app for speed. Check every item below, tell me which ones are already handled, which ones are problems, and where in the code each problem is. Don't change anything yet. Rank the problems by how much faster the app would feel once fixed.
Skeleton screens while loading · WebP/AVIF images · duplicate API calls · debounced search inputs · paginated API results · static files on a CDN · slow work in a background job queue · N+1 database queries · Brotli or gzip compression · caching hot data (Redis) · unused dependencies · timeouts on external API calls · streaming AI responses · optimistic UI updates · lazy-loaded images · parallel independent requests · database indexes for common queries · tracing slow requests (OpenTelemetry) · server close to the database · server or build-time rendering · third-party scripts loaded after the page · JavaScript split per page · virtualized long lists · selecting only needed columns · database connection pooling · unnecessary re-renders · browser caching headers for static files · load balancing across instances · self-hosted fonts with fewer weights · real-user speed monitoring · testing on slow phones and networks.
What the user sees first (1, 13, 14, 15, 20, 26)
First paint and feel
Make this app feel faster on screen:
1. Replace blank screens and spinners with skeleton screens shaped like the real content.
2. Stream AI responses to the UI token by token instead of waiting for the full answer.
3. Use optimistic updates for likes, saves and edits: update the UI first, roll back if the server fails.
4. Lazy load images and heavy components that start below the fold.
5. Render pages on the server or at build time where the content allows it.
6. Find components that re-render without their data changing and stop it (memoization, stable props, splitting state).
Show me each change and why it helps.
Images, files and fonts (2, 6, 9, 11, 21, 22, 27, 29)
Assets
Cut what the browser has to download:
1. Serve images as WebP or AVIF with the right size per screen, with a fallback.
2. Serve static files through a CDN.
3. Turn on Brotli compression, with gzip as the fallback.
4. Find and remove dependencies nothing imports, and show the bundle size before and after.
5. Load third-party scripts (chat, analytics, ads) after the page is interactive.
6. Split the JavaScript per page or route so each page loads only its own code.
7. Set long cache headers on versioned static files.
8. Self-host the fonts and keep only the weights the design uses.
Requests and the network (3, 4, 5, 12, 16)
Requests
Fix how this app talks to its APIs:
1. Find places where the same request fires more than once and dedupe them (shared fetch, request caching or a data library).
2. Debounce search and autocomplete inputs so they don't query on every keystroke.
3. Paginate API results instead of returning everything.
4. Give every call to an outside API a timeout and a fallback.
5. Run requests that don't depend on each other in parallel.
Backend and servers (7, 10, 18, 19, 28)
Backend
Speed up the backend:
1. Move slow work (PDFs, emails, image processing, AI calls that the user doesn't wait on) to a background job queue.
2. Cache frequently read data in Redis with sensible expiry and invalidation.
3. Add OpenTelemetry tracing so we can see which part of a slow request takes the time.
4. Check that the app server and the database run in the same region, and tell me if they don't.
5. Make the app safe to run as several instances behind a load balancer (no in-memory sessions or local files it depends on).
Database (8, 17, 24, 25)
Database
Speed up the database work:
1. Find N+1 queries (a query inside a loop) and replace them with joins or batched queries.
2. Add indexes for the queries the app runs most, and show me the query plan before and after.
3. Select only the columns each query needs instead of SELECT *.
4. Use connection pooling, sized for where the app runs (serverless needs a pooler).
Prove it (30, 31)
Measure
Set up a way to know if the app is actually fast:
1. Add real-user monitoring for Core Web Vitals (LCP, INP, CLS) from real visitors, not my laptop.
2. Give me the steps to test on a slow phone and slow network: Chrome DevTools CPU throttling and a slow 4G profile.
What these prompts won't do
- They don't replace review. An agent can add an index that slows writes or a cache that serves stale data. Read every diff.
- Not every tip fits every app. A static site doesn't need a job queue or a load balancer. The audit prompt is there to tell you which ones matter.
- Speed you can't measure isn't a fix. Run Lighthouse or your monitoring before and after each section.
More tech, decoded: follow @lemmedecode.