Inspiration
The inspiration for JobRaker came directly from the grueling, repetitive, and often demoralizing experience of the modern job hunt. We realized that job seekers spend an inordinate amount of time... hours every week... performing administrative tasks like searching, filling out identical forms, and tracking application status, rather than focusing on interviewing, networking, or upskilling. We envisioned a world where this administrative burden was entirely automated. The goal was to build the world's first fully autonomous job application platform... a 24/7 AI-powered agent that could tirelessly search, apply, and optimize the job search process, allowing the human user to simply focus on receiving interview requests. This idea of turning the job hunt from a manual chore into a seamless, high-velocity operation was the driving force.
What it does
JobRaker is an enterprise-grade platform that functions as an intelligent, autonomous job application engine. At its core, it enables Autonomous Application: users upload their profile and resume once, and the platform automatically applies to 100+ relevant jobs per week using intelligent matching and high application accuracy (95% target).
Key functions include: Real-time Analytics: Tracking success rates, response times, and providing optimization insights on application performance. Dynamic Profile Management: A dynamic resume builder and profile tables (profile_experiences, profile_education, profile_skills) that stream updates instantly. PWA and Real-time Synchronization: Built as a Progressive Web App (PWA) with a reliable real-time layer powered by Supabase Realtime, ensuring application status updates stream instantly across all user sessions and devices.
#How we built it We chose a modern, high-performance, and scalable full-stack approach centered on rapid development and real-time capabilities. The Front-End is built with React 18 and TypeScript, leveraging Vite for a fast development experience. For styling, we adopted a robust design system using Tailwind CSS and Radix UI primitives, ensuring the UI is professional, fully responsive, and WCAG 2.1 AA compliant. The Back-End is powered entirely by Supabase, utilizing its capabilities as a comprehensive Backend-as-a-Service (BaaS). This provided us with: PostgreSQL: The core database, secured with Row Level Security (RLS). Supabase Auth: For multi-provider authentication (Email, Google, LinkedIn). Supabase Realtime: Crucial for streaming database changes directly to the UI, enabling live updates on application status and profile changes. The Automation Engine is the most unique part. The application submission is orchestrated via Supabase Edge Functions (specifically, the apply-to-jobs function) which integrates with an external workflow automation service called Skyvern. This architecture allows the heavy, repetitive application logic to run securely and asynchronously on the edge, independent of the front-end.
#Challenges we ran into The primary challenge was ensuring reliability in the core autonomous workflow. Application forms on external job boards are notoriously inconsistent and complex. Making the Skyvern integration handle various field types, conditional logic, and the submission of server-enriched data (like the user's signed resume URL) required intricate logic within the apply-to-jobs Edge Function. We had to build sophisticated polling mechanisms (get-run function and useSkyvernRun hook) to reliably track the real status (including screenshots and parsed outputs) of a submitted application run. Another significant hurdle was mastering real-time data normalization and security. We chose to normalize user profile data into four separate tables (profiles, profile_experiences, profile_education, profile_skills). Getting the RLS policies correct for these four tables while ensuring all of them were correctly included in the supabase_realtime publication was critical, requiring careful migration and verification steps. Accomplishments that we're proud of We are most proud of successfully achieving the vision of truly automated job application submission. The integration of the application workflow trigger and run polling represents a massive step toward a "set-and-forget" job hunt experience. We are also very proud of the user experience and technical foundation: Real-time Profile Updates: Witnessing an update made in one browser instantly stream to another.. across four synchronized database tables... is a testament to the robust Supabase Realtime implementation. Professional PWA Design: Delivering a sleek, professional dark-themed UI that performs exceptionally well (Lighthouse 95+) on both desktop and mobile. Clean Codebase: Establishing a strict component architecture, using TypeScript best practices, and implementing a Conventional Commits convention to maintain code quality.
#What we learned We gained deep expertise in several domains: BaaS Architecture: We learned how to fully leverage Supabase's ecosystem, understanding the interplay between PostgreSQL, RLS, Realtime, and Edge Functions to build a complex, multi-functional application without managing traditional servers. External Workflow Orchestration: We learned the complexities of reliable, asynchronous integration with external automation services (Skyvern), including how to handle webhooks and persistent state polling. Performance Optimization: We learned how critical build tools like Vite and UI tools like Framer Motion and GSAP are for delivering a fast, buttery-smooth user experience, adhering to strict performance metrics.
#What's next for JobRaker The roadmap for JobRaker is focused on expanding autonomy and intelligence: Advanced AI Career Assistance: Implementing the final stages of the AI Assistant for features like data-driven salary negotiation coaching and advanced interview preparation. Multi-Channel Job Ingestion: Expanding the jobs-cron function to integrate more job sources and supporting deeper, firecrawl-powered research for niche positions. Enhanced Application Telemetry: Refining the data collected from Skyvern runs to provide richer insights into why an application succeeded or failed, allowing the AI to auto-optimize the submission strategy. Full E2E Testing: Completing the setup for End-to-End testing to ensure the entire autonomous flow remains stable across future updates.
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
- websockets
Log in or sign up for Devpost to join the conversation.