Inspiration
Job hunting today is broken. It’s repetitive, opaque, emotionally draining, and biased toward those who have time to manually apply all day. Watching talented people burn out filling the same forms, tweaking resumes for ATS bots, and waiting weeks with no feedback sparked a simple question: why isn’t this automated yet?
JobRaker was inspired by the idea that job seekers should spend their energy growing, learning, and preparing not copy-pasting applications. If companies use automation to filter candidates, applicants deserve automation on their side too.
What it does
JobRaker is a fully autonomous job application platform that searches, filters, applies, and tracks jobs on your behalf 24/7.
It:
- Automatically finds relevant, high-quality job listings
- Applies to jobs with AI-tailored resumes and profiles
- Tracks application status, success rates, and responses in real time
- Syncs your profile, experience, education, and skills across devices
- Provides AI career guidance, interview prep, and optimization insights
In short: JobRaker turns job hunting into a background process.
How we built it
We built JobRaker as a modern, scalable, production-grade platform:
- Frontend: React 18 + TypeScript + Vite, Tailwind CSS, Radix UI, Framer Motion & GSAP
- Backend: Supabase (Postgres, Auth, Storage, Realtime, RLS)
- Automation: Supabase Edge Functions + Skyvern workflows for autonomous job applications
- Realtime: WebSocket-based updates via Supabase Realtime
- Infrastructure: Vercel for global edge deployment
- Architecture: Normalized profile data, secure RLS policies, realtime subscriptions, and event-driven UX
We emphasized clean data models, security-first access control, and realtime feedback loops so users always know what the system is doing on their behalf.
Challenges we ran into
- Autonomous reliability: Ensuring job applications only go to legitimate, high-quality roles required strong filtering and enrichment pipelines
- Realtime complexity: Synchronizing profile data and application status instantly across sessions without race conditions
- Security: Designing strict Row Level Security policies that are powerful but safe
- Automation UX: Making background AI actions understandable and trustworthy to users
- Integration pain: Coordinating Supabase, Edge Functions, Skyvern runs, and frontend state without tight coupling
Each challenge pushed us to build more robust abstractions and better developer ergonomics.
Accomplishments that we're proud of
- A working end-to-end autonomous job application system
- Realtime profile updates across multiple devices with zero refresh
- Secure, production-grade RLS across all user-owned data
- Skyvern-powered application workflows with status polling and telemetry
- A polished dashboard UX that makes automation feel transparent, not scary
- A foundation that can scale to thousands of users without redesign
What we learned
- Automation needs trust, visibility, and control—not just intelligence
- Realtime systems amplify both good and bad architecture decisions
- Strong schema design early saves weeks later
- Users care less about “AI magic” and more about results and clarity
- Developer experience matters just as much as user experience
What's next for JobRaker
- Deeper ATS-aware resume optimization
- Cover letter and portfolio auto-generation per role
- Company reputation and risk scoring
- Smart throttling based on recruiter response patterns
- Team and recruiter-facing versions of JobRaker
- CI/CD, expanded testing, and enterprise compliance readiness
Our goal is simple: make unemployment shorter, fairer, and less exhausting by default.
Built With
- firecrawl-api
- framer-motion
- git
- gmail-mcp
- google-cloud
- google-oauth
- gsap
- jwt
- linkedin-integration
- lucide-react
- node.js
- npm
- postgresql
- radix-ui
- react
- recharts
- skyvern
- supabase
- supabase-auth
- supabase-edge-functions
- supabase-realtime
- tailwind-css
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.