Project Info
Inspiration
Public speaking can be intimidating, and practicing alone often lacks meaningful feedback. We wanted to create a tool that provides real-time, personalized coaching, helping users improve confidence, clarity, and engagement.
What it does
Speechful is a public speaking coaching app that analyzes your speech in real-time and gives personalized feedback. It evaluates factors like sentiment, confidence, and speech familiarity, helping users refine both content and delivery.
How we built it
Frontend: React + TypeScript for a clean and responsive interface where users can record speeches and see feedback. Backend: Node.js + Express to handle API requests, process data, and return actionable insights. Speech Analysis: Claude API and Lava API for sentiment analysis, scoring the speaker’s confidence and engagement. Voice detection AI APIs to track how well the user is familiar with their speech (intonation, pauses, and fluency). Claude API and Lava API for sentiment analysis, scoring the speaker’s confidence and engagement. Voice detection AI APIs to track how well the user is familiar with their speech (intonation, pauses, and fluency). Live Feedback: Combines the above metrics to provide personalized advice on pacing, clarity, and emotional impact.
Challenges we ran into
Integrating multiple AI APIs and ensuring their outputs were consistent and interpretable. Real-time processing: delivering feedback without noticeable lag. Designing actionable feedback, presenting insights in a way that’s easy for users to act on without overwhelming them.
Accomplishments we're proud of
Successfully integrated Claude and Lava APIs for sentiment scoring and personalized feedback. Built a working prototype that tracks speech familiarity and provides actionable coaching. Designed a real-time dashboard that gives intuitive, immediate insights during practice sessions.
What we learned
Combining multiple AI APIs can create rich, multidimensional feedback for users. Real-time processing requires careful optimization to maintain responsiveness. Personalized feedback is far more effective than generic tips as users respond better when advice is tailored to their own performance.
What's next
Add tone and emotion detection to give more nuanced feedback. Introduce progress tracking over multiple sessions to help users see improvement over time. Expand multilingual support for non-English speakers. Build a mobile version for on-the-go practice.
Speechful: Cal Hacks 12.0
Inspiration
Public speaking can be intimidating, and practicing alone often lacks meaningful feedback. We wanted to create a tool that provides real-time, personalized coaching, helping users improve confidence, clarity, and engagement.
What it does
Speechful is a public speaking coaching app that analyzes your speech in real-time and gives personalized feedback. It evaluates factors like sentiment, confidence, and speech familiarity, helping users refine both content and delivery.
How we built it
- Frontend: React + TypeScript for a clean and responsive interface where users can record speeches and see feedback.
- Backend: Node.js + Express to handle API requests, process data, and return actionable insights.
- Speech Analysis:
- Claude API and Lava API for sentiment analysis, scoring the speaker’s confidence and engagement.
- Voice detection AI APIs to track how well the user is familiar with their speech (intonation, pauses, and fluency).
- Live Feedback: Combines the above metrics to provide personalized advice on pacing, clarity, and emotional impact.
Challenges we ran into
- Integrating multiple AI APIs and ensuring their outputs were consistent and interpretable.
- Real-time processing: delivering feedback without noticeable lag.
- Designing actionable feedback, presenting insights in a way that’s easy for users to act on without overwhelming them.
Accomplishments that we're proud of
- Successfully integrated Claude and Lava APIs for sentiment scoring and personalized feedback.
- Built a working prototype that tracks speech familiarity and provides actionable coaching.
- Designed a real-time dashboard that gives intuitive, immediate insights during practice sessions.
What we learned
- Combining multiple AI APIs can create rich, multidimensional feedback for users.
- Real-time processing requires careful optimization to maintain responsiveness.
- Personalized feedback is far more effective than generic tips as users respond better when advice is tailored to their own performance.
What's next for Speechful
- Add tone and emotion detection to give more nuanced feedback.
- Introduce progress tracking over multiple sessions to help users see improvement over time.
- Expand multilingual support for non-English speakers.
- Build a mobile version for on-the-go practice.
Running Speechful Locally
To run Speechful on your local machine, follow these steps:
- Start the server
cd server npm install node app.js - Start the client
cd client npm install npm run dev - Open the app Once both server & client are up, open your browser and navigate to URL shown.
Analysis
View
Metric
- 25
- 18
- 4
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- AnthropicClaimed
- Node.jsClaimed
- OpenAIClaimed
7 of 10 appear in the indexed code. 3 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- GitHub CopilotConfig
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
169 KB
Source files
44
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
onKTun/speechful-cal-hacks-12.0
55 files · 355 KB · @ f5181fe
Structure
Interface
18 files · 33%Screens, components and styles rendered to the user.
API & routing
3 files · 5%Request entry points: routes, handlers and controllers.
Application logic
15 files · 27%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript68%
- Markdown24%
- JavaScript7%
- CSS0%
- HTML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
client/package.json
npm · 21- @tailwindcss/vite
- lucide-react
- react
- react-dom
- react-router
- react-router-dom
- react-webcam
- string-comparison
- tailwindcss
- +12 more
server/package.json
npm · 6- @deepgram/sdk
- cors
- dotenv
- express
- multer
- ws
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.