Inspiration
We noticed how difficult it can be to make genuine connections online, since many social platforms are superficial and it can be really intimidating to talk with strangers. Then, how can it be to have a conversation with an AI that will truly get to know you, before meeting someone who shares the same interests and values? This is why AMI was created! It listens and introduces you to real people who matches your energy.
What it does
AMI will start by chatting with the user, then through the conversation, it will get to know about their interests, their hobbies and their personality. It will then use that information to connect you with real users who match your traits.
Specifically, the user can choose to add an "AI friend", which will be able to satisfy the emotional need of the user and has an insight into the user's personality. Using both the user's personality and their preference, this program will be able to pair other users that share similar preference with this user.
The advantage of this mechanism is that the public will be able to find friends without any trouble: they don't need to worry that the friend they speak with does not share same hobbies as them as the AI will match perfect friends based on their personality. Even they may start with chatting with an AI bot, they will be sooner able to find a real person that matches with them in hobbies, characters, and etc. And the users are able to keep the AI chat bot if they want.
How we built it
We started by designing an overall architecture of this program and we decided to make a server and several clients. Clients will be able to connect themselves to the server and register themselves by providing their unique ID and description. The AI will answer the clients from the server side. We used self-built database to store individual user data and a self-written protocol to transfer messages between users and server. Users are free to ask the server to find a friend for them, in case their preference personality meets one of the registered users. The use of generative AI inside this program is to offer a chance for users to find the ideal friend to communicate with and then, to replace these AI by real people who share similar characters with their AI bot.
Challenges we ran into
During our construction of TCP connection, in the user data and the implementation of GPT's api, we encountered a few obstacles, but we managed to fix it. We have experienced some difficulties in constructing a stable architecture for the inter-program communication via TCP and an overall adapted data structure which can transfer all type of possible messages between clients and server.
Accomplishments that we're proud of
For most of our teammates, it was our first time building a software using AI tools. Also, this was all our first time attending Hackathon, which makes this project a huge learning curve for us. We have successfully achieve an SEND-ACK system between clients and server and use data length recheck to ensure data integrity.
What we learned
During the construction of our project, we learned how to use ChaGPT's api in our code. In addition, we have a deeper understanding of lower level internet communication protocols and some basic data structures.
What's next for AMI
We had no time to build a GUI application for this program yet, and all user action are done in command line. So it is undoubtable that we will try to build a GUI interface in order to facilitate the use of this program and to make its user experience more friendly to non-command line users. Furthermore, the number of users inside this program is very limited yet, so the match-friend-by-AI-character function is in a lack of samples. We wish that more users will join this community and find friends that really fit their personality without trouble. In addition, since this is a chatting application, we can add video chatting function to this program which allow users to make video calls with others, or even with another generative AI. We believe that doing video call with a generative AI may be done by using a GAN network that provides a physical figure for gpt4.. This function can largely resolve the emotional need of the wide public and help people to be connected with others, as AI can help them to discover other's character before they contact them.
We hope that we can have a large user community so we can use AI to pair friends together.
Log in or sign up for Devpost to join the conversation.