revops
Design and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.
geo-visualizer
Create interactive maps with markers, heatmaps, routes, and choropleth layers. Use when visualizing geographic data, plotting locations, or creating map-based reports.
Full skill instructions
Create interactive HTML maps from geographic data using Folium.
from geo_visualizer import GeoVisualizer
# Simple marker map
viz = GeoVisualizer()
viz.add_markers([
{"lat": 40.7128, "lon": -74.0060, "name": "New York"},
{"lat": 34.0522, "lon": -118.2437, "name": "Los Angeles"}
])
viz.save("cities.html")
# From CSV
viz = GeoVisualizer()
viz.from_csv("locations.csv", lat_col="latitude", lon_col="longitude")
viz.save("map.html")
# Plot markers from CSV
python geo_visualizer.py --input locations.csv --lat latitude --lon longitude --output map.html
# Add heatmap
python geo_visualizer.py --input data.csv --lat lat --lon lng --heatmap --output heat.html
# With clustering
python geo_visualizer.py --input stores.csv --lat lat --lon lon --cluster --output stores.html
# Choropleth map
python geo_visualizer.py --geojson states.geojson --data stats.csv --key state --value population --output choropleth.html
class GeoVisualizer:
def __init__(self, center=None, zoom=10, tiles="OpenStreetMap")
# Data loading
def from_csv(self, filepath, lat_col, lon_col, **kwargs) -> 'GeoVisualizer'
def from_dataframe(self, df, lat_col, lon_col, **kwargs) -> 'GeoVisualizer'
def from_geojson(self, filepath) -> 'GeoVisualizer'
# Markers
def add_marker(self, lat, lon, popup=None, tooltip=None, icon=None, color="blue")
def add_markers(self, locations: list, name_col=None, popup_cols=None)
def cluster_markers(self, enabled=True) -> 'GeoVisualizer'
# Layers
def add_heatmap(self, points=None, weight_col=None, radius=15) -> 'GeoVisualizer'
def add_choropleth(self, geojson, data, key_on, value_col, **kwargs) -> 'GeoVisualizer'
def add_route(self, points, color="blue", weight=3) -> 'GeoVisualizer'
def add_circle(self, lat, lon, radius_m, color="blue", fill=True)
# Output
def save(self, filepath) -> str
def get_html(self) -> str
def fit_bounds(self) -> 'GeoVisualizer'
# Custom icons
viz.add_marker(lat, lon, icon="fa-coffee", color="red")
# With popup content
viz.add_marker(lat, lon, popup="<b>Store #123</b><br>Open 9-5")
# From CSV with popup columns
viz.from_csv("stores.csv", lat_col="lat", lon_col="lon")
viz.add_markers(viz.data, popup_cols=["name", "address", "phone"])
# Basic heatmap
viz.add_heatmap()
# Weighted heatmap (e.g., by sales volume)
viz.add_heatmap(weight_col="sales", radius=20, blur=15, max_zoom=12)
# Color regions by data
viz.add_choropleth(
geojson="us-states.geojson",
data=state_data,
key_on="feature.properties.name", # GeoJSON property
value_col="population",
fill_color="YlOrRd", # Color scale
legend_name="Population"
)
Available base maps:
OpenStreetMap (default)CartoDB positron (light, minimal)CartoDB dark_matter (dark theme)Stamen Terrain (terrain features)Stamen Toner (high contrast B&W)viz = GeoVisualizer(tiles="CartoDB positron")
viz = GeoVisualizer()
viz.from_csv("stores.csv", lat_col="lat", lon_col="lon")
viz.add_markers(viz.data, popup_cols=["name", "address", "hours"])
viz.cluster_markers(True)
viz.fit_bounds()
viz.save("store_locator.html")
viz = GeoVisualizer(tiles="CartoDB dark_matter")
viz.from_csv("sales.csv", lat_col="lat", lon_col="lon")
viz.add_heatmap(weight_col="revenue", radius=25)
viz.save("sales_heat.html")
viz = GeoVisualizer()
stops = [(40.7, -74.0), (40.8, -73.9), (40.75, -73.95)]
viz.add_route(stops, color="blue", weight=4)
for i, (lat, lon) in enumerate(stops):
viz.add_marker(lat, lon, popup=f"Stop {i+1}")
viz.save("route.html")
Design and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.
Strategic planning and optimization for email capture offers and gated content.
Directory submissions: the foundation layer of distribution that passes backlinks and discovery surface area into your marketing pages.
Sequence and choreograph multi-step animations with precise timing control and nested timelines.
Structured framework for planning product launches, feature announcements, and go-to-market strategies.
Upload files to Google Drive with automatic MIME type detection and metadata.
Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.
firecrawl lead gen
firecrawl lead research
firecrawl demo walkthrough
Team leadership persona with standup coordination, meeting prep, task delegation, and team communication.
Identify large Google Drive files consuming storage quota.
Revolutionize Video Creation with AI-Generated Avatars and Voices
Social media on autopilot
Design custom logos instantly with AI.
Text-heavy marketing and design images
Boost Your SEO with Content and SEO Silos
Revolutionize Your Marketing with AI-Powered MarketingBlocks!
10X faster & free AI content creation for 100+ use cases
Tribescaler | Make Your Tweets Go Viral