fathom-code / viz /BAKEOFF_NOTES.md
23f2002275
clean repo without secrets or data
071ba6b
|
Raw
History Blame Contribute Delete
1.51 kB

DEM-03: Streamlit vs Gradio Bake-Off

Decision: Streamlit selected (2026-04-25, Pratham)

Evaluation Criteria

Criterion Streamlit Gradio Winner
D3/plotly recursion-tree embed Native st.components.v1.html gr.HTML, less flexible Streamlit
Multi-panel layout control st.columns, st.sidebar Grid layout rigid Streamlit
Live W&B metrics embed (iframe) st.components.v1.iframe gr.HTML Tie
Pareto chart (plotly) st.plotly_chart native Custom wrapper Streamlit
Setup time for HF Space app.py + requirements.txt Same Tie
Ecosystem familiarity Pratham: familiar Pratham: less familiar Streamlit
Interactive sliders for α sweep st.slider gr.Slider Tie
Real-time episode streaming st.experimental_data_editor + st.status Gradio stream not as clean Streamlit

Verdict

Streamlit wins on recursion-tree D3 embed flexibility and Pareto chart native plotly integration. Both were scaffolded in ~20 min; Streamlit rendered the D3 tree with st.components.v1.html without any wrapper boilerplate. Decision is FINAL for Phase 1–3.

Notes

  • Gradio's gr.HTML component requires manual iframe escaping for complex D3 visualizations.
  • Streamlit st.plotly_chart(use_container_width=True) renders the Pareto frontier cleanly.
  • For the pitch: 3-panel layout (recursion tree | Pareto frontier | W&B curves) is achievable in ~100 LoC with Streamlit.