Workshop Live

Introduction to
Vibe Coding

Your companion guide for building things with AI — no coding experience needed. Prompt examples, styling tips, and a step-by-step approach.

Northeastern University  •  AIMES Lab  •  2026  •  by Yash Phalle

The Basics

What is Vibe Coding?

Vibe coding is writing software by describing what you want in plain English. You type a prompt, the AI writes the code, and you iterate by refining your instructions. Think of it as directing a very fast, very literal assistant.

🎯 The Golden Rule

Be specific. “Make it look good” fails. “Use a dark theme with frosted glass cards and a teal accent color” works.


Quick Reference

The Vibe Coding Loop

Quality of your output = quality of your prompt. Be specific. Be descriptive. Use the magic words.

1

Describe

Tell the AI exactly what you want. Be specific!

2

Generate

AI writes the code based on your prompt.

3

Look

Open the result in your browser and review.

4

Refine

Fix one thing at a time with targeted prompts.

5

Repeat

Iterate until you’re happy with the result.


Activity 1
🔬

Data Analysis

Load a dataset, explore it, and find interesting insights — all through prompts.

1 Explore the dataset

Read the CSV file in this folder. Show me the column names, data types, number of rows, any missing values, and 5 random sample rows. Summarize what this dataset is about in 2-3 sentences.

2 Find patterns and insights

Analyze this dataset and find the 5 most interesting insights. Look for: which categories have the highest/lowest values, any surprising outliers, trends over time, and correlations between columns. Present each insight with the actual numbers.

3 Compare groups

Group the data by [column name] and compare the average values of [metric column] across groups. Which group ranks highest? Are there any unexpected results? Show me a summary table.

4 Ask a specific question

Using this dataset, answer: [your question here]? Show me the data that supports your answer, including specific numbers and how you calculated them.
💡

Replace [column name] and [metric column] with actual column names from your dataset. The more specific your question, the better the answer.


Activity 2
📊

Building a Dashboard

Turn your data insights into a visual, interactive HTML dashboard using Chart.js and Papa Parse — loaded via CDN (no installs needed).

1 Start with the foundation

Build a single-page HTML/CSS/JS dashboard that loads the CSV file using Papa Parse from CDN. Display a styled data table showing the first 20 rows. Use Chart.js from CDN to add a bar chart showing [metric] grouped by [category]. Put everything in one index.html file.

2 Add more visualizations

Add a second chart: a donut/pie chart showing the distribution of [category column]. Place it next to the bar chart using CSS Grid with two columns. Add clear chart titles and a color legend.

3 Style the dashboard

Improve the styling: use a dark background (#0f0f0f), white text, and rounded card containers for each chart with subtle box shadows. Use the font "Inter" from Google Fonts for body text and a monospace font for all numbers. Add padding and spacing so nothing feels cramped.

4 Add summary stats

Add a row of 4 stat cards at the top of the dashboard showing: total rows, average of [metric], highest value, and the name of the top-performing [category]. Style them as KPI cards — big bold number with a small muted label underneath.

5 Add interactivity

Add a dropdown filter that lets me select a [category] value. When selected, update all charts and the stat cards to show only data for that category. Include an "All" option to reset. Add smooth CSS transitions when charts update.
Cheat Sheet

How to Talk About Styling in Prompts

You don’t need to know CSS — you just need the right words.

TermWhat it does
glassmorphismFrosted glass cards with backdrop-blur
bento grid layoutTrendy grid with mixed card sizes (think Apple’s website)
typography-driven hierarchyBig bold numbers, small muted labels
KPI cardsStat boxes with icon + number + label
editorial data storyClean, NYT/Bloomberg-style data viz
gradient mesh backgroundSoft blurred color blobs in background
neumorphismSoft embossed/extruded card style
monospace for numbersMakes data look professional instantly
subtle box shadowsSoft shadow beneath cards for depth
backdrop blur navbarSticky nav that blurs content behind it
skeleton loading statesGray pulsing placeholders while loading
Vercel/Linear-qualityAI tools know these brands = clean minimal design
smooth CSS transitionsMicro-interactions on cards/buttons
cohesive color palettePrevents AI from using random mismatched colors
responsive with CSS GridBetter than just saying “make it responsive”
fade-in on scrollElements animate in as you scroll down
premium / editorial / minimalGeneral quality boosters for any design
❌ Bad styling prompt

“Make it look nice”

✅ Good styling prompt

“Use a dark theme with glassmorphism cards, a gradient mesh background, Inter font for text, monospace for numbers, and a cohesive teal + warm orange accent palette”


Activity 3
🌐

Build a Website from Scratch

Take any idea — a club page, portfolio, event site, project showcase — and build a full website using vibe coding.

01

Prepare Your Content First

Before prompting, organize your raw materials in a text file or markdown file.

my-website/
├── content.md   ← Your text content
├── images/       ← Any images or image URLs
└── (Cursor will generate index.html here)

Put in content.md: Site name & tagline, section headings & text, team member names & bios, links/dates/contact info, image file names or URLs.

02

Ask for a Plan First

This is the most important tip in vibe coding. Always ask the AI to plan before it builds.

I want to build a website for [your idea]. Here's my content: [paste or attach content.md]. Before writing any code, give me a plan: - What sections should the site have? - What layout would work best? - What design style would fit the theme? - What fonts and colors do you suggest?
03

Build the First Version

Once you approve the plan, prompt for the full build.

Now build it as a single-page HTML/CSS/JS website. Use all the content from my content file. Use the [chosen style] design we discussed. Load fonts from Google Fonts CDN. Make it responsive. Put everything in one index.html file.
04

Iterate Section by Section

Don’t try to fix everything at once. Go section by section.

The hero section looks great. Now improve the [team/about/gallery] section: make it [your specific feedback]. Keep everything else the same.
05

Polish and Ship

Final quality pass before going live.

Final pass: check all alignment, add hover effects on buttons and cards, add a smooth scroll behavior, make sure mobile layout stacks properly, and add a fade-in animation on each section as I scroll down.
Templates

Website Prompt Templates

🏢

Club or Organization

Build a single-page website for [club name]. Include: a hero section with the name and mission statement, an "About" section, a team grid with photos and roles, an events section with dates, and a contact footer. Use a [dark/light] theme with [style term].
💼

Personal Portfolio

Build a personal portfolio site for [name]. Include: a hero with name and one-line bio, an "About Me" section, a project showcase as a bento grid with project cards (title, description, image, link), a skills section, and a contact section. Use a minimal editorial design.
🎉

Event or Hackathon

Build a landing page for [event name] on [date] at [location]. Include: a countdown timer, event description, schedule timeline, speaker cards with photos, a registration CTA button, and a FAQ accordion. Use a bold, high-energy design.
Pro Tips

Tips That Save Hours

💡 Ask for a plan first

Prevents wasted iterations and gives you control over direction

📄 Work in one file

Single index.html with inline CSS and JS is simplest for beginners

🔄 Iterate, don’t restart

Say “improve the X section” instead of regenerating the whole page

🎨 Name your style

Use terms from the styling cheat sheet — the AI knows them

🎨 Be specific about colors

“Use #0f0f0f background with teal (#14b8a6) accents” beats “dark theme”

🔧 Fix one thing at a time

“Make the navbar sticky with backdrop blur” not “fix everything”

🚫 Protect other sections

“Only change the footer — do not modify any other sections”

📱 Test mobile

“Stack cards vertically on screens below 768px”

📝 Use real content

Real text and images always look better than placeholders

🚀 Deploy it!

Drag your index.html to Vercel or Netlify — live in 30 seconds


Activity 4
🚀

Deployment-Ready Check

Make sure your site is clean, complete, and ready to go live.

1 Ask the AI to Audit

Review my index.html file and check if it's ready to deploy on Netlify. Specifically check for: - Are all CSS and JS inline (no missing external files)? - Are all image URLs absolute (https://...) or properly referenced? - Are there any broken links or placeholder text left in? - Does the page have a proper <title> and meta description? - Is it responsive on mobile? - Are there any console errors? List anything that needs fixing before deployment.

2 Fix and Finalize

Fix all the issues you found. Also add: - A proper page <title> and meta description for SEO - A favicon (use a simple emoji favicon with the link tag) - An Open Graph image and description so it looks good when shared on social media - Make sure all fonts load from Google Fonts CDN Do NOT change any design or layout — only fix deployment issues.

3 Bonus: Ask for a Deploy Checklist

Give me a final deployment checklist for this HTML site going to Netlify. Format it as a numbered list I can go through one by one.
Ship It

Deploy Your Site

Netlify

Drag and drop — easiest method

  • 1 Go to app.netlify.com
  • 2 Drag your project folder into the browser
  • 3 Done — you have a live URL

Vercel

Quick deploy from folder or GitHub

  • 1 Go to vercel.com/new
  • 2 Drop your folder or connect a GitHub repo
  • 3 Done
💻

Terminal

If you want to look cool

npx netlify-cli deploy --dir=. --prod

Keep Learning

Resources

Everything you need to continue your vibe coding journey.