PlotThis
A local, privacy-focused interactive web application to analyze structured datasets, suggest the most appropriate chart types, and generate automated statistical insights, without using Artificial Intelligence (AI) or third-party APIs.
The Problem
Analyzing datasets, choosing the right visualizations, and generating statistical insights dynamically without relying on external AI APIs or compromising data privacy.
The Solution
A local Streamlit application that uses a custom, highly-optimized pure Pandas/NumPy engine in the background to infer semantic types and compile summaries in milliseconds (replacing third-party profiling libraries that caused 60+ second multiprocessing deadlocks), while using Plotly Express for premium-styled charts.
Key Learnings
- Discovering that heavy third-party data profiling libraries cause severe multiprocessing deadlocks in Streamlit's reactive environment, and replacing them with a custom native Pandas engine.
- Implementing a deterministic rules engine using Pearson/Spearman coefficients and mean variances to recommend specific chart types.
- Fine-tuning Plotly layouts (custom typography, removing axis borders, and applying curated color palettes) to produce modern, publication-ready charts.
Custom Pandas Engine Instead of Heavy Profiling Libraries
PlotThis replaced third-party data-profiling libraries after they caused multiprocessing deadlocks inside Streamlit’s reactive runtime:
- Native Pandas/NumPy Engine: A custom, highly-optimized Pandas/NumPy engine infers semantic column types and compiles statistical summaries in milliseconds — replacing third-party profiling libraries that took 60+ seconds and deadlocked inside Streamlit’s multiprocessing model.
- Deterministic Chart Recommendation: A rules engine built on Pearson/Spearman correlation coefficients and variance comparisons suggests the chart type that best fits each dataset, without calling any AI API.
Local-First, Privacy-Focused Analysis
- Plotly Express Styling: Custom typography, borderless axes, and curated color palettes turn default Plotly charts into publication-ready visuals.
- No External APIs: Every computation runs locally inside the Streamlit app — datasets never leave the machine.
Note: Archived after validating the local-first analysis approach — the source is available on GitHub.