Vibe Coding Tutorial: Build Your First App in 90 Minutes (No Code Needed)
Build a working app in 90 minutes using only plain English prompts — no syntax, no Stack Overflow, no frustration.
By Frank Yao | April 2026
What Is Vibe Coding?
I coined this method after watching my first student — a 58-year-old restaurant owner — build a working reservation system in under 2 hours using nothing but plain English. He had never written a line of code in his life. He just typed what he wanted into Claude, pasted the answer into Google Apps Script, hit run, and watched it work.
That moment is when I knew the rules had changed.
Vibe coding is describing software behavior in plain English so an AI model writes the code for you, then iterating with more plain English until it does what you want. The AI is your translator from idea to syntax. You stay in the driver seat — describing, testing, refining — but you never have to memorize a single semicolon.
If you want the longer breakdown of where the term came from and why it works, read what is vibe coding. If you are already convinced and want the structured curriculum, check out the vibe coding course.
What You Will Build in This Tutorial
Project
A Google Sheets Expense Tracker with AI Summaries
- A Google Sheet that auto-categorizes every expense row.
- A sidebar that summarizes your spending using Claude AI.
- A custom menu so you can run both with one click.
- Total build time: about 90 minutes including the auth screens.
Why this project? It has real-world utility (everyone tracks expenses), needs zero hosting, runs on tools you already have, and shows off both the categorization and AI summary patterns you will reuse on dozens of future builds.
Step 1 · 10 minutes
Set Up Your Environment
Open Google Sheets and create a new blank spreadsheet.
In the top menu go to Extensions → Apps Script. A new tab opens with an empty script editor. That is where the code lives.
I always start students with Google Apps Script because there is zero setup — it runs in the browser, it is free, and you can share the result instantly with anyone who has a Google account.
In your spreadsheet, label row 1 columns A, B, C, D as: Date, Description, Amount, Category. Leave row 2 onward empty for now.
Step 2 · 15 minutes
Write Your First Vibe Prompt
Open Claude (claude.ai) or ChatGPT in another tab. Paste this exact prompt:
Create a Google Apps Script that: 1. Reads column A (date), B (description), C (amount) from my Google Sheet 2. Auto-categorizes each row into: Food, Transport, Housing, Entertainment, or Other 3. Puts the category in column D 4. Run this when I click a custom menu item called "Categorize Expenses"
Hit send. Claude or ChatGPT will reply with code that looks very close to this:
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('AI Tools')
.addItem('Categorize Expenses', 'categorizeExpenses')
.toUi();
}
function categorizeExpenses() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
const categories = {
food: ['restaurant', 'cafe', 'grocery', 'food', 'coffee', 'lunch', 'dinner', 'breakfast'],
transport: ['uber', 'lyft', 'taxi', 'gas', 'transit', 'parking', 'bus', 'skytrain'],
housing: ['rent', 'hydro', 'insurance', 'mortgage', 'strata', 'utilities'],
entertainment: ['netflix', 'spotify', 'movie', 'concert', 'game', 'book'],
};
for (let i = 1; i < data.length; i++) {
const description = String(data[i][1]).toLowerCase();
let category = 'Other';
for (const [cat, keywords] of Object.entries(categories)) {
if (keywords.some(kw => description.includes(kw))) {
category = cat.charAt(0).toUpperCase() + cat.slice(1);
break;
}
}
sheet.getRange(i + 1, 4).setValue(category);
}
SpreadsheetApp.getUi().alert('Done! ' + (data.length - 1) + ' expenses categorized.');
}You did not write any of this. You described what you wanted in plain English and the AI translated. That is the entire point of vibe coding.
Step 3 · 10 minutes
Paste and Run the Code
Back in the Apps Script editor, delete the empty function myFunction() block. Paste the code Claude gave you in its place. Hit Save (Ctrl+S or Cmd+S). Name the project Expense Tracker.
Reload your Google Sheet tab. You will see a new menu called AI Tools appear at the top, right next to Help.
Add a few sample rows: 2026-04-01, Starbucks coffee, 6.50, 2026-04-02, Uber to airport, 38.20, 2026-04-03, Netflix, 19.99.
Click AI Tools → Categorize Expenses. The first time you run it Google will pop up an authorization screen.
Common error message: You need to authorize this script. Click Review Permissions, pick your Google account, click Advanced → Go to Expense Tracker (unsafe), then Allow.
The first time I ran this I got an auth error and thought I had broken something. You have not. Just click through the permission screen — Google warns you any time a script is your own, not just malicious ones.
Run it again. Watch column D fill in with categories. That is your first vibe-coded feature, working.
Step 4 · 20 minutes
Add AI Summaries with Claude API
Go to console.anthropic.com and create an API key. There is a free tier with enough credits to run this tutorial dozens of times. Copy the key — it starts with sk-ant-.
In Apps Script go to Project Settings (gear icon) → Script Properties and add a property named CLAUDE_API_KEY with your key as the value. This keeps the key out of your code.
Now back to Claude. Paste this prompt:
Write a Google Apps Script function called generateAISummary() that reads my expense data from columns A-D, calls the Anthropic Claude API to generate a plain-English spending summary, and displays it in a sidebar. Add a menu item under "AI Tools" called "Summarize My Spending" that runs it. The API key is stored in Script Properties under the key CLAUDE_API_KEY.
You will get back something close to this. Paste it under your existing functions:
function generateAISummary() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
// Build expense summary string
const expenses = data.slice(1).map(row =>
`${row[0]}: ${row[1]} - $${row[2]} (${row[3]})`
).join('\n');
const apiKey = PropertiesService.getScriptProperties().getProperty('CLAUDE_API_KEY');
const response = UrlFetchApp.fetch('https://api.anthropic.com/v1/messages', {
method: 'post',
headers: {
'x-api-key': apiKey,
'anthropic-version': '2023-06-01',
'content-type': 'application/json'
},
payload: JSON.stringify({
model: 'claude-3-haiku-20240307',
max_tokens: 500,
messages: [{
role: 'user',
content: `Analyze these expenses and give me a 3-sentence plain-English summary of my spending patterns:\n\n${expenses}`
}]
})
});
const result = JSON.parse(response.getContentText());
const summary = result.content[0].text;
// Show in sidebar
const html = HtmlService.createHtmlOutput(`<p style="font-family:sans-serif;padding:16px">${summary}</p>`)
.setTitle('AI Spending Summary');
SpreadsheetApp.getUi().showSidebar(html);
}Update your onOpen() function to add a second menu item that runs generateAISummary. Save. Reload the sheet.
Step 5 · 15 minutes
Test and Iterate
Add 10 sample expenses across different categories. Click AI Tools → Categorize Expenses. Confirm column D fills in. Then click AI Tools → Summarize My Spending.
A sidebar appears with a 3-sentence summary written by Claude. Read it. If the tone is too dry or too technical, head back to your Claude tab and paste this:
The summary is too technical. Rewrite the prompt inside the function to give me actionable advice like a financial coach would — warm, specific, and ending with one clear next step.
Claude returns an updated function. Replace your old generateAISummary with the new one. Save. Run it again. Better summary.
This is the real vibe coding loop. You run it, see what is wrong, describe the fix in plain English, paste the new code, run again. Repeat. This loop is how I built my first SaaS tool — by typing complaints into Claude until the complaints stopped.
Step 6 · 10 minutes
Share and Deploy
Click Share in the top right of your sheet and send it to a friend. They get a working AI expense tracker — your first piece of distributed software.
Want to ship it as a real web app? In Apps Script click Deploy → New deployment → Web app. Pick Anyone with the link. You now have a public URL.
What to build next, using the same loop:
- Add a budget tracker that flags overspending categories.
- Email a weekly summary to yourself every Monday morning.
- Sync recurring bills from a Google Calendar feed.
- Add a simple chatbot sidebar that answers questions about your spending.
Each one of these is a single Claude prompt away. That is what changes when you stop writing code and start describing it.
What Vibe Coding Can Actually Build
Real builds from AI Vibe Coding Mastery Course students who started exactly where you are right now:
Sarah
Built a restaurant booking system in 3 hours. Zero coding background. Now uses it for her catering side business.
Marcus
Automated his real estate CRM follow-ups in one afternoon. Cut his weekly admin time from 8 hours to 45 minutes.
Jenny
Built a client invoice generator that saved her 5 hours a week. Now sells the same tool to other freelancers for $29 a month.
The Numbers Behind Vibe Coding
55% faster: GitHub Copilot users complete coding tasks 55% faster than developers writing code by hand (GitHub, 2024).
76% adoption: 76% of developers now use AI tools in their daily workflow (Stack Overflow Developer Survey, 2024).
900% growth: Search volume for "vibe coding" climbed 900% year over year (Andreessen Horowitz, 2024).
20–45% productivity gains: Software development productivity gains of 20% to 45% reported by early AI adopters (McKinsey, 2023).
12,000+ AI tools: Over 12,000 AI tools launched in 2023 alone (Product Hunt, 2024). Most of them were built by people who cannot write Python.
The Vibe Coding Income Path
Here is the move my best students make right after they finish their first build. They do not stop at "I built a thing." They go to "I sold a thing."
The path has three stages:
- Build a tool that solves a real problem you or someone you know has. The expense tracker above is a real tool.
- Document the process in a short loom video, blog post, or Twitter thread. Show the prompts, show the result, show the time saved.
- Sell access OR sell the build. Path A: charge $9 to $49 a month for access to the tool. Path B: offer to build the same tool for small businesses at $500 to $2,000 per build.
For a deeper breakdown of which path matches your situation, read AI side hustle ideas for 2026.
Frequently Asked Questions
What is vibe coding exactly?
Vibe coding is the practice of describing software behavior in plain English and letting an AI model (Cursor, Claude, ChatGPT) generate the actual code. You test the result, describe the next change in plain English, and iterate. No syntax memorization required.
Do I need any coding knowledge to start?
No. You only need to read English and follow instructions. The 6-step tutorial in this post assumes zero coding background and walks you through copy-paste-test workflows from start to finish.
What is the best AI tool for vibe coding beginners?
Claude (claude.ai) and ChatGPT both work great for code generation. For inline editing inside a real editor, Cursor is the most beginner-friendly. For this tutorial we use Claude or ChatGPT in the browser — no editor install required.
How long does it take to build your first real app with vibe coding?
Around 60 to 120 minutes for your first working tool. The expense tracker in this tutorial takes about 90 minutes including authorization screens and testing. Subsequent projects move faster because you already know the prompt patterns.
Can vibe coding replace professional software developers?
Not for production-grade systems with security, scale, or compliance needs. But for personal tools, internal automations, MVPs, and small business apps, vibe coding produces working software fast. It also makes professional developers 20 to 55 percent more productive on routine tasks.
How do I go from vibe coding to earning money?
Three paths work: build a tool and sell access (subscription), document the process and sell the course or template, or offer the build as a service to small businesses. Most AI Vibe Coding Mastery Course students start with path three because it converts skill into income within the first 30 days.
Want to Build Real AI Apps That Generate Income?
Join AI Vibe Coding Mastery Course — 200+ students have followed this exact path from "no code background" to shipping their first paid AI tool.
Join AI Vibe Coding Mastery CourseFounded by Frank Yao · Hands-on cohort · Real builds, not theory