Inspiration

Many people today feel self-concious because of social media and the pressures to look a certain way. This causes global mental health to suffer, and may even result in social anxiety, depression, and even eating disorders. We wanted to make a simple solution to remind everyone that they do not need to compare themselves to others in order to feel good.

What it does

The webapp allows the the user to take a picture using their webcam, then processes is in the backend for a little bit, and returns a compliment to the user which can be viewed for around 10 seconds.

How we built it

Using the a Bootstrapping Language-Image Pre-training model (BLIP) API from Replicate, we are able to explicitly categorize features of the user into discernible traits, along side a general description, which we then pass to OpenAI's GPT 3.5 Turbo model with a carefully engineered prompt to ensure the model does not generate anything inflammatory. The API calls are handles on a Python backend, which accepts an HTTP request from the client, and returns the output message after it is finished. Once the image is processed, it is deleted from the server.

Challenges we ran into

Many of the challenges were with the server-sided implementation, and configuring everything to work correctly and quickly. Replicate offers a reasonable service, but it can still take ~20 seconds to complete a compliment with their BLIP API, so we simply have to compromise with slower speeds.

Accomplishments that we're proud of

Actually configuring the client-server interactions correctly, and preventing any loss from transfers. Also, the frontend has a nice appearance, and everything seemingly flows really smoothly.

What we learned

We learned a lot about web design, servers, API calls, and language models.

What's next for Flatter

Currently, Flatter connects to the inet ip of the server, so only users which are connected to the same internet can access the backend. However, we plan to change this to a dedicated server with a port-forwarded ip, and dynamic client-server interactions. This will also allow us to compute multiple requests in parallel, and offer more users compliments. We also plan to add a rating system for the compliments to potentially train future models on appropriate flattery and language structure. Finally, we want to include a database system which allows users to view their past exchanges with the AI, and look at compliments they have received prior.

Built With

Share this project:

Updates