Inspiration

The Rubber Ducky will always be close to every programmers heart. This project is a tribute to the loyal companion who never failed to alleviate the anxiety and distress of our early programming days. Our Rubber Ducky is designed to be both an entertaining fidget toy and a visualization tool for programmers. We aimed to build what we wish we had when we first started coding.

What it does

The Rubber Ducky listens to you and illustrates your ideas comprehensively in the shape of diagrams. By the end of the process, you will have a well-documented chart of ideas and classes for your programming projects.

How we built it

The Rubber Ducky consists of 4 main components. These components are the voice-to-text interface, the text parsing middleware, the class object visualizer, the class object code recommendation system, and the cyber-physical energetic Rubber Duck right by your side in your time of need. Google's Speech to text API is implemented to render user utterances into Text. These texts will then be parsed into comprehensive class object method signatures that reduce the sample problem into simple object methods. Using these simple object methods, a class diagram will be visualized for the user accompanied by state-of-the-art code snippet recommendations.

Challenges we ran into

  • Procuring a reliable and robust speech-to-text model that can correctly interpret user audio
  • Parameterizing GPT-2 generative code auto-completions for more generalized coding languages
  • Expectation management, not biting more than we can chew

Accomplishments that we're proud of

  • Transition from audio to text
  • Transition from text to diagram

What we learned

  • The use of Google Clouds Speech-to-text API
  • Training GPT-2 model
  • Automatic diagram generation
  • Threading

What's next for The Rubber Ducky that actually listens

The "Rubber Ducky that actually listens" aims to spread joy as a potential solution that enables growth in early coders. With future enhancements, the "Rubber Ducky that actually listens" will be more flexible in the formulation of spoken commands (right now a certain structure is expected) and more versatile when it comes to accents and unusual pronunciation. This Rubber Ducky is not only a programmer-yearned development tool but may be the first of many similar to come.

Built With

Share this project:

Updates