Small internet providers lack the data teams of big carriers. In a Data Science Connect webinar sponsored by Plotly, Broadband Insights CEO Patrick Hutto walked through the Python stack behind his firm's production data apps, from Redis caching to a text-to-SQL chatbot, and how one daily report cut install times from months to days.
Key takeaways
- Python-only web apps. Dash lets analysts build custom web applications without learning a front-end language, Plotly's Sam said.
- Small ISPs need data too. Hutto said smaller providers can't fund 30-person analysis teams, so shared data apps fill the gap.
- Cache on the server. Moving pandas DataFrames from the browser into Redis fixed crashes and slow map performance.
- Graphs fit networks. Poles, rings, feeder legs and serving areas are modeled as nodes linked to GIS maps.
- Simple reports drive results. A daily sales-versus-installs report led one provider to add crews and cut install time from 60-90 days to three or four days.
Small internet service providers face the same data problems as national carriers, without the data science departments to solve them. In a Data Science Connect webinar sponsored by Plotly, Patrick Hutto, CEO and founder of Broadband Insights, showed how his firm built production data applications for broadband builders in Python on Plotly's Dash Enterprise, and how one automated daily report helped a client cut customer installation times. He was joined by Sam, a technical account manager at Plotly. Brian Mink, co-founder and president of Data Science Connect, hosted.
What is Plotly Dash, and how does it differ from Dash Enterprise?
Sam separated three terms that are often blurred. Plotly is the open-source graphing library, with JavaScript and Python versions. Dash is an open-source, Flask-based framework for building web applications in Python. "It allows you to make a powerful and highly custom web application without needing to know a front-end language," Sam said, which appeals to data scientists, quantitative analysts and business analysts.
Dash Enterprise adds three things, according to Sam: a platform for hosting and managing apps with granular authentication, CI/CD, scheduled data updates, caching and job queues; enterprise packages such as Dash Design Kit for styling without much CSS and a snapshot engine for shareable PDFs; and access to Plotly's onboarding, solutions and infrastructure teams.
Why do small ISPs need production data apps?
Hutto said new wireless providers, fiber builders and electric co-ops are filling gaps left by incumbents in rural and urban areas, with help from public programs such as BEAD. But they lack decades of operating expertise. Construction, operations, GIS planning and finance often run on separate systems, and the large carriers have big data science teams. "The smaller ISPs, they don't," Hutto said, and they can't afford "to start a 30 person team just to do analysis."
Broadband Insights started with ad hoc work and clients tracking operations in spreadsheets and emailed reports. It used open-source Dash for about a year before moving to Dash Enterprise and now runs a data warehouse that combines GIS, operations and financial data in one mobile-friendly place.
What does a production Python data app architecture look like?
Hutto walked through the stack. Data collectors run as Azure Functions and in Pipedream, which offers prebuilt integrations with tools such as HubSpot, Google Sheets and QuickBooks plus custom Python. The firm is migrating to Dagster, which models pipelines as a graph. Every night between about midnight and 2 a.m., jobs snapshot data and build tables in what the firm calls its data refinery, an Azure-hosted Postgres instance.
The applications themselves run on bare metal, with PostGIS for maps, Postgres for analytics, a small Kubernetes cluster and Dash Enterprise on top. Each app has its own Redis cache, Celery for scheduled jobs and report snapshots, and Gunicorn workers, with replicas that can be bumped up to four or eight as traffic grows.
Caching was a hard-won lesson. Early on, the team stored data in the browser, and with large map datasets "performance was terrible," Hutto said, with apps crashing as they scaled. Plotly's team helped redesign the app to cache serialized pandas DataFrames in Redis, which made callbacks fast.
What can Dash apps do for broadband planning?
Hutto demonstrated a "make ready" app for utility poles. Attaching fiber to a pole can cost as little as $250 or as much as $25,000, he said, and a route is like a graph in which every pole is a node with its own cost. The app color-codes poles by cost and complexity on a Leaflet map, pulls a street view of a selected pole and shows a 3D model so planners can catch poles the cost model may have missed.
Other apps track permits across highway, municipal and pole-owner jurisdictions, and link a GIS map of serving areas to a Cytoscape network graph so planners can see whether a ring or feeder leg is finished. A take-rate view highlights areas where the most customers are expected to sign up. Hutto said a team member with a Power BI and SQL background but no Python experience was building apps within a few months. "We didn't really have to learn any JavaScript," he said.
The firm is also adding a chatbot, which Hutto said took less than a month to implement using Dash's built-in chatbot interface. One mode uses a custom model run through Ollama to turn natural language into SQL against the firm's schema. Another uses the OpenAI API to answer general questions, such as subscriber trends, from data cached in Redis.
How did a daily report speed up broadband installations?
The clearest result came from a simple automated report. A new provider's sales team was taking orders faster than installation crews could keep up, Hutto said. Within about two weeks of receiving a daily report showing sales next to completed installs, the company saw the gap and brought in two more crews. The time from sale to installation fell from 60 to 90 days to within two weeks, and eventually to three or four days, he said.
Hutto also cited savings from automating manual CSV-and-spreadsheet reporting, faster subscriber growth from prioritizing high-demand areas, and fewer licenses for specialized GIS software, because managers can view simple maps in Dash instead.
Find more hands-on data and AI sessions
Practitioner case studies like this one are part of Data Science Connect's free webinar program, which has 24 live sessions on the 2027 schedule across four series: the AI × Enterprise Panel Series, AI Demo Days, Agentic AI Showcases and the Plug & Play Series. Registration for 2027 is coming soon.
Frequently asked questions
What is the difference between Plotly, Dash and Dash Enterprise?
Plotly is the open-source graphing library, Dash is an open-source Python framework for web apps, and Dash Enterprise adds hosting, authentication, CI/CD, enterprise packages and support.
How do you make Dash apps fast at scale?
Hutto said caching serialized pandas DataFrames in Redis, instead of in the browser, plus app replicas and Celery for scheduled jobs, solved performance problems.
How did data apps reduce broadband installation times?
A daily automated report showing sales next to completed installs revealed a backlog; the provider added two crews and cut time to install from 60-90 days to three or four days.
Can you build a text-to-SQL chatbot in Dash?
Hutto said his team added one in under a month, using a custom model through Ollama for SQL and the OpenAI API for general questions.
Watch: Production Ready Data Apps at Enterprise Speed on YouTube
Event: Webinars · More coverage: Webinars insights
Become a Sponsor







