Complete Walkthrough: Streamlit App with GitHub.dev (No IDE Required)
Prerequisites
- A web browser (Chrome, Firefox, Safari, Edge)
- An email address
Step 1: Create a GitHub Account
- Go to https://github.com
- Click “Sign up” (top right)
- Enter your email address
- Create a password (at least 15 characters OR 8+ characters with a number and lowercase letter)
- Choose a username
- Verify you’re human (puzzle/challenge)
- Check your email and enter the verification code
- Click “Create account”
- You can skip the personalization questions or answer them
Step 2: Create a New Repository
- After logging in, click the green “New” button (top right, or go to https://github.com/new)
- Fill in the details:
- Repository name:
music-app
(no spaces!) - Description: “A simple Streamlit app”
- IMPORTANT: Choose visibility : Select “Public” (required for free Streamlit deployment)
- ✅ Check “Add a README file”
- don’t add a .gitignore or License (I mean you could but it’s overkill for this demo)
- Click “Create repository”
- Repository name:
You are now on the github repository of your new app.
The future is yours!
Check out the url of your repository. It should look like this: https://github.com/YOUR-USERNAME/music-app
\
You see just one file : README.md
Step 3: Open GitHub.dev (Web-Based Editor)
- You’re now on your repository page:
https://github.com/YOUR-USERNAME/music-app
- Press the
.
key (period/dot) on your keyboard- OR change
.com
to.dev
in the URL:https://github.dev/YOUR-USERNAME/music-app
- OR change
- A VS Code-like editor opens in your browser!
This is where you edit the code.
on the left you have multiple icons. each gives you access to different features of github.dev
we will use :
- top 1: files
- position 3: source control
In the middle you have the code editor where you edit your code.
Step 4: Let’s add a dataset
In the following I use the World Music Hits Dataset. See the description here
Option 1: Drag and drop
download the file from here
and drag drop it into the file explorer in the githb.dev editor
Alternative: Copy paste
- In the left sidebar, click the “New File” icon (📄+ symbol)
- Name it:
WorldHits.csv
- Get the data:
- Open a new browser tab and go to: https://raw.githubusercontent.com/SkatAI/epitadb/refs/heads/master/data/WorldHits.csv
- You’ll see the raw CSV data
- Press
Ctrl+A
(Windows) orCmd+A
(Mac) to select all - Press
Ctrl+C
(Windows) orCmd+C
(Mac) to copy
- Go back to github.dev tab
- Click inside the
WorldHits.csv
file editor - Press
Ctrl+V
(Windows) orCmd+V
(Mac) to paste all the data - Press
Ctrl+S
(Windows) orCmd+S
(Mac) to save
or download the ffile and uploadit to github.dev
Step 5: Create requirements.txt
- Click “New File” icon
- Name it:
requirements.txt
- Add this content:
streamlit
pandas
plotly
- Press
Ctrl+S
/Cmd+S
to save
Step 6: Create Your Streamlit App
- Click “New File” again
- Name it:
app.py
- Paste this simple code:
import streamlit as st
import pandas as pd
import plotly.express as px
# Title
st.title("🎵 Music Data Explorer")
# Load data
df = pd.read_csv('WorldHits.csv')
# Let user select which column to plot
column = st.selectbox(
"Select a feature to plot over time:",
['energy', 'danceability', 'loudness', 'tempo', 'valence']
)
# Create the line chart
fig = px.line(
df.groupby('year')[column].mean().reset_index(),
x='year',
y=column,
title=f'{column.capitalize()} Over Time'
)
# Display the chart
st.plotly_chart(fig)
- Press
Ctrl+S
/Cmd+S
to save
That’s it! This simple app:
- Shows a title
- Lets users pick a music feature from a dropdown
- Plots that feature over the years
- Done in just 20 lines!
Step 7: Commit and Push Your Code to GitHub
- Click the Source Control icon in the left sidebar (branch/fork symbol, 3rd icon)
- You’ll see 3 files listed as changes
- In the text box at the top, type:
Add music app
- Click the ✓ Commit & Push button
- If asked to stage changes, click “Yes”
- Your code is now on GitHub!
Step 8: Verify Files on GitHub
- In a new tab, go back to your repository:
https://github.com/YOUR-USERNAME/music-app
- You should see 4 files:
README.md
app.py
WorldHits.csv
requirements.txt
Step 9: Create Streamlit Cloud Account
Now we need to deploy your app. For that we need to create a Streamlit Cloud account.
Now the deploy part so that the website is live! and everyone can access it on the world wide web.
- Go to https://share.streamlit.io
- Click “Sign up”
- Click “Continue with GitHub”
- Log in to GitHub if prompted
- Click “Authorize streamlit”
Step 10: Deploy Your App
- On Streamlit Cloud, click “New app”
- choose : “Deploy a public app from github”
- Fill in:
- Repository:
YOUR-USERNAME/music-app
- Branch:
main
- Main file path:
app.py
- change the url if you want
- Repository:
- Click “Deploy!”
- Wait 2-3 minutes
- Done!
Step 11: Your App is Live! 🎉
Your app URL: https://YOUR-USERNAME-music-app-RANDOM.streamlit.app
What you see:
- A dropdown menu
- Select “energy”, “danceability”, etc.
- See a line graph showing the trend over years
- That’s it!
Step 12: Practice: Make a Change
Let’s add one more line to show the data:
- Go back to
https://github.dev/YOUR-USERNAME/music-app
- Open
app.py
- Add this line at the end of the file:
st.write(f"Average {column}: {df[column].mean():.2f}")
- Press
Ctrl+S
/Cmd+S
to save - Click Source Control icon
- Type commit message:
Add average display
- Click Commit & Push
- Wait 1-2 minutes
- Refresh your app - you’ll see the average value now!
Key Workflow to Remember
Write Code → Save → Commit → Push → Auto Deploy
Every time you push to GitHub, Streamlit Cloud automatically rebuilds your app!
Troubleshooting
App won’t load?
- Check repository is Public
- Make sure all 3 files exist:
app.py
,WorldHits.csv
,requirements.txt
Error in app?
- Look at the Streamlit Cloud logs
- Check for typos in
app.py
Summary
✅ Created GitHub account ✅ Created repository ✅ Wrote 20 lines of Python code ✅ Committed and pushed code ✅ Deployed live web app ✅ Made a change and redeployed
Core lesson: Write → Commit → Push → Deploy → Repeat