Brew City's definitive guide to independent coffee — from lakefront cold brews to Brady Street dives, barrel-aged roasts to latte art masterpieces.
Deploy to Streamlit Cloud in under 5 minutes (see below).
| Section | Description |
|---|---|
| All Shops | 14 Milwaukee coffee shops with full profiles, must-order drinks, vibes, hours, WiFi/food filters |
| Neighborhoods | 8 neighborhood guides — Bay View, East Side, Third Ward, Riverwest, and more |
| Map | Interactive map of all shops pinned across Milwaukee |
| Best Of | 12 "Best Of" categories — Best Espresso, Best Latte Art, Best Cold Brew, etc. |
| Events | Recurring events, pop-ups, and seasonal happenings |
- Go to github.com and click New repository
- Name it
milwaukee-coffee-guide(or anything you like) - Set it to Public
- Click Create repository
Upload both files to the repo root:
app.pyrequirements.txt
You can do this via the GitHub web UI (drag and drop) or via Git:
git clone https://github.com/YOUR_USERNAME/milwaukee-coffee-guide
cd milwaukee-coffee-guide
# copy app.py and requirements.txt here
git add .
git commit -m "Initial commit — Milwaukee Coffee Guide"
git push- Go to share.streamlit.io
- Click New app
- Connect your GitHub account if you haven't already
- Select your repo:
milwaukee-coffee-guide - Main file path:
app.py - Click Deploy
Your site will be live at https://YOUR_USERNAME-milwaukee-coffee-guide-app-XXXXX.streamlit.app in about 60 seconds.
All coffee shop data lives in the SHOPS list near the top of app.py. Each shop entry looks like this:
{
"name": "Your Coffee Shop",
"neighborhood": "Bay View",
"address": "123 Main St",
"lat": 43.0282, # Google Maps latitude
"lon": -87.9097, # Google Maps longitude
"vibe": "Your one-line vibe description",
"vibe_tags": ["Tag 1", "Tag 2", "Tag 3"],
"known_for": "A 1-2 sentence description of what makes this place special.",
"must_order": "Their signature drink",
"best_for": "Working, first dates, weekend hangs...",
"price": "$$", # $, $$, or $$$
"wifi": True, # True or False
"food": True, # True or False
"neighborhood_tag": "Bay View",
"best_of": ["Best Espresso"], # Optional — list of Best Of categories won
"hours": "Mon–Fri 7am–5pm · Sat–Sun 8am–4pm",
"emoji": "☕",
},To find lat/lon: Google Maps → right-click on the location → copy coordinates.
- Streamlit — UI framework
- Pandas — data handling for the map
- Pure Python data — no database needed, edit
app.pydirectly
Built for Brew City. Know a great shop we missed? Add it!