DayDreamers

Enter passcode to access materials

Contact the instructor for access

Build Your First AI App 1 / 13

Build Your First AI App

From Idea to Working Product — March 7, 2026

Scoping Architecture Data Scraping Full-Stack Deployment
press arrow to begin
Overview 2 / 13
01 — Overview

What We're Building Today

Session Arc

Problem
Define scope
PRD
Feature spec
Architecture
Frontend + Backend
Data
Scraping
Build
AI-assisted
Deploy
Live on web!

What You'll Walk Away With

  • A live, deployed web app you built
  • Understanding of full-stack architecture
  • Skills to scope and spec products
  • AI-powered development workflow
This workshop is for non-technical builders. No coding experience required. AI does the heavy lifting — you do the thinking. Source Code Live App
The Problem 3 / 13
02 — Problem

Start With the Problem

"What is the 1 thing that you want to solve?"

Everything else is feature creep until this works perfectly.

Good Problem Statements

  • "I can't remember which games I own"
  • "We waste 20 min deciding what to play"
  • "I want to track who wins the most"

Common Mistakes

  • "I want to build the next BoardGameGeek"
  • Trying to solve 10 problems at once
  • Building features nobody asked for
Friends playing board games
Our problem: We have a board game collection but can't easily browse it, decide what to play tonight, or remember past games. Let's build an app for that.
Product Spec 4 / 13
03 — PRD

Writing a Product Spec

Feature Breakdown — MVP vs. Nice-to-Have

FeatureMVPPost-MVP
Browse game collection with searchMust
Game details (players, time, description)Must
Tonight's Picks with votingMust
YouTube tutorial embedsMust
Play session history & scoresLater
Add custom games via photoLater
Player leaderboardsLater
A PRD (Product Requirements Doc) is your blueprint. Write it before you write code. AI tools like Claude or ChatGPT can help you draft one from a problem statement. View our PRD on GitHub →

PRD Template

  1. Problem statement (1 sentence)
  2. Must-have features (3-5 max)
  3. Nice-to-have features
  4. Data model (what are you storing?)
  5. Tech stack choices
Frontend vs Backend 5 / 13
04 — Architecture

Frontend vs. Backend

Frontend vs Backend — car body vs chassis analogy

Frontend

What users see — buttons, pages, layout, colors. Built with React / Next.js.

Backend

Where data is stored, processed & served. Database, APIs, auth. Built with Supabase.

Next.js blurs the line — it handles both frontend (React pages) and backend (API routes, server components) in one project. That's why we chose it.

Our Architecture

Full-Stack Framework

Next.js (App Router)

React frontend + server-side rendering + API routes. One framework, full stack.

Styling

Tailwind CSS

Utility-first CSS. Fast, responsive, no custom CSS needed.

Database

Supabase

Hosted Postgres with instant APIs, auth, and real-time subscriptions. Free tier is generous.

Hosting

Vercel

Deploy from GitHub in one click. Built by the Next.js team. Free for personal projects.

Data Seed

Go Scraper

CLI tool + browser-use to scrape BoardGameGeek for game data.

Getting Data 6 / 13
05 — Data

Getting Data Is the Hard Part

Most apps are useless without data. Accessing, cleaning, and structuring data is often 50%+ of the work. Plan for this early.

Where Does Data Come From?

Option 1

Public APIs

Best case. Structured, documented, rate-limited. Not always available.

Option 2

Web Scraping

When there's no API. Extract data from websites. This is what we're doing.

Option 3

Manual Entry

Sometimes the simplest option. Works for small datasets.

BoardGameGeek

Our Data: BoardGameGeek

  • Game name, player count, play time
  • Box art images & descriptions
  • YouTube tutorial links
  • Ratings & year published

13 Games Scraped

Catan Dominion Wingspan King of Tokyo Sushi Go Party! SCOUT BANG!

+ For Sale, Startups, ito, Salt & Pepper & more

Example Output

{ "name": "Catan", "bgg_id": "13", "min_players": 3, "max_players": 4, "play_time_minutes": 120, "image_url": "https://cf.geekdo-images...", "tutorial_url": "https://youtube.com/...", "rating": 7.1 }
Browser Use 7 / 13
06 — Scraping

AI-Powered Scraping

Traditional Scraping vs. Browser Use

AspectPython / BeautifulSoupBrowser Use (AI Agent)
Setup difficultyWrite CSS selectors by handDescribe what you want in English
Dynamic contentBreaks on JS-rendered pagesUses a real browser, handles JS
Site changesSelectors break constantlyAI adapts to layout changes
Anti-bot measuresCAPTCHAs block youNavigates like a human
SpeedFast for simple pagesSlower (10-12 min per batch)
Go

CLI-Driven Development

Build a Go CLI tool that orchestrates the scraper. Input JSON list of games, output structured data. Repeatable, scriptable, version-controlled.

Go CLI browser-use API JSON in/out
Python

Why Not Just Python?

Python scraping scripts are fragile and break when sites change. Browser Use sends an AI agent to browse the site like a human — it understands context, not just HTML selectors.

Show Live Example — Agent scraping BoardGameGeek Browser Use agent scraping BoardGameGeek
Why Go CLI 8 / 13
07 — Philosophy

Why a Go CLI for Scraping?

Inspired by Peter Steinberger, founder of OpenClaw — one of the most prolific AI-native builders. His approach: "Whatever you want to build, start as CLI."
Go

The CLI-First Approach

  1. Agents call CLIs directly, verify output, and close the feedback loop
  2. Go’s simple types make AI-generated code more reliable with fast linting
  3. CLIs are repeatable, scriptable, version-controlled — no UI needed
  4. Text in, text out — the simplest interface for humans and AI
Go

Why Go Specifically?

Peter found that AI agents write excellent Go code. Go compiles to a single binary, has fast linting, and its straightforward syntax means fewer AI hallucinations. TypeScript for web, Go for CLIs — pick the right tool for the job.

Single binary Fast compilation Simple types AI-friendly
Claude Code terminal demo
Building with AI 9 / 13
07 — Build

Building with AI Assistance

The AI-Assisted Development Flow

PRD
Your spec
Get Data
Scrape & structure
Claude Code
AI builds it
Review
Refine & ship
Claude Code

Why CLI Tools?

  1. Terminal-based AI tools (Claude Code) can read, write, and run your code
  2. You describe what you want in plain English
  3. AI generates code, runs it, fixes errors
  4. You stay in control — approve every change
Cursor

Tools We're Using

The key insight: you don't need to know how to code — you need to know how to describe what you want.

Database 10 / 13
08 — Database

Supabase & Database Setup

Setup Pipeline

Sign Up
supabase.com
New Project
Free tier
Create Tables
SQL migrations
Seed Data
Import JSON
Connect
API keys

Our Data Model

-- Core tables games -- name, players, time, image, description votes -- game_id, voter_name, created_at tonights_picks -- game_id, pinned_by, pinned_at play_sessions -- game_id, played_at, notes players -- name, email
Supabase

Why Supabase?

  1. Free hosted Postgres — no server to manage
  2. Auto-generated REST API from your tables
  3. Built-in auth (if you need it later)
  4. Dashboard to view/edit data visually
Deployment 11 / 13
09 — Deploy

Deploy with Vercel

Vercel

Environment Variables

Add your Supabase keys in Vercel's settings:

NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbG...

Auto-Deploy on Push

  1. Every git push triggers a new deploy
  2. Preview URLs for branches & PRs
  3. Rollback to any previous deploy instantly
Our live app: daydreamer-boardgames.vercel.app — deployed from GitHub, connected to Supabase, zero server management.
Live Demo 12 / 13
10 — Demo

What We Built

DayDreamers Board Games app

Game Collection

Browse 13 games with search, box art, and ratings

Tonight’s Picks

Vote for games, enter your name, real-time results

Game Details

Description, rating, and YouTube tutorial embeds

Beyond board games: These same tools work for any project. Use Browser Use to order your favorite boba, scrape Amazon for price tracking, pull healthcare data, aggregate real estate listings — if it’s on the web, an AI agent can get it for you.
Next Steps 13 / 13
11 — Next Steps

Your Homework

Build Your Own App

  1. Pick a problem you care about
  2. Write a 1-page PRD (use AI to help!)
  3. Set up Supabase + Next.js project
  4. Use Claude Code / Cursor to build the UI
  5. Deploy to Vercel and share the link

Resources to Explore

Connect

You don't need to be a developer to build software anymore. You need to be a clear thinker who can describe problems well. Go build something.