\documentclass[12pt]{article} \usepackage{amsmath} \usepackage{geometry} \usepackage{setspace} \usepackage{hyperref}

\geometry{margin=1in} \setstretch{1.2}

\begin{document}

\title{Outfit AI: Persona Judge} \author{} \date{} \maketitle

\section*{About the Project}

\subsection*{Inspiration}

Fashion feedback today tends to fall into two extremes: overly polite or excessively harsh without being constructive. We wanted to build something that produces honest, structured fashion analysis while also allowing for a more entertaining and personalized experience.

The idea was inspired by recognizable types of feedback: the sharp tone of a New York fashion critic, the practical bluntness of a traditional parent, and the high-energy encouragement of a Gen Z friend. As the project continued, we expanded the cast of personas to include two more culturally familiar archetypes: an Italian Mobster, and an Indian Mom. These characters offered new styles of commentary, each with its own recognizable speech patterns, expectations, and sense of drama.

This raised a simple question: what if an AI could analyze an outfit with objective clarity while presenting the feedback in any of these highly distinctive voices? That concept became \textit{Outfit AI: Persona Judge}.

\subsection*{What It Does}

The application allows a user to:

\begin{itemize} \item Upload an image of their outfit. \item Select a persona judge, choosing from: \begin{itemize} \item New York Fashion Critic \item Asian Dad \item Gen Z Bestie \item Italian Mobster \item Indian Mom \end{itemize} \item Receive a structured fashion analysis generated by Gemini Vision, including: \begin{itemize} \item A style rating. \item A description of the outfit. \item Strengths and weaknesses. \item Suggestions for improvement. \end{itemize} \item Receive a persona-specific critique or commentary generated by Gemini Text, based on the initial analysis and expressed fully in character. \end{itemize}

Each persona delivers a distinct style of judgement, ranging from runway vocabulary to parental concern, dramatic monologue, or culturally specific phrasing. This transforms a standard outfit analysis into a personalized, narrative-driven experience.

\subsection*{How We Built It}

\subsubsection*{Tech Stack} \begin{itemize} \item Frontend: React with a clean, minimal interface. \item Styling: TailwindCSS and custom CSS. \item Backend: Node.js and Express. \item AI: Gemini Vision for image analysis and Gemini Text for persona roleplay. \item Deployment: Vercel. \end{itemize}

\subsubsection*{Architecture Overview}

The workflow is as follows:

\begin{enumerate} \item The user uploads an image, which is processed client-side and converted to base64. \item The user selects one of the five personas. \item A request with the image and persona is sent to the backend endpoint \texttt{/analyze}. \item The backend performs two sequential interactions with Gemini: \begin{itemize} \item The first call sends the image to Gemini Vision for a structured fashion analysis. \item The second call provides that analysis, along with the selected persona, to Gemini Text, which generates a persona-style judgement. \end{itemize} \item The backend returns both outputs to the frontend, which displays them in separate result sections. \end{enumerate}

\subsection*{Challenges}

\paragraph{Ensuring persona consistency.}
Introducing five highly distinct personas required careful prompt engineering. Each persona needed a stable tone, clear vocabulary boundaries, and recognizable cultural or stylistic traits, without drifting into generic or unintended voices.

\paragraph{Maintaining clean JSON output.}
Gemini Vision occasionally produced responses outside strict JSON formatting. This required repeated prompt refinement and defensive backend parsing.

\paragraph{Handling image size and latency.}
Large images increased processing time. Downscaling and compressing images client-side significantly improved performance.

\paragraph{Designing an interface that supports personality.}
The application needed to feel lively and entertaining. Persona cards, stylized verdicts, and thought-out loading states contributed to an experience that reflects the diversity of the judges themselves.

\subsection*{What We Learned}

\begin{itemize} \item Methods for chaining multiple AI model calls into a cohesive user experience. \item Techniques for controlling persona adherence through iterative prompt design. \item Strategies for improving performance by preprocessing images on the client. \item Approaches for designing an interface that blends utility with narrative personality. \item The importance of cultural nuance and tone control when expanding persona sets. \end{itemize}

\subsection*{What's Next}

\begin{itemize} \item Adding user-created personas. \item Offering fashion recommendations based on budget or style goals. \item Building an outfit history timeline. \item Exploring generative editing tools to suggest revised outfit variations. \end{itemize}

\section*{Conclusion}

\textit{Outfit AI: Persona Judge} is designed to make fashion evaluation both informative and entertaining. By pairing structured AI-driven analysis with a selection of diverse personas, the application produces an experience that is humorous, personalized, and memorable. It aims to make personal style exploration more approachable, more expressive, and more fun.

\end{document}

Share this project:

Updates