Inspiration
My vision for the future of mobile apps is that they should be smart and voice-controlled. I believe this approach will redefine how users interact with technology, making it more intuitive and accessible. One way to achieve this is by reimagining existing business models and rebuilding them with AI from the ground up. While existing apps may struggle to fully transition to AI-powered solutions, creating new ones from scratch can redefine entire industries. A simple example is random decision-making apps, such as roulette-style decision tools, which are already profitable. Apps like TinyDecisions (https://apps.apple.com/ee/app/tiny-decisions/id1338769645) and Spin the Wheel (https://apps.apple.com/ee/app/spin-the-wheel-random-picker/id1467343690) demonstrate the potential. The simplicity of these apps inspired me to create DecideAI—an app built entirely on AI to make random decision-making quick, effortless, and fun using your voice.
What I Learned
I learned how to integrate multiple OpenAI models like completions, TTS, and Whisper. I also got deep into prompt engineering, learning how to craft and refine prompts for LLMs. LLMs played a role in every part of this project—from coding with GitHub Copilot to writing marketing copy. The biggest lesson? Always make sure your instructions are clear so the LLM doesn’t make assumptions. Seriously, paste this after every question to ChatGPT.
Please follow this chain-of-thought process:
1. State the Goal: Begin by clearly stating the goal or purpose of this conversation.
2. Outline the Steps: Provide a detailed outline of the steps that should be followed to achieve the optimal answer.
3. Step-by-Step Execution: Proceed to execute each step closely and extensively, providing thoughts and reflections at each stage of the process.
4. Conclude and Summarize: Conclude by summarizing your thoughts, reflecting on the process, and presenting the final answer.
This structure ensures clarity, completeness, and logical progression in the conversation.
UDPATE Sep 13th 24: Today was released ChatGPT o1 which basically does that.
How We Built It
We built DecideAI using Flutter for the app's user interface, OpenAI API for the core decision-making logic, and RevenueCat for managing in-app purchases and subscriptions. The process begins when a user presses a button to start recording their voice. The app captures the recording and sends it to OpenAI’s Whisper model, which transcribes the speech into text.
Once transcribed, we use the OpenAI Completions API. This involves creating a system role that defines the decision-making process for the AI, named DecisionGPT. The DecisionGPT prompt is then sent to the OpenAI Completions model, which drives the decision-making process. This model processes the user's input, either selecting from provided options or generating its own. The response is returned as a JSON object that contains the options, the chosen decision, and a concise output text based on the user's voice style preference. Finally, the text is converted back to speech and delivered to the user using OpenAI’s Text-to-Speech model.
Challenges We Ran Into
One major challenge was incorporating randomness into an LLM (Large Language Model) like OpenAI's Completions API, which tends to return the same output for repeated inputs. This is particularly problematic for a decision-making app where users expect random results. For instance, when asked to "Choose randomly between red, yellow, green, and black," the model would often select the same option (e.g., "green") repeatedly.
To solve this, we introduced a random number generator though our code. The prompt provides a range of random numbers between 1-1000, and the model selects an option based on the number. This allows us to ensure randomness in the decision-making process while maintaining the integrity of the LLM's functionality.
Another challenge was crafting precise prompts for the Completions API to handle different types of user inputs while accounting for edge cases. The model needed to understand when to select multiple options or generate its own, and it had to do so in a fun and engaging way, matching the playful tone of DecisionGPT.
What's next for DecideAI - AI Voice Decision Maker
The future of DecideAI lies in the hands of our users. Whatever our users request, we'll build. We’ve already heard exciting suggestions like weighted decisions, internationalization of the app's interface (while input/output already supports 156 languages, app strings will follow), context-aware smart decisions (non-random), and location-aware decisions. We’re committed to making DecideAI evolve with the needs and creativity of our users.
Built With
- flutter
- openai
- revenuecat


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