Inspiration

The inspiration for Talk2U came from a shared, universal experience: the subtle anxiety that creeps in before a networking event, a job interview, or even just making small talk with a stranger. We realized that while social interaction is a fundamental human skill, there's no "gym" to practice it. People with social anxiety, those learning a new language, or professionals looking to improve their soft skills often lack a safe, judgment-free space to build conversational confidence. We wanted to create that space—a personal AI coach that empowers users to practice, make mistakes, and grow without pressure.

What it does

Talk2U is an AI-powered conversation coach designed to help users master the art of small talk. It provides a web-based platform with three distinct, realistic training modes:

  1. Practice Mode (Printing console log) : A general-purpose sandbox for open-ended conversations on any topic, helping users get comfortable with natural back-and-forth dialogue.
  2. Telephone Mode ( prototype stage) : A simulation designed to alleviate phone anxiety by letting users practice calls in a controlled environment.
  3. In-Person Mode: A mode focused on simulating face-to-face interactions, helping users prepare for social events and meetings. In each mode, the user speaks, and our AI assistant listens, transcribes their words in real-time, and responds with contextually relevant, human-like replies, creating a dynamic and engaging practice session.

How we built it

We built Talk2U as a full-stack web application using a Python-based backend and a dynamic frontend.

  1. Backend: The core is a Flask web server. We used PyAudio to capture real-time audio from the user's microphone. This audio stream is processed by Speechmatics for highly accurate, low-latency speech-to-text transcription. The transcribed text is then passed to an XAI model, which generates a natural, conversational response. The entire backend process is managed using asyncio and threading to handle long-running, real-time tasks without blocking the web server.
  2. Frontend: We used Flask to render HTML templates styled with Bulma and Bootstrap for a clean, responsive UI. Client-side interactivity is powered by vanilla JavaScript, which handles starting/stopping conversation sessions by making asynchronous fetch calls to our Flask API endpoints. We also implemented CSS animations to create a smooth and modern user experience, from the initial loading screen to page transitions.

Challenges we ran into

Our biggest challenge was architecting a seamless, real-time experience. Integrating a long-running, asynchronous audio processing task with a traditionally synchronous framework like Flask required careful management of threads and event loops. We also faced significant hurdles with dependency management, especially getting PyAudio to install and run correctly on macOS, which required installing system-level libraries like PortAudio. Another challenge was ensuring low latency throughout the entire pipeline—from capturing audio to receiving a response from the AI—to make the conversation feel truly natural and interactive.

Accomplishments that we're proud of

We are incredibly proud of building a fully functional, end-to-end application that solves a real-world problem within the tight constraints of a hackathon. Successfully integrating multiple complex services—real-time audio streaming, speech-to-text, and a large language model—into a single, cohesive user experience was a major accomplishment. The low-latency performance of the live transcription and AI response is something we worked hard on and are very proud of.

What we learned

This project was a deep dive into the complexities of real-time systems. We learned a great deal about managing asynchronous processes in Python and the intricacies of streaming audio data over websockets. We also gained valuable experience in full-stack development, from designing a user-friendly frontend to deploying a robust backend API. Most importantly, we learned how to rapidly prototype and iterate on an idea, turning a concept into a tangible product in just a couple of days.

What's next for Talk2U

The future for Talk2U is exciting. We plan to introduce several new features:

  1. Performance Analytics: Providing users with feedback on their speech clarity, pace, and use of filler words.
  2. Custom Scenarios: Allowing users to create their own practice scenarios, such as "practicing a sales pitch" or "preparing for a first date."
  3. Multi-language Support: Expanding our platform to help ESL learners practice conversation in new languages.
  4. Mobile Application: Developing native iOS and Android apps to make practicing on the go even easier.

Built With

Share this project:

Updates