Performance and Cost
Fast apps and sane AI/API bills.
Performance and Cost is a free Vibe Coding lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Vibe Coding learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Fast Apps, Sane Bills
Your app works — but is it fast, and what does it cost to run? Vibe-coded apps often have hidden performance problems and surprise AI/API bills. This lesson shows you how to keep both under control.
You don't need deep optimization skills. You need a few habits and the right questions to ask your AI.
Measure Before You Optimize
The biggest mistake is guessing where the slowness is. Measure first. A quick timer around suspicious code tells you the truth — often the bottleneck isn't where you'd expect.
This snippet times how long a piece of work takes.
function slowWork() {
let total = 0;
for (let i = 0; i < 1000000; i++) total += i;
return total;
}
const start = performance.now();
slowWork();
const ms = performance.now() - start;
console.log('Took ' + ms.toFixed(2) + ' ms');The Most Common Slowdown: Doing Work in a Loop
A classic performance killer is calling a database or API inside a loop — one call per item, hundreds of times. The fix is usually to fetch everything in one go.
Spot the difference.
// SLOW: one database call per user (the N+1 problem)
for (const id of userIds) {
const user = await db.getUser(id);
process(user);
}
// FAST: one call for all of them
const users = await db.getUsers(userIds);
users.forEach(process);Ask AI to Find Bottlenecks
You can hand your code to AI and ask it to hunt for the slow parts. Be specific about what you suspect so the answer is focused.
Review this code for performance problems. Look especially for:
- database or API calls inside loops
- the same data fetched repeatedly
- work that could be cached
Rank the issues by impact and show the fix for the worst one. Here is the code: <paste>Cache What Doesn't Change
If you compute or fetch the same thing over and over, save the result and reuse it. This is caching. A simple in-memory cache can turn a slow repeated call into an instant lookup.
const cache = new Map();
function getExchangeRate(currency) {
if (cache.has(currency)) return cache.get(currency); // instant
const rate = expensiveLookup(currency); // slow, runs once
cache.set(currency, rate);
return rate;
}
function expensiveLookup(c) { return c === 'EUR' ? 1.08 : 1; }
console.log(getExchangeRate('EUR'), getExchangeRate('EUR'));Don't Ship a Giant Frontend
On the web, performance is often about how much you send to the browser. Huge images and bloated JavaScript bundles make pages load slowly, especially on phones.
Ask your AI tool to slim things down — it knows the modern tricks.
My web page loads slowly. Help me reduce what's sent to the browser:
- compress and lazy-load images
- split the JavaScript so unused code isn't loaded upfront
- point out any large dependencies I could drop
Tell me the single change with the biggest impact first.AI Calls Cost Real Money
If your app calls an AI model (like the Claude or OpenAI API), every request costs money based on tokens — roughly, the amount of text in and out. A popular app making many calls can run up a real bill fast.
The instinct to send huge prompts "just in case" is what blows budgets. Send only what's needed.
Cut AI Costs Without Cutting Quality
Several levers reduce AI spend dramatically:
- Use a smaller/cheaper model for simple tasks; save the powerful one for hard ones.
- Shorten prompts — trim filler and only include relevant context.
- Cache answers for repeated questions instead of re-asking the model.
- Limit the output length when you don't need a long reply.
My app calls an AI API on every user message and the bill is high. Help me cut cost:
- which requests could use a cheaper, smaller model?
- how do I trim the prompt without losing accuracy?
- can I cache repeated questions?
- how do I cap the response length safely?Set Budgets and Alerts
The simplest way to avoid a shocking bill is to set a spending limit and an alert. Most API dashboards (Anthropic, OpenAI, your hosting provider) let you cap usage or get notified at a threshold.
Turn this on before you launch, not after the bill arrives.
Don't Over-Optimize Too Early
Balance matters. Spending days shaving milliseconds off an app with ten users is wasted effort. The rule: make it work, make it correct, then make it fast — and only where it actually matters.
Measure, fix the biggest real problem, and move on. Premature optimization makes code complex for no benefit.
A Performance & Cost Checklist
Before you ship, run through this with your AI:
- Measured the slow parts — not guessed.
- No database/API calls stuck inside loops.
- Repeated expensive work is cached.
- Frontend ships compressed images and split JS.
- AI calls use the right-sized model and trimmed prompts.
- Spending limits and alerts are set.
Quick Check
Your app feels slow. Before changing any code, what's the smartest first step?
Recap: Fast and Affordable
You learned to keep vibe-coded apps fast and cheap: measure before optimizing, avoid calls inside loops, cache repeated work, slim down the frontend, and control AI/API costs with smaller models, trimmed prompts, caching, and spending alerts.
And don't over-optimize — fix what matters, where it matters. That wraps up Productionizing AI Code: your apps are now tested, secure, maintainable, fast, and affordable. Real builder territory!
Frequently asked questions
Is the “Performance and Cost” lesson free?
Yes — the full text of “Performance and Cost” is free to read here on the web, and the Vibe Coding course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Vibe Coding course, upgrade to CoddyKit PRO.
What will I learn in “Performance and Cost”?
Fast apps and sane AI/API bills. You practise Vibe Coding with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Vibe Coding?
No prior experience is required. Vibe Coding on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Performance and Cost” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Vibe Coding lesson?
Yes. Every Vibe Coding lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Adding Tests with AI
- Security Basics for AI Code
- Keeping Code Maintainable
- Performance and Cost