This project was developed during a Microsoft AI Hackathon and uses Azure services. The aim of our application is to assist writers in practicing and enhancing their creativity through AI-generated prompts. Each day, users are presented with three different prompts, categorized into unique 'modes.' Participants can respond to these prompts with their own writings, which are then evaluated and scored using OpenAI's models. Additionally, users have the opportunity to read stories submitted by others, compare scores, and view rankings on leaderboards for each mode. To maintain a high quality user experience, our application uses Detoxify which has a BERT based model for detecting inappropriate content. Additionally, we are using an OpenAI embedding model to store prompts as vectors, enabling the use of vector search for a RAG pipeline to ensure unique prompts. Azure Cosmos MongoDB is used as our database to be able to track user progress. The web application is currently deployed with Azure.
Video Demo: https://www.youtube.com/watch?v=6r5PlXdLFdw
Application Link: http://20.252.86.168/
- Overview: The landing page is the first thing users see when they visit our web application. It tells the user what the purpose of our application is and directs them to begin writing.

- Overview: The difficulty page allows participants to choose from three prompt types tailored to different writing preferences and challenges.
- Each mode can only be attempted once per day.
- Normal Mode offers a straightforward prompt with a 10-minute time limit.
- Challenge Mode presents a syntactical challenge with 20 minutes to write, pushing the participant to have to go out of their comfort zone.
- Creative Mode provides an unconventional prompt to inspire creative thinking, with 15 minutes to submit.
- Overview: This page displays the daily prompt generated for the selected difficulty.
Users can enter their responses in the text area and submit them for feedback. Prompts are generated once per day. To make sure no two prompts are close to identical we use RAG system to ensure GPT's unique output.
The embeddings model uses cosine similarity to evaluate that the models are not too semantically similar.
Additionally, submissions are screened for toxicity using a model based on the BERT architecture from the Detoxify python library.
If a submission is found to be inappropriate, it is not analyzed further and the user is redirected.

- Overview: The leaderboard page displays the top 10 users from each of the three writing modes. Participants can view and compare high-scoring essays by clicking on buttons next to the scores, allowing users to see how others have engaged with the prompt.

- Overview: These pages allow users to register and login. Here participants can create an account to save their essays, track their progress, and view their rankings on the leaderboards. The design is straightforward to ensure ease of access and use, allowing users to quickly start using our application.

