Inspiration

Our inspiration for "say what?" came from exploring sentiment classification in our 4th-year computer science coursework. We realized that by combining sentiment analysis techniques with a growing body of slang, we could create a tool that simplifies and clarifies modern communication. Recognizing how quickly new slang terms emerge, we wanted to build a solution that keeps pace and provides immediate, accurate translations.

What it does

"say what?" converts slang-heavy sentences into clear, standard English while simultaneously determining whether the sentiment is positive, neutral, or negative. By blending generative AI with an evolving slang dictionary, it ensures that no matter how obscure the phrase, users receive both a proper English translation and an understanding of its emotional tone.

How we built it

  • Frontend: Developed with Next.js, Tailwind CSS, and state management via Zustand, giving the user interface a clean, modern feel.
  • Backend: Utilized FastAPI and Pydantic for efficient and reliable request handling and data validation.
  • Preprocessing: Removed stop words, converted emojis (via Demojify), and fetched slang definitions from the Urban Dictionary API.
  • Sentiment Analysis: Employed the VADER model to determine positive, negative, or neutral sentiment.
  • Language Model: Leveraged the OpenAI API to generate coherent, standard-English translations from slang-filled input.

Challenges we ran into

  • Prompting the Model: Ensuring we crafted prompts carefully to get consistent and correct outputs in the desired format was a significant hurdle. Minor variations in the prompt often led to drastically different results.
  • Maintaining Context: Translating slang while keeping the sentence’s overall tone and meaning intact required a strong approach to context awareness.

What we learned

  • Refining Prompts: We discovered the importance of experimenting with prompt structure to achieve consistent, high-quality translations.
  • Continuous Improvement: Watching how new slang terms appear daily taught us that any language-processing tool must be dynamic and adaptable.

What's next for say what?

  • Database Integration: An improvement to “say what?” could be made by attaching a database to store commonly used slang and their translations for faster lookups and more efficient processing.
  • Expanding Language Support: Beyond Gen Z slang, we could improve “say what?” to incorporate dialects, regional slang, and other language variations to broaden our user base.
  • Deeper Customization: We could add a feature to “say what?” that allows users to vote on translations, add new slang terms directly, and customize how results are displayed. This community-driven approach will keep "say what?" relevant, accurate, and up-to-date.

Built With

Share this project:

Updates