What it Does

ASO allows founders and developers to go through the ideation process to align their startup ideas with the United Nations Sustainable Development goals. The first stages are conducted in a conversational manner where the user can brainstorm out loud and receive immediate feedback from an agent reply by reply. Once the brainstorming session has ended, an analysis of how well each SDG is met is provided alongside a market-fit analysis, plans for execution, and likely return on investment. In the later stages of development, ASO assists with codebase development, working alongside users to plan and execute their ideas as needed. When a codebase is solidified, ASO acts as a refiner -- optimizing code to help the user publish their best possible product.

Inspiration

Good intentions in development change the world. Knowing this, our biggest question became how do we ensure that people with good ideas to develop sustainability get the support and resources they need to create great products. Here is where ASO comes in. By guiding founders in the direction of alignment with the United Nations' 2030 Agenda for Sustainable Development, we can ensure that developments for the greater good are not just floating in the air but completely supported.

How We Built It

  • Front-End: ASO's user interface is built using HTML, CSS, and JavaScript. Leveraging the JavaScript SpeechRecognition API and webkit, the codebase allows for speech recognition and parsing. The Blob API is used as well for document creation for the user to download their transcripts and notes post-session.

  • Back-End: The backend uses a server built in Python running Flask. Here is where three foundational POST routes making the calls to the IBM Granite AI API are defined. Calls are made to this server using JavaScript's XMLHttpRequest() call.

  • Trade-Off Reasoning: We used Python for our backend due to its well-established library support with Featherless.ai. By making this decision, we are able to seamlessly create communication between the front-end and back-end and make necessary API calls all in a single location rather than needing to bounce information across multiple sources, leading to more efficient development. Using HTML, CSS, and JavaScript on the front-end gave us ease and control without the stress of developing in a new language under a 36 hour time constraint.

Architecture

                  +---------------------------------+
                  |             Browser             |
                  |    - Speech Recognition         |
                  |  - Confirm Speech/Send Query    |
                  +---------------------------------+
                                   |
                                   |
                             HTTPS | Flask (WSGI)
                                   v
+----------------------------------------------------------------------+
|              Web Application with Flask powered backend              |
|   Routes: /get_response, /evaluate_by_sdg, /evaluate_by_investment   |
|                                                                      |
|                Querying Engine (featherless.ai)                      |
|              - uses 3 system content instructions                    |
|           - general instruction guides conversation                  |
|       - sdg evaluation uses transcript and evaluates by goals        |
|   - investment evaluation uses transcript and evaluates overall      |
+----------------------------------------------------------------------+
                                   |
                                   v
                  +--------------------------------------+
                  |             Browser                  |
                  |  - Outputs Conversation Transcript   |
                  |  - Outputs Evaluation Response       |
                  |  - Redirects Back to Session         |
                  +--------------------------------------+

Challenges

Through the process of creation, the first challenge we ran into related to determining and implementing an IBM tool. The setup process for IBM watsonx had a steep learning curve that took hours of unsuccessful approach to work through. In the end, we decided to use a Featherless.ai hosting of the IBM Granite AI model.

Once the front-end was built, the next challenge arose: getting the front-end and backend to communicate properly and determining which libraries would be most effective. Among the considered were Django, Flask, requests for Python (server-side), and XMLHttpRequest and the Fetch API for JavaScript (client-side). Flask was chosen for its lightweight properties and our reduced need for features and XMLHttpRequest was used in JavaScript for expanded compatibility and effective communication properties.

Our final challenge arose in attempting to communicate with the AI API and get properly formatted output. This was resolved mostly through trial and error and did not require switching tools.

What's Next for ASO

ASO currently partners with users to go through the ideation and planning stages. The next step is adding code development and improvement. Our ultimate goal is for ASO to truly be a step-by-step, hands-on startup building guide.

Track

We are submitting to a number of tracks. They are included below:

  • Best Use of IBM Tech
  • Best UN Hack
  • Sustainability Hack + Climate Change Hack
  • Best International Hack
  • Best Startup Potential
  • Best Women Hack

Built With

Share this project:

Updates