A beginner-friendly starter template for building Business Intelligence (BI) dashboards using Streamlit and Python. Perfect for hands-on learning and rapid prototyping of data visualization applications.
Click the button to clone this repository and deploy it on Squadbase.
- Multi-page layout: Organize your dashboard with Streamlit's pages feature.
- Sample datasets: Includes example CSV files for quick prototyping.
- Ready for Squadbase: Deploy with built-in authentication and access control.
- AI-Ready: Designed for easy customization with Claude Code.
- Python 3.11 or higher
- uv package manager (recommended) or pip
-
Fork this repository to your GitHub account
-
Clone your fork to your local machine:
git clone https://github.com/YOUR_USERNAME/streamlit-claude-code-starter.git cd streamlit-claude-code-starter -
Install dependencies:
# Using uv (recommended) uv sync # Or using pip pip install streamlit pandas plotly
-
Run the application:
# Using uv uv run streamlit run app.py # Or using python directly streamlit run app.py
-
Open your browser to
http://localhost:8501to see your dashboard!
streamlit-claude-code-starter/
├── app.py # Main dashboard application
├── pages/ # Additional pages for multi-page app
│ └── About_Us.py # About page
├── sample_data/ # Sample CSV datasets
│ ├── orders.csv # E-commerce orders data
│ └── users.csv # User profiles data
├── pyproject.toml # Python dependencies
└── README.md # This file
-
Edit the main app: Open
app.pyto modify the dashboard layout, add or change widgets, and customize the sidebar usingst.sidebaror display charts withst.plotly_chart. -
Add new pages: For a multi-page app, create new Python files (e.g.,
Analytics.py) inside thepages/folder. Streamlit will automatically recognize each file as a separate page. -
Replace sample data: Swap out the CSV files in
sample_data/with your own datasets, or add new ones. Load them in your app usingpd.read_csv(). -
Add custom visualizations and features: Use
pandasto manipulate your data, create charts withplotly, and display them usingst.plotly_chart(). You can also add interactive UI elements like forms, buttons, or select boxes with Streamlit's built-in components. -
Live coding with Claude Code: This template is optimized for pair programming with Claude Code. You can ask Claude Code to generate new Streamlit components, refactor data processing logic, or add visualizations. Work in small, focused increments and rerun the app to see changes instantly. For example, you can prompt:
- "Add a user upload widget and display a summary table."
- "Create a line chart showing monthly sales trends from
orders.csv." - "Refactor the sidebar to include a date range filter."
- Streamlit - Python-based data dashboard with sample datasets
- Pandas - Data manipulation and analysis
- Plotly - Data visualization
- Claude Code - AI-assisted development
