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.
- How to build interactive web dashboards with Streamlit
- Data visualization and analysis with Python
- Working with CSV data and Pandas
- Creating multi-page applications
- Using Claude Code for AI-assisted development
- 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
The sample_data/ directory contains realistic e-commerce datasets for building your dashboard:
-
orders.csv(37,957 records): E-commerce order transactions from 2025- Fields:
order_id,user_id,status,gender,created_at,returned_at,shipped_at,delivered_at,num_of_item - Filtered to contain only 2025+ data for current analysis
- Fields:
-
users.csv(29,357 records): Customer profiles linked to the filtered orders- Fields:
id,first_name,last_name,email,age,gender,state,street_address,postal_code,city,country,latitude,longitude,traffic_source,created_at,user_geom - Contains only users who have placed orders in the filtered dataset
- Fields:
order_items.csv(55,150 records): Individual items within each order- Fields:
id,order_id,user_id,product_id,inventory_item_id,status,created_at,shipped_at,delivered_at,returned_at,sale_price
- Fields:
products.csv(24,640 records): Product catalog for items in the orders- Fields:
id,cost,category,name,brand,retail_price,department,sku,distribution_center_id
- Fields:
All supporting datasets are filtered to only include data related to the current orders in sample_data/.
All date columns in the CSV files follow a consistent format:
- Format:
YYYY-MM-DD HH:MM:SS(ISO 8601 standard) - Example:
2025-07-04 15:33:00 - Timezone: All dates are normalized to remove timezone information for consistency
Date columns include:
created_at: When the record was createdshipped_at: When the order was shippeddelivered_at: When the order was deliveredreturned_at: When the order was returned
A standardization script (local/standardize_dates.py) is available to ensure date format consistency across all CSV files.
This project is optimized for use with Claude Code, an AI coding assistant:
- Ask Claude to add features: "Add a sales chart to the dashboard"
- Request improvements: "Make the data tables more interactive"
- Get explanations: "Explain how Streamlit caching works"
- Debug issues: "Why isn't my chart displaying?"
- "Add a sidebar filter for order status"
- "Create a line chart showing orders over time"
- "Add user authentication to the dashboard"
- "Implement data export functionality"
- "Add responsive design for mobile devices"
Start with these beginner-friendly modifications:
- Add Charts: Create bar charts, line graphs, or pie charts
- Implement Filters: Add dropdown menus or sliders for data filtering
- New Pages: Create additional pages for different views
- Styling: Customize colors, fonts, and layout
- Real Data: Replace sample data with your own CSV files
This is a learning project! Feel free to:
- Fork and experiment
- Share your improvements
- Ask questions in the issues
- Submit pull requests with enhancements
- Explore the code: Start by understanding
app.py - Make small changes: Try modifying the title or adding a new metric
- Add features: Use Claude Code to help implement new functionality
- Share your work: Deploy your dashboard to Streamlit Cloud
MIT License - feel free to use this for learning and commercial projects.
Happy Dashboard Building!
Start building your first BI dashboard today and see how AI-assisted development with Claude Code can accelerate your learning journey.
Deploy here!