Inspiration
Many programmers use the "rubberduck-debbuging" technique, to keep their work simple and understandable. Being able to explain your code line by line to a complete outstander (e.g. a rubber duck) requires deep understanding of the sourcecode and helps you structure your code in a simple and understandable way. But...
What if the rubberduck listended to what you explain to it, all the way through your debugging process?
What if it wrote everything down?
What it does
The application provides a graphical rubberduck to explain your code to. It's not only the perfect listener and keeps you motivated with little comments...
...it also protocols everything you explained, directly to your documentation of choice.
Through a graphical interface the developer can choose the file that he is working on. His file will then be parsed, and "typical" positions where documentation is needed (e.g. methods, classes) will be be suggested to him. He can then -with one click- start rubberduck debuggig and documenting in one go.
His language is Processed via Speech To Text and automatically saved; either to a documentation file, or directly as comments to the sourcecode.
How I built it
we built the application iteratively starting with a simple MVP with only a core feature and adding new features over time.
We use Microsoft Azure for speech to text and java fx for gui.
The software uses general design patterns like "Model-View-Controller" and "Bridge" in it's architecture.
For simplicitiy reasons the App supports only one source language, for which we chose Java.
Challenges I ran into
pre-trained speech recognition models have to be retrained for specific purposes. Functionality vs. usability tradeoff. All of us were unexperienced with UI development in Java, so everything had to start from scratch. Since we wanted to make the program as user friendly as possible we had to stick to one supported programming language (in this case Java)
Accomplishments that I'm proud of
Being able to create a working app with no previous knowledge about speech recognition and with no front end developer on the team.
What I learned
Using Speech recognition and machine learning can be easy and fun :)
What's next for rubberDocs
RubberDocs as IntelliJ Plugin Retrained speech keyword model, to detect specific coding terms more easily. Nicely reworked UI. Use MS Azure API to track the developers' mood while debugging, and keep him posted with motivating messages. Support for other programming languages other than Java.
Built With
- azure
- intellij-idea
- java
- speech-to-text
- speechapi


Log in or sign up for Devpost to join the conversation.