Jan 17, 2025 · 1h 14m · startup-ideas
How to build your AI App with Cursor, Firebase, Vercel (Full Tutorial)
gold bands on the timeline = statements, start to end. Hover to read, click to jump. CC turns on captions
In this comprehensive live coding tutorial, host Greg Isenberg and builder Riley Brown demonstrate how to build and deploy a full-stack AI image generation web application from scratch using Cursor Agent, Replicate APIs, Firebase, and Vercel.
How this conversation actually went
Every chapter scored 0–10 on four independent dynamics. Hover any point for the reasoning behind the score. Greg holds 7.4% of the talking time here. How this is scored →
speaking balance: gold is Greg, purple is the guest (3 minute bins)
Riley pushes back against Greg's generalization of Cursor Agent as a mid-level developer, distinguishing it from Devin's fully autonomous ambition.
Hardest push from Greg ▶ 1:07:55 Greg defends domain extension branding over .aiGreg doubles down on pitching specific domain branding like diagrams.ms and diagrams.co when Riley expresses indifference toward non-.com domains.
Biggest teaching moment ▶ 1:08:57 Resolving Firebase live deployment auth errorsRiley points out the critical deployment step of authorizing the Vercel production domain inside Firebase Auth settings to make social login work live.
Greg holds their own ▶ 1:00:13 Greg pitching live available domain strategiesGreg demonstrates his product branding expertise by real-time researching and proposing domain names for the diagram tool concept.
the scores for every segment, with the reasoning behind each
| Chapter | Topic | Greg as informed peer | Guest teaching | Guest disagreement | Greg pushing back | Why |
|---|---|---|---|---|---|---|
| Initializing the Project with Cursor Agent | 1 | 5 | 0 | 0 | Greg sets the stage by acknowledging he didn't realize Cursor Agent had evolved this significantly. Riley guides the walkthrough on initializing a blank local folder and cloning templates via Cursor Agent. | |
| Sponsor Segment: Startup Empire | 2 | 4 | 0 | 1 | Following a sponsor break, Greg asks whether Riley recommends 'YOLO mode' for users. Riley explains the trade-offs between automated terminal execution and safety depending on developer experience. | |
| Formulating the App Concept and Researching APIs with Perplexity | 2 | 5 | 1 | 2 | Greg playfully challenges Riley to build something difficult that will make him sweat on camera. Riley steers the agenda toward demonstrating how to research API documentation using Perplexity. | |
| Crafting the Replicate API Prompt in Cursor Composer | 1 | 6 | 0 | 0 | Riley explains his mental framework for AI coding with external APIs (instructions, examples, tokens) and pastes Replicate code into Cursor Composer. | |
| Troubleshooting API Errors with Documentation and Playgrounds | 1 | 6 | 0 | 0 | When the initial API request fails, Riley teaches the best practice of pulling node.js snippets directly from Replicate's official docs and interactive playgrounds to feed Cursor context. | |
| Iterative Debugging and Achieving the First Image Generation | 3 | 5 | 2 | 1 | Greg suggests Cursor Agent is essentially functioning as a junior or mid-level developer. Riley refines the distinction, noting Devin is attempting full automation while Cursor excels at rapid iterative workflows. | |
| Enhancing Model Parameters and Upgrading to Flux Pro | 2 | 5 | 0 | 1 | Riley integrates parameter inspection pop-ups and switches to Flux Pro. Greg asks how ordinary non-technical creators determine the best AI models to implement. | |
| Integrating Ideogram for Text-in-Image Generation | 3 | 5 | 0 | 1 | Riley integrates Ideogram for typography generation and discusses rapid prototyping as conceptual sketching. Greg emphasizes that builders need a resilient mindset when navigating errors. | |
| Redesigning the UI for 'Mount Cursor' | 2 | 4 | 0 | 0 | Riley prompts Cursor to completely redesign the user interface for 'Mount Cursor' without altering underlying functionality, observing live updates in the local browser view. | |
| Configuring Firebase Project and Firestore Database | 1 | 6 | 0 | 0 | Riley guides the audience through setting up a Google Firebase project, initializing Firestore in test mode, and copying credentials into Cursor's environment config. | |
| Enabling Firebase Storage, Authentication, and Gallery View | 2 | 5 | 0 | 0 | Riley configures Firebase Storage spending caps to guard against scraping attacks and enables Google Auth, adding a persistent 'My Images' gallery. | |
| Initializing GitHub and Starting Vercel Deployment | 1 | 5 | 0 | 0 | Riley demonstrates creating a remote GitHub repository and instructing Cursor Agent to commit the codebase and initiate a Vercel deployment CLI workflow. | |
| Configuring Vercel Environment Variables and Redeploying | 3 | 4 | 1 | 2 | While Riley navigates Vercel's environment variables to fix build errors, Greg pitches startup naming ideas and discusses domain extensions like diagrams.ms. | |
| Authorizing Production Domains and Verifying the Live App | 1 | 6 | 0 | 0 | Riley solves the final authentication failure by whitelisting the live Vercel domain inside Firebase Authorized Domains, followed by a full architecture summary. | |
| Project Plugs, Greg's Age Reveal, and Episode Conclusion | 1 | 1 | 0 | 0 | Riley plugs YapThread and Software Composers, and Greg finally resolves the running gag by disclosing that he is 35 years old. |