ojaskittur's picture
config
08080e4
import streamlit as st
import json
from scorer import IntroductionScorer
st.set_page_config(page_title="Intro Scorer", layout="wide")
st.title(" Introduction Scoring System")
st.write("Enter your speech transcript and duration to get a detailed rubric score.")
with st.form("score_form"):
transcript = st.text_area("Transcript", height=200, placeholder="Hello, my name is...")
duration = st.number_input("Duration (seconds)", min_value=0, value=0)
submitted = st.form_submit_button("Analyze Score")
if submitted and transcript:
with st.spinner("Analyzing... (Loading AI models might take a moment)"):
scorer = IntroductionScorer(transcript, duration)
results = scorer.calculate_overall_score()
st.metric(label="Total Score", value=f"{results['Total Score']} / 100")
st.subheader("Detailed Breakdown")
breakdown = results['Breakdown']
for category, data in breakdown.items():
with st.expander(f"{category} (Score: {data['score']})"):
st.write(f"**Feedback:** {data['feedback']}")
st.progress(data['score'] / (data.get('max', 10) if data.get('max') else 15))
st.subheader("Raw JSON Data")
st.json(results)