Inspiration
The hiring process is broken for both sides.
Job seekers spend hours submitting hundreds of applications, often receiving little more than automated rejections or complete silence. Meanwhile, employers are overwhelmed with applications and increasingly rely on automated screening systems to manage the volume.
AI-powered application tools have made applying easier, but they've also made the underlying problem worse withy more applications, more noise, and more competition for everyone's attention.
We realized something important: hiring isn't just a search problem. It's a coordination problem.
Traditional job platforms focus on helping individuals find their best matches. But what if we could optimize opportunities across the entire hiring market instead?
That question inspired Career Kitchen.
What it does
Career Kitchen reimagines hiring as a coordinated, two-sided marketplace rather than an endless cycle of applications.
Instead of encouraging candidates to apply to hundreds of jobs, Career Kitchen brings together candidate qualifications, preferences, employer requirements, and mutual interest to create more meaningful connections.
Our platform includes:
- Reciprocal Matching: Considers compatibility from both the candidate's and employer's perspectives.
- Global Optimization: Our research engine explores how to coordinate matches across the entire market instead of independently ranking every candidate for every job.
- Limited Attention: Candidates and employers receive manageable sets of opportunities rather than overwhelming feeds.
- Mutual Interest: Both parties must express interest before a connection progresses.
- Dynamic Market Repair: Our optimization framework explores how to reallocate opportunities when candidates decline, positions fill, or preferences change.
- Career Chef: An AI-powered assistant that helps users navigate the platform.
- Complete Hiring Workflows: Profiles, job listings, matches, messaging, interviews, and offers.
The current application supports reciprocal matching and hiring workflows, while our advanced global optimization components are being evaluated separately before live activation.
Our ultimate goal is simple: fewer applications, less wasted effort, and better hiring outcomes for everyone.
How we built it
We approached Career Kitchen as both a software engineering project and an optimization research problem.
For the frontend, we used Next.js, React, TypeScript, Tailwind CSS, and v0 to create a responsive, kitchen-inspired interface. The design makes job discovery and hiring feel more intuitive and approachable.
Our backend uses Python and FastAPI, with PostgreSQL for persistent application data and Supabase integrations for authentication and storage.
At the algorithmic level, we designed a matching architecture around three central ideas:
- Global Allocation: Model candidates and jobs as a connected market, using mathematical optimization to explore better overall assignments.
- Budgeted Verification: Identify when additional information would meaningfully improve a matching decision.
- Market Repair: Reconsider affected assignments when a match fails or market conditions change, without unnecessarily restarting the entire process.
We also integrated Google Gemini into Career Chef, connected the frontend and backend through typed APIs, and used GitHub and AI-assisted development tools to coordinate implementation.
Challenges we ran into
Our biggest challenge was realizing that finding a good individual match is not the same as finding a good overall allocation.
A candidate might appear perfect for one position but be the only qualified option for another. Recommending everyone independently can create conflicts and missed opportunities.
Designing around this meant balancing competing objectives: candidate preferences, employer requirements, limited attention, uncertainty, and changing availability.
Another challenge was distinguishing genuine compatibility from arbitrary matching scores. We explored how verification, reciprocal decisions, and optimization could make recommendations more meaningful and accountable.
Finally, integrating a complex Python backend with a polished React frontend introduced challenges involving authentication, persistent state, API contracts, and concurrency.
Accomplishments that we're proud of
We're especially proud that Career Kitchen goes beyond adding AI to an existing job board. We challenged the underlying structure of how hiring platforms allocate opportunities.
Rather than simply generating more applications, we developed a framework for reducing unnecessary interactions while improving coordination across both sides of the market.
We also built a working, persistent application with candidate and employer workflows, mutual matching, messaging, interview coordination, and offer management.
On the engineering side, we're proud of implementing a modular backend, rigorous authorization and consent controls, automated tests, and an experimental optimization engine that can be evaluated without disrupting live matching decisions.
Most importantly, we took an ambitious idea from mathematical reasoning to a functioning software prototype.
What we learned
One of our biggest lessons was that optimization is only as useful as the assumptions behind it.
Even a mathematically optimal assignment can fail if candidates aren't interested, employers have uncertain requirements, or predictions are inaccurate.
We learned that building a better hiring marketplace requires more than ranking resumes. It requires understanding incentives, modeling uncertainty, protecting user choice, and adapting to changing conditions.
We also learned how important it is to connect ambitious algorithmic ideas with practical product engineering. An impressive algorithm means little unless real people can understand, trust, and use it.
What's next for Career Kitchen
Career Kitchen began as a hackathon project, but we see the potential for something much larger.
Our next steps are to validate our global optimization framework against conventional ranking and matching approaches, improve reciprocal preference estimation using consented feedback, and introduce more adaptive verification and market repair.
We also want to test the system with real candidates and employers, improve the user experience, and measure actual outcomes such as successful introductions, hiring efficiency, and unnecessary applications avoided.
Our long-term vision is to transform hiring from a competition to submit the most applications into a system that coordinates the right opportunities for the right people.
The future of hiring shouldn't be about applying more. It should be about matching smarter.
Built With
- codex
- fastapi
- google-gemini
- javascript
- next.js
- postgresql
- python
- railway
- react
- supabase
- tailwind-css
- typescript
- v0
- vercel
Log in or sign up for Devpost to join the conversation.