Caramel
oncaramel.com ↗- in beta
- Design
- Full stack
- ML
TL;DR
Caramel is a job hunt coach. It reads recruiter emails straight from your inbox, learns your pipeline and the roles you’re going after and shows you where you’re falling behind. Then it gives you a few clear actions each week. It only reaches out about a job when it finds one you’d want and could actually land.
I designed, built and shipped it solo. It’s in beta with 17 people on the waitlist, 9 signups and 7 actively applying with it.
- My role
- Design, full stack, ML
- Timeline
- 2024 to now
- Stack
- React, Flask, Fly.io, Firebase, DistilBERT, spaCy
Why I built it
The job hunt gives you plenty of data and no answers
As a co-op student, I’ve gone through a hiring cycle almost every term for 5 years and landed 6 internships. Each cycle, the applying was the easy part. Making sense of it was harder. Which applications were still alive? Why did some roles reply and others didn’t? What should I change next time?
My inbox had all the answers, scattered across hundreds of emails. So two years ago, I built the first version of Caramel to read them for me and track everything automatically.
Problem
More applications, more ghosting, no idea what to fix
Most job search tools push you to send hundreds of auto-filled applications and hope something sticks. You get more rejections, more ghosting and no idea what to fix.
Caramel goes the other way: fewer, better applications and a clear read on what’s working.
Evolution
From tracker to workspace to a career coach
- 01
A tracker for myself
2024Caramel started as a side project. I was tired of keeping spreadsheets of where I’d applied, so I built a tool that read my inbox and tracked it for me. You connect Gmail and it pulls the company, role and status out of every email, with no manual entry.
I built the whole ML pipeline myself instead of calling an outside AI API:
- Labeled my own dataset of job emails in Label Studio
- Fine-tuned a DistilBERT classifier to sort emails by stage (applied, interview, rejection, offer)
- Trained a custom spaCy NER model to extract the company and role
- Built matching logic so a status change updates the existing application instead of creating a duplicate
- Shipped it end to end: React front end, Flask backend on Fly.io, Firebase and the models running on my own servers
The pipeline - Gmailrecruiter emails
- DistilBERTstage
- spaCy NERcompany, role
- Matchingno duplicates
- Tracker
- 02
An all-in-one job hunt workspace
Once tracking worked, I kept adding the other parts of the hunt: a home feed of matching jobs, a dream company watchlist, interview prep and saved jobs. The goal was one place to organize everything.
What beta users actually did - Waitlist17
- Signed up9
- Connected Gmail8
- Actively applying7
- Added dream companies3
- Opened interview prep3
- 03
A career coach
nowThe workspace helped people organize their hunt, but it didn’t help them get better at it. So Caramel is becoming a coach.
The coaching loop - 01Learnyour pipeline, target roles
- 02Diagnosegaps vs. what roles ask for
- 03Recommendjobs you’d want and could land
- 04Acta few actions each week
- 05Trackreplies, stages, progress
↻ then back to 01
Two ways to find jobs. Your feed in Caramel shows every relevant role, for when you want to browse. But Caramel only texts or emails you when it finds one that’s meant for you: the right role, at a company you’d love, that you have a real shot at. Most weeks that’s zero or one. When your phone buzzes, it’s worth opening.
Insight
Tracking isn’t the real problem. Not knowing what to do next is.
Hiring has turned into an AI arms race, a filter war. Recruiters screen with ATS software, candidates fight back with auto-apply bots and nobody trusts the process.
- 55%of job seekers say not hearing back after applying is their biggest frustration.Resume Genius, 2026
- 9.3% vs 2.6%Targeting beats volume: interview rates for 11 to 20 applications, compared to 100+.Huntr, Q1 2026
When things go quiet, you can’t tell whether to fix your resume, follow up or move on.
Testing
Testing the coach by hand first
Before I automate the coaching, I want proof people want it. So I’m testing it by hand first: sending 5 beta users a funnel report and seeing if they ask for another.
- Hypothesis
- Knowing what to do next is worth more to job seekers than another tracker.
- Test
- A hand-made funnel report for 5 beta users, with a few actions each.
- Signal
- They ask for another one.
Here’s one of the reports, anonymized. The name, companies, places and numbers are changed, but the structure and the advice are what a tester received.
What happened
So far I’ve sent one report, and more are on the way. Here’s what came back from the first one.
I asked the tester three questions: Which sections were useful? Was anything off or wrong? Would you want another one?
“Really useful, nothing wrong with the info, and yes, looking forward to the next one.”
They acted on it. Soon after reading the report, they updated their location and role settings to match what it recommended. One report changed how they use Caramel.
- Asked for another report✓
- Found no errors in the read of their pipeline✓
- Changed their settings based on the advice✓
Vision
Design ideas for the coach
It learns your pipeline and the roles you’re going after, then compares them to the market: what those roles ask for and what the people who hold them look like. From there it shows you where you’re falling behind and gives you a few personalized actions each week. That could be following up with a company that went quiet, building a skill your target roles keep asking for or skipping a kind of role that never replies to you.
Instead of pushing you to apply to more jobs, it only reaches out when it finds one you’d want and could actually land.
The goal is that you stop wondering whether your search is working. Caramel tells you and tells you what to do next.
What's next
- 01
Send more reports by hand. One tester is a start. Next I’m sending reports to the rest of the active beta users and tracking two things: do they ask for another one, and do they act on it?
- 02
Automate the part people acted on first. The tester’s first move was changing their settings, the one action they could take right inside Caramel. So that’s where I’d start: advice that turns into a one-tap change, like pausing a role type or narrowing a location.
- 03
Build the coach screens. Today, the Pipeline board with coach hints, Jobs and Your edge, starting with Today, since it’s where the weekly plan lives.
- 04
Texts last. Texting only works if every message is worth opening. I want the recommendations to be right in the app before Caramel starts buzzing anyone’s phone.
Reflections
I built before I watched. I added dream companies and interview prep before checking whether testers were even job hunting, let alone using them. Next time I’d recruit people mid-search and watch their first session before adding anything.
People use what saves them work, not what organizes them. Tracking stuck because it happened on its own. Everything that asked people to do more up front got ignored, even when it was useful. That’s why every coach action comes with a message or plan ready to go.