# ConvoCode Proposal
### Lily, Abby, Annie, Will, Dylan, Melissa | CS98 22F

## How Might We Question / Problem Statement
*What is the problem you are aiming to solve? This is not the solution, that goes later.*
How might we relieve the stress of foundational coding steps (documenting, syntax, speed, etc.) to automate development in an intuitive and interactive way?
## Stakeholders
*Briefly summarize who are all the stakeholders? These could be users, partners, admins, founders, etc.*
- Developers - target users
- Developer Productivity Tool Companies
- Python IDEs ie. VSCode, PyCharm
## Proposed Solution
*Briefly describe your proposed solution. How does it work and what does it do?*
- Website hosting a Python Interpreter translating voice inputs into text to be turned into code using OpenAI technologies for additional code effiency, documentation, and optimization features
## Prior Work
*Briefly recap any particularly relevant sources from your state of the art research.*
- https://serenade.ai/
- https://talonvoice.com/
- https://pyodide.org/en/stable/
- https://beta.openai.com/examples/
- https://caster.readthedocs.io/en/latest/
- https://www.vice.com/en/article/dyveay/learning-to-code-openai-codex-natural-language-processing
- https://www.assemblyai.com/docs?utm_source=google&utm_medium=cpc&utm_campaign=Brand&utm_term=assembly%20ai#introduction
- https://cloud.google.com/dialogflow?hl=en
- https://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1691627&dswid=-4576
- https://link.springer.com/chapter/10.1007/978-3-030-03748-2_13
## Impact
*Explain how a solution to this problem meets a real-world need. Does it have a broad potential impact?*
- Programmers who stuggle with typing (carpal tunnel)
- Standardizes coding with templates and documentation
- Coders are currently unable to directly search for errors in stack overfloww
- Optimizies coding work time and flow
## Success Metrics
*What are your ultimate success metrics? This could be changing one person's life for the better, or getting 1k downloads, or some
performance threshold.*
- Bringing the coding experience into one interactive platform that is more social, more efficient, and less isolating.
- Having effective documentation to make our platform easy to use
- Reducing debugging time
## Minimum Viable Product (MVP)
*Briefly describe your MVP features. Don't get bogged down in details, this should be a very terse list. What is the critical thing your product needs to do to be special? Build this from your User Personas.*
- Having voice to text to code capability that utilizes a library of voice commands provided to the user
- Somewhere to edit / run code (Vscode or our own website)
## Validation
*Explain how you plan to test/validate your product. Propose a term 1 and a term 2 validation idea. This can be different things depending on your project: user testing, or usage analytics, or performance characteristics. It can be done via surveys or in product analytics, or other performance measurements.*
- Term 1: being able to compile and run basic python code
- Term 1: coverting voice to text to code for some of the ConvoDex
- Term 2: working additional features based on OpenAI examples include runtime estimation, stack overflow searching and error handling
- Term 2: running python code with minimal typing
These above goals will be tested with user research and experimentation. After user testing with the focus above, we will survey test users.
## Implementation Challenges
*What development challenges have you thought about so far? Identify any risks and briefly discuss possible workarounds / alternatives.*
- Creating easy to decipher documentation (ConvoDex). This will likely be a lot of information that we will have to be carefully constructed
- Getting code to run in a React application
- Implementing OpenAI API resources