Home

Vibe Coding in R with Claude Code and Docker

Vibe coding is like having a conversation with your computer—you describe the outcome, Claude Code builds it, you test and refine. It’s not magic; it’s a new way to work where you guide the vision and AI handles the implementation. This tutorial shows you how to build a real NBA stats dashboard using nothing but natural language requests.

Key Concepts

What You’ll Need

Step 1: Create New GitHub Repository

You now have a local Git repository and a backup on GitHub.

Step 2: Copy Docker Configuration

Your nba-dashboard folder should now contain:

Step 3: Open Project in Container

Step 4: Start Claude Code

claude

Claude Code is now running and ready for your requests.

Step 5: First Vibe - Get NBA Data

Now the fun begins. Instead of looking up documentation, just describe what you want.

Install the hoopR package and load current NBA player statistics. Show me the top 10 players by total points scored this season. Display it as a nice table.

You just used vibe coding! No searching documentation, no trial and error—just describe and test.

Save your progress: Ask Claude to commit using Git, or do this yourself from GitHub Desktop:

Commit these changes.

Step 6: Second Vibe - Explore the Data

Before building a dashboard, understand what data you have.

Show me what columns are available in this NBA data. Then create a summary showing: number of players, number of teams, average points per player, and who has the most assists and rebounds.

This exploration helps you decide what to put in your dashboard.

Save your progress: Ask Claude to commit, or use GitHub Desktop.

Step 7: Third Vibe - Create Basic Shiny App

Time to build the interactive dashboard.

Create a Shiny app in a file called app.R that shows an interactive table of NBA player stats. Include columns for player name, team, points, assists, and rebounds. Add a slider to filter players by minimum points scored (from 0 to 1000). Make it look clean and professional.

Step 8: Run the Shiny App

Test your dashboard to see if it works.

If something doesn’t work, copy any error messages and paste them to Claude to fix.

Step 9: Fourth Vibe - Add Visualization

Tables are useful, but visualizations tell better stories.

Add a bar chart below the table showing the top 15 players by points. Use different colors for each player. Also add a scatter plot showing the relationship between points and assists for all filtered players.

This is vibe coding in action: describe the feature, test it, iterate.

Step 10: Fifth Vibe - Add Team Filter

Make the dashboard more interactive with team selection.

Add a dropdown menu to filter players by team. Put it at the top. When I select a team, show only players from that team. Include an "All Teams" option to show everyone.

You’re building a professional dashboard by having a conversation.

Step 11: Review and Commit

Before committing, review what Claude built.

Create NBA dashboard with team filter and visualizations

You’ve saved your first working version!

Step 12: Iterate and Improve

Vibe coding shines when you iterate. Try adding features by describing them:

Example requests to Claude:

After each successful feature:

Key principles:

Each time, follow the pattern: describe → test → iterate → commit.

Next Steps

Troubleshooting

Workflow Overview

This tutorial combined several technologies into one workflow:

The magic isn’t any single tool—it’s how vibe coding lets you describe what you want and iterate rapidly. You went from empty project to working sports dashboard in under 30 minutes without writing a single line of code manually.

Everyday Workflow

After this initial setup, your daily vibe coding routine becomes:

  1. Start Docker Desktop - Launch the app, wait for green status
  2. Open VS Code - Open your project, reopen in container if needed
  3. Start Claude Code - Type claude in the terminal
  4. Describe your goal - “Add a feature that…” or “Fix the bug where…”
  5. Test the changes - Run your app, check if it works
  6. Iterate or commit - If broken, describe the fix; if working, commit with GitHub Desktop
  7. Push regularly - Click Push origin to back up to GitHub

The more you practice, the better you get at describing what you want. Vibe coding is a skill—you learn what kinds of descriptions work best and how to break big ideas into testable pieces.


Created by Steven Ge on December 7, 2025.