Best Flask open-source libraries and packages

Aihub live

AI Hub - JS Python SQL [Still Refactoring & Cleaning Up]
Updated 1 year ago

AI-Hub

A capstone project by Obby del Rosario

Live Link: https://ai-hub.herokuapp.com/

Title: AI-Hub

Project Summary

1. What goal will your website be designed to achieve?

AI-Hub was designed to explore app opportunities built on OpenAI's API. AI-Hub is a platform for creating small apps that are both fun and interesting, but at the same time can be further built upon. At present, I've built 8 apps on AI-Hub each seeking to accomplish different things.

Explore+

Explore + combines the best parts of Google search with a curated review from an AI advisor. User reviews are specific to the location and don’t take your goals into consideration. We use a combination of Google and OpenAI to help you find the perfect match. I built this app to explore the possibility of a dynamic pitch tailored to your preferences. Given more information about the user and activity, I could further tailor the ai based recommendation to give the user even better results. Google API calls are expensive, but I would ideally give OpenAI the entire updated menu, user reviews, and pricing data. Unfortunately this would lead to extremely slow API calls and the costing for API calls would add up fast. Over time I expect this to become more feasible as the OpenAI API calls speed up and the cost lowers.

Fortune Teller

Fortune Teller creates 3 potential future outcomes (best, worst, and likely) as well as tips on how to achieve your best life. Fortune Teller is a demonstration of creating interesting options for the user based on more data points. A similar approach could be taken to create interesting NPC characters for video games. I imagine in the near future key characters in MMOs will be “alive” with the ability to remember your previous interactions, your point in the storyline, and other key data points to bring these characters to life. This will give video games a whole new layer of depth as character interactions improve 100x.

Perfect Quote

Can’t remember all the words to a quote? Need the perfect quote to impress your wife? Me too. I built Perfect Quote to do what google search has a hard time doing. Simply input the words you remember, the author if you remember them, and let OpenAI do the rest. You’ll get the quote you need and a hand drawn picture of the author. In the future, I’d like to add a list of options generated from OpenAI and let the user choose the one they had in mind. Can’t remember all the words to a quote? Need the perfect quote to impress your wife? Me too. I built Perfect Quote to do what google search has a hard time doing. Simply input the words you remember, the author if you remember them, and let OpenAI do the rest. You’ll get the quote you need and a hand drawn picture of the author. In the future, I’d like to add a list of options generated from OpenAI and let the user choose the one they had in mind.

Endless Quiz

Ever wanted to take a never-ending SAT exam? What about taking a quiz on a silly topic no one has the gall to say out loud? Whether you want to nerd out or laugh out loud, Endless Quiz has got you covered. Simply input your topic and difficulty level, and let the app do the rest.

Leftovers Chef

Let’s face it, leftovers suck. This app helps you turn leftovers into leftwinners. Input what your leftovers are, what ingredients you have available, and the app will create a simple recipe for you to follow. You’ll even get a beautiful image on what your leftovers should look like when you’re done cooking.

Speak with God

Although there’s no substitute for the real thing, I wanted to create an AI that would approximate the responses of god. I feel as though this AI could help people in a tough spot get some context and advice. I sincerely apologize if I’ve offended anyone in the creation of this app. My intent was to build something helpful that anyone could benefit from.

Bitcoiner AMA

Anyone first learning about Bitcoin knows how many questions they first have. This Bitcoiner AI personality tries to answer all your questions in a simple way.

Speak with Help

Sometimes it’s difficult to ask for help. This chat app helps get things off your chest, get advice for things in your life, and provide a non judgemental space to communicate.

2. What kind of users will visit your site? In other words, what is the demographic of your users?

AI Hub will cater to individuals looking to explore AI based apps either to have fun or learn.

3. What data do you plan on using?

I used https://beta.openai.com/docs/introduction/ to interact with OpenAI. I used API Completion and Image classes to generate text and images. I used https://developers.google.com/maps to interact with google maps to create panoramic and traditional maps. I also used Google's places API to collect photos, reviews, and other relevant information which I passed to OpenAI as a prompt. I used AWS to store the images I received so that users can access these images later in their profile.

4. In brief, outline your approach to creating your project.

What does your database schema look like?

My DB will have the primary user model to store all the user's sign up information. I've created models for each additional app that I can then query and use to access search features, favorites, and store relevant data unique to each app.

What kinds of issues might you run into with your API?

I had a lot of issues learning how to use AWS, OpenAI, and Google APIs. I spent a lot of time reading documents and learning how to interact with each API.

Is there any sensitive information you need to secure?

The user's password is encrypted and the user's email will be stored in a postgres db securely.

What functionality will your app include?

Each app has unique functionality and I've explained this in more detail above in question 1.

What will the user flow look like?

After loading the website users can explore each app without making an account. I store the user's IP address on my DB and allow each IP to make a maximum of 30 API calls before asking them to make an account. Account holders can make up to 70 API calls per day. Each app has its own unique flow. Generally, users fill in the form data for the app, we process the necessary API calls, clean up the data, and throw it back to the dom. From there users can favorite the data and access it from their profile or continue interacting with the app.

What features make your site more than CRUD? Do you have any stretch goals?

I've done my best to make the website beautiful, implemented a search feature in the user's profile that appends each app's unique data into the dom, and integrated several API calls together while processing the data before passing it along to the next call. Although I'm a new developer, I did my best to research best practices and accomplish the goals I had in mind. In the future I absolutely need to break down the longer functions and refactor the code with maintenance and reusability in mind. I will do this slowly over time as my main goal was just to get everything to work.

5. What tech stack did you use?

I used Javascript, HTML, and CSS for the front end. I used Python (Flask) and SQL (SQLAlchemy) for the back end.

Thank you for checking out my Capstone!