Inspiration
At UCLA, there are over 1,200 clubs, and many have competitive application processes. We noticed that a lot of talented students don’t get in, not because they’re unqualified, but because they don’t know how to craft strong, value-aligned answers. Many students don’t have mentorship, resources, or writing experience, and end up feeling overwhelmed. We wanted to fix that.
What it does
ClubApply.ai is an AI-powered assistant that helps students write better club applications. It analyzes the club’s values, mission, and culture, and then gives personalized tips to help applicants align their answers more effectively. This helps students craft strong, authentic responses, saves time, and boosts their chances of getting accepted.
How we built it
We built ClubApply Strands as a full-stack multi-agent AI system using modern technologies. The backend leverages FastAPI with Python 3.11+ and implements a sophisticated system that coordinates six specialized AI agents: Instagram Agent for social media analysis, Website Agent for web scraping, Summarizer Agent for data fusion, Resume Tailor Agent for personalized suggestions, Application Coach Agent for strategic guidance, and Interview Coach Agent for preparation support. The frontend is built with React and Tailwind CSS, providing an intuitive user interface. We integrated multiple LLM providers (OpenAI, Google Gemini, AWS Bedrock) with automatic failover capabilities and implemented robust web scraping using BeautifulSoup4 and custom URL-fetching tools.
Challenges we ran into
The biggest challenge was working under intense time pressure to get everything ready for our project demo. We had to build both the frontend and backend from scratch while also preparing presentation materials, which created a lot of stress and tight deadlines. Coordinating between frontend and backend development was tricky because we had different team members working on different parts simultaneously. We kept running into issues where the frontend would break when the backend changed, or vice versa, and we had to constantly communicate and sync our work. Getting the demo presentation slides ready while still coding was really challenging. We had to balance time between actually building the features and creating slides that would showcase them effectively. We were able to create a rush presentation slide in the last minute, but we ended up working on finishing both the application and the presentation slides.
Accomplishments that we're proud of
• We built a working AI assistant in less than one hour. • The multi-agent flow works smoothly and produces surprisingly good suggestions. • Our demo successfully generated tailored tips for real UCLA clubs like Bruin AI. • We turned a real student pain point into a practical, scalable solution.
What we learned
We gained deep understanding of AWS tools and services like Bedrock and PartyRock, and how agentic systems work using frameworks like the Strands SDK. Working with multiple AI providers taught us the importance of abstraction layers and graceful degradation in AI applications. Most importantly, we learned how to work well under pressure and strict deadlines. The project taught us valuable time management skills and how to prioritize features when time is limited. We discovered the importance of clear communication between team members when working on different parts of the system simultaneously.
What's next for Untitled
• Expanding support to more universities and clubs beyond UCLA to make the platform accessible to students nationwide • Continue implementing the frontend user interface to better integrate with the backend and showcase the capabilities of our multiple agentic systems. • Add user accounts and application history tracking for Authentication
Built With
- bedrock
- fastapi
- pydantic
- python
- strands
Log in or sign up for Devpost to join the conversation.