fmegahed commited on
Commit
a1522ed
·
1 Parent(s): 434ddf7

Redesign welcome screen with step cards, feature table, and info boxes

Browse files
Files changed (1) hide show
  1. app.py +63 -25
app.py CHANGED
@@ -846,39 +846,77 @@ report: CleaningReport | None = st.session_state.cleaning_report
846
 
847
  if cleaned_df is None or not y_cols:
848
  st.title("Time Series Visualizer")
849
- st.write(
850
- "Upload a CSV or choose a demo dataset from the sidebar to get started."
851
- )
852
 
853
- col_about, col_how = st.columns(2)
854
- with col_about:
855
- st.subheader("About")
 
856
  st.markdown(
857
- "An interactive app for **ISA 444** students at Miami University "
858
- "to explore time-series data, create publication-quality charts, "
859
- "and get AI-powered chart interpretation."
 
 
 
 
 
860
  )
 
861
  st.markdown(
862
- "**Features:**\n"
863
- "- Auto-detect delimiters, date columns, and numeric formats\n"
864
- "- 9+ chart types: line, seasonal, ACF/PACF, decomposition, and more\n"
865
- "- Multi-series support with panel and spaghetti plots\n"
866
- "- AI chart interpretation via OpenAI vision\n"
867
- "- Natural-language data filtering with QueryChat"
 
 
 
868
  )
869
- with col_how:
870
- st.subheader("How to Use")
871
  st.markdown(
872
- "1. **Upload** a CSV file or pick a **demo dataset** from the sidebar\n"
873
- "2. **Select** a date column and one or more value columns\n"
874
- "3. **Choose** a chart type from the *Single Series* tab\n"
875
- "4. Use the *Few Series* and *Many Series* tabs for multi-column comparisons\n"
876
- "5. Expand **Summary Statistics** for descriptive stats and stationarity tests\n"
877
- "6. Click **Interpret Chart with AI** to get AI-generated insights"
 
 
 
878
  )
 
 
 
 
 
 
 
879
  st.markdown(
880
- "**Privacy:** All processing is in-memory. Only chart images "
881
- "(never raw data) are sent to OpenAI when you click Interpret."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
882
  )
883
 
884
  st.stop()
 
846
 
847
  if cleaned_df is None or not y_cols:
848
  st.title("Time Series Visualizer")
849
+ st.caption("ISA 444 · Miami University · Farmer School of Business")
850
+
851
+ st.markdown("") # spacer
852
 
853
+ # --- Getting started steps as visual cards ---
854
+ st.markdown("#### Get Started in 3 Steps")
855
+ c1, c2, c3 = st.columns(3)
856
+ with c1:
857
  st.markdown(
858
+ '<div style="background:#F5F5F5; border-radius:8px; padding:1rem; '
859
+ 'border-left:4px solid #C41230; height:100%;">'
860
+ '<div style="font-size:1.6rem; font-weight:700; color:#C41230;">1</div>'
861
+ '<div style="font-weight:600; margin:0.3rem 0 0.2rem;">Load Data</div>'
862
+ '<div style="font-size:0.82rem; color:#444;">'
863
+ 'Upload a CSV from the sidebar or pick one of the built-in demo datasets.'
864
+ '</div></div>',
865
+ unsafe_allow_html=True,
866
  )
867
+ with c2:
868
  st.markdown(
869
+ '<div style="background:#F5F5F5; border-radius:8px; padding:1rem; '
870
+ 'border-left:4px solid #C41230; height:100%;">'
871
+ '<div style="font-size:1.6rem; font-weight:700; color:#C41230;">2</div>'
872
+ '<div style="font-weight:600; margin:0.3rem 0 0.2rem;">Pick Columns</div>'
873
+ '<div style="font-size:0.82rem; color:#444;">'
874
+ 'Select a date column and one or more numeric value columns. '
875
+ 'The app auto-detects sensible defaults.'
876
+ '</div></div>',
877
+ unsafe_allow_html=True,
878
  )
879
+ with c3:
 
880
  st.markdown(
881
+ '<div style="background:#F5F5F5; border-radius:8px; padding:1rem; '
882
+ 'border-left:4px solid #C41230; height:100%;">'
883
+ '<div style="font-size:1.6rem; font-weight:700; color:#C41230;">3</div>'
884
+ '<div style="font-weight:600; margin:0.3rem 0 0.2rem;">Explore</div>'
885
+ '<div style="font-size:0.82rem; color:#444;">'
886
+ 'Choose from 9+ chart types, view summary statistics, '
887
+ 'and get AI-powered chart interpretation.'
888
+ '</div></div>',
889
+ unsafe_allow_html=True,
890
  )
891
+
892
+ st.markdown("") # spacer
893
+
894
+ # --- Features and privacy ---
895
+ f1, f2 = st.columns(2)
896
+ with f1:
897
+ st.markdown("#### Features")
898
  st.markdown(
899
+ "| | |\n"
900
+ "|:--|:--|\n"
901
+ "| **Smart Import** | Auto-detect delimiters, dates, and numeric formats |\n"
902
+ "| **9+ Chart Types** | Line, seasonal, ACF/PACF, decomposition, lag, and more |\n"
903
+ "| **Multi-Series** | Panel (small multiples) and spaghetti plots |\n"
904
+ "| **AI Insights** | GPT vision analyzes your charts and returns structured interpretation |\n"
905
+ "| **QueryChat** | Natural-language data filtering powered by DuckDB |"
906
+ )
907
+ with f2:
908
+ st.markdown("#### Good to Know")
909
+ st.info(
910
+ "**Privacy** — All data processing happens in-memory. "
911
+ "No data is stored on disk. Only chart images (never raw data) "
912
+ "are sent to OpenAI when you click *Interpret Chart with AI*.",
913
+ icon="\U0001f512",
914
+ )
915
+ st.info(
916
+ "**Demo Datasets** — Three built-in datasets are available in the sidebar: "
917
+ "monthly retail sales (single series), quarterly revenue by region (wide), "
918
+ "and daily stock prices with 20 tickers (long).",
919
+ icon="\U0001f4ca",
920
  )
921
 
922
  st.stop()