One quiz. One roadmap. Real courses. Shyftcut turns career chaos into a clear 12-week plan—in 90 seconds. No more dead links or guesswork: every course URL is real, thanks to Gemini 3 and Google Search grounding.

Shyftcut — Your 90-second career shift, powered by Gemini 3


Inspiration

Career switchers waste hours googling courses and piecing together learning paths. We wanted one place where someone answers a few questions and gets a concrete 12-week plan with real course URLs—not placeholders—in under two minutes. Gemini 3’s grounding and structured output made that possible.


What it does

User action What they get (Gemini 3)
90-second Wizard Personalized 12-week roadmap with weekly goals, skills, deliverables, and real course links from 16 platforms
Career DNA quiz Viral “discover your fit” result + shareable card; optional leaderboard & challenge friends
Dashboard Study tracking, streaks, badges; per-week notes & tasks with AI task suggestions (function calling)
AI Coach (Chat) 24/7 career chat with optional web search grounding; streaming replies, thought signatures for context
Quizzes Unlimited AI-generated multiple-choice quizzes per week (Gemini function calling)
CV Analysis Paste CV → strengths, gaps, and actionable recommendations
Job search 10 matching jobs via Google Search grounding; save to list
Avatar Generate professional profile pictures (3/month, Gemini 3 Pro Image)

The app is bilingual (English & Arabic, RTL) and works on desktop and mobile.


How we built it

Frontend: React (Vite, TypeScript, Tailwind, shadcn/ui) on Vercel — fast, responsive, PWA-ready.

Backend: All AI runs in Supabase Edge Functions (Deno). One api router handles chat, roadmap, CV, jobs, quiz, tasks, and avatar. A dedicated courses-search function fills missing course URLs using Gemini + Google Search.

Gemini 3 usage at a glance:

Feature Model Key API usage
Roadmap generation gemini-3-flash-preview google_search tool, responseMimeType: application/json, schema
Chat (coach) gemini-3-flash-preview Streaming, optional grounding, context caching, thought signatures
CV analysis / Jobs gemini-3-flash-preview Structured JSON, grounding for jobs
Quizzes / Tasks gemini-3-flash-preview Function declarations (create_quiz, suggest_tasks)
Avatar gemini-3-pro-image-preview Image generation

Example: Roadmap generation sends one request with tools: [{ google_search: {} }] and a strict JSON schema; we clean invalid URLs and call courses-search for any missing links. Result: a full roadmap with real Udemy, Coursera, YouTube, etc. links in one flow.

Rest of stack: Auth & DB (Supabase), payments (Polar), email (Resend).


Challenges we ran into

Challenge How we solved it
Grounding + strict JSON in one call Clear system prompts, responseJsonSchema, and post-processing to strip invalid URLs and fill gaps via courses-search
Thought parts in Gemini Flash responses Strip thought parts before parsing JSON; handle both thought and final content in streams
16 platforms, no hallucinated URLs Allowlist in course-hosts.ts, validate every URL; only call search for allowed platforms with batching and timeouts
Long chat system prompts → latency Gemini 3 context caching for system instruction; key rotation for reliability
Free vs Premium in one codebase Feature flags and subscription checks in the Edge layer; single router, different limits (e.g. 1 roadmap vs unlimited)

Accomplishments that we're proud of

  • Gemini 3 only. Every AI feature uses only Gemini 3 (Flash, Pro, Pro Image)—no fallback models.
  • Real course links at scale. Google Search grounding + 16-platform allowlist + validation = every roadmap ships with working links.
  • Structured output + grounding together. responseMimeType: application/json + responseJsonSchema + google_search in one call for parseable, grounded roadmaps.
  • Production-ready. Single Edge router, context caching, thought signatures, function calling, bilingual (EN/AR).

What we learned

We leaned on Gemini 3’s full stack: Google Search grounding for real, up-to-date links; structured JSON output for reliable parsing; function calling for deterministic quizzes and tasks; thought signatures so the coach keeps context across turns. We tuned thinking levels (e.g. low for CV/jobs, higher for roadmaps) and used context caching for long prompts to keep latency and cost in check. The 16-platform allowlist and URL validation kept quality high and avoided hallucinated links.


What's next for Shyftcut | Your 90-second career shift, powered by Gemini 3

More grounded features (e.g. live salary and hiring trends in chat), more course platforms, and community study groups with shared roadmaps. We’ll keep optimizing thinking levels and caching, and explore batch and reasoning features as the Gemini 3 API evolves.

Built With

  • auth
  • framer-motion
  • google-gemini-3-api
  • polar
  • postgresql
  • react-18
  • react-router
  • resend
  • shadcn/ui
  • storage)
  • supabase-(edge-functions
  • tailwind-css
  • typescript
  • vercel
  • vite
Share this project:

Updates