Inspiration
We are passionate about languages and different cultures, which we believe are what make us great. Language learning, though not easy, is most effective in an immersive environment, ideally by speaking with native speakers. However, opportunities for such interactions are often limited to the classroom and the availability of a teacher. Our goal was to bring the teacher to you, leveraging smart Azure services for pronunciation assessment and utilizing OpenAI as an interactive, intelligent teacher. We developed this as a web app to make it universally accessible and user-friendly.
What It Does
Our application allows you to use your device's microphone to initiate a conversation directly in your browser. It responds like a language teacher would, providing feedback and engaging in conversations in multiple languages of your choice. Your conversations are recorded and saved, allowing you to revisit and switch between past dialogues easily. Additionally, the application includes analytical tools to track your progress and areas for improvement.
How We Built It
We initiated our project on GitHub, brainstorming and sketching UI designs and gathering ideas. The development began with an ASP.NET web application hosted on Azure App Services. We integrated other Azure services like the different Azure Speech tools and CosmosDB and set up an OpenAI account for accessing their REST API. We also added multiple ways for authorization, so anyone could try out PatterPal with a Google Account or "Special Access Codes". Chat count for our trial users will be limited to a few chats so we avoid high costs. If you really like PatterPal we might give you a Special Access Code for unlimited access.
Challenges We Ran Into
Our first challenge were the browser microphone recording restrictions and the intricacies of converting audio formats for Azure Speech's pronunciation assessment. Establishing well-structured communication via Websockets, along with the UI design (as we are more skilled in software engineering than design), posed its own set of challenges. Furthermore, managing streaming data from APIs and navigating token and API limits were significant learning experiences.
Sometimes we had troubles when deploying to Azure App Services and we could not find the problem directly, we also had to downgrade back to .NET 7 for this reason.
Accomplishments That We're Proud Of
We take pride in having set up the entire system by ourselves within a short timeframe. The journey from an initial idea to a fully functioning application was incredibly rewarding. Also having the opportunity to learn with these technologies for free was an amazing opportunity.
What We Learned
This project was a great learning curve in terms of Azure resource management, implementing Websockets, and managing audio streaming. It enhanced our understanding of the practical applications of these technologies in a real-world scenario.
We also got to work with CosmosDB, which we have never tried before. Additionally we learned how to integrate Google Authentication and how to automate our deployment process via GitHub.
What's Next for PatterPal - Personal Language Teacher
Looking ahead, we're excited about PatterPal's future. We're currently planning the next steps and are open to feedback. The app's development will continue based on user reception, and we're considering an official release. Stay tuned for more updates as we further develop and enhance PatterPal.
Built With
- asp.net
- azure
- azure-app-services
- azure-cognitive-services
- azure-cosmosdb
- azure-pronounciation-assessment
- azure-speech
- bootstrap
- c#
- chart.js
- css3
- gpt
- html5
- javascript
- json
- mvc
- openai
- razor
- rest
- websockets
Log in or sign up for Devpost to join the conversation.