Inspiration
Let’s be real: applying for internships is a full-time job that pays $0.
We are university students tired of the "Copy-Paste" Olympics. We’re exhausted by the endless cycle of re-typing our work history, writing "passionate" cover letters for companies we just heard of, and then... silence. Being ghosted by recruiters isn't just annoying; it’s inefficient.
We realized the problem isn't just applying; it's that we make the same mistakes over and over because we never get feedback. We wanted to build a bot that doesn't just spam applications, but actually learns from rejection. If we have to suffer, at least let the AI do the heavy lifting.
What it does
Darwin Apply is an evolution engine for your career. It treats the job market like an ecosystem and your application like a species that needs to adapt to survive.
Here is the "Circle of Life" workflow:
The Hunt: It scrapes the web for the best application strategies and hits LinkedIn to discover relevant open roles. Camouflage: It takes your user data and tailors a custom resume and cover letter that perfectly matches the job description. Survival of the Fittest: It tracks your application status. Evolution (The Secret Sauce): If you get rejected (RIP), Darwin doesn't cry. It scrapes the HR contact's email, automates a polite request for feedback, and uses that response to update its internal strategy. Every "No" literally makes the next application smarter. It is a closed-loop system where failure is just data for the next success.
How we built it
We didn't just code this; we vibecoded it. We used Lovable to speedrun the development process and integrated a powerful stack of sponsor APIs to make the magic happen.
Brain: Google DeepMind Gemini 3 Flash Preview. Hands: Composio. Eyes: You.com API. Architecture: Structured Tool Calling (function calling) for reliable JSON outputs.
Challenges we ran into
The path of true love (and API integration) never runs smooth.
Integration Purgatory: Connecting multiple agents (Search + Email + LLM) resulted in some shaky handshakes. We had to pivot strategies mid-hackathon when the data wasn't flowing correctly.
The Email Dilemma: Programmatically sending emails without looking like a spam bot is harder than it looks. We wrestled with the email integration to ensure our "Feedback Requests" actually landed in inboxes, not junk folders.
Accomplishments that we're proud of
We are incredibly proud of the "Closed-Loop Learning" system, but we couldn't have built it without our sponsors:
Google DeepMind saved our NLP: Using Gemini 1.5 Flash (via Lovable AI Gateway) was a game changer. Its massive context window allowed us to feed in entire application strategies and user histories, while its Structured Tool Calling capabilities ensured we got clean, reliable JSON for our backend—no hallucinations, just code that works.
Composio saved us from Auth Hell: We were dreading the LinkedIn and Gmail integrations, but Composio handled the complex OAuth authentication instantly. It allowed us to focus on the logic of applying and emailing rather than fighting with permission tokens.
You.com gave us Real-Time Eyes: Most LLMs have outdated training data, which is useless for finding open internships. The You.com Search API allowed our agent to perform real-time web research, finding job listings that were posted today rather than last month.
What we learned
Feedback is Gold: We learned that the hardest part of the job hunt (getting feedback) is also the hardest part to automate—but it's the most valuable data point.
Prompt Engineering is Key: "Vibecoding" is fun, but getting an LLM to output strict JSON for a backend requires precise instructions. We learned a lot about structured outputs and minimizing token usage.
Resilience: Much like our app, we had to iterate. When an API failed, we didn't stop; we just updated our strategy and tried again.
What's next for Darwin Apply
Backend Fortification: Ironing out the quirks in the email sending service to ensure 100% deliverability.
Analytics: Visualizing the data to show users exactly why they are getting rejected so they can improve their real-world skills, not just their resumes.
Built With
- composio
- gemini
- lovable
- you
Log in or sign up for Devpost to join the conversation.