02 — Product

SensAI

Job search is four tabs that refuse to talk to each other. SensAI puts them on one account: Google Gemini rewrites a resume, drafts a cover letter, runs a technical interview quiz, and writes industry notes for the skills already on the profile.

SensAI landing page with the headline Your AI Career Coach for Professional Success, and buttons for Get Started and Watch Demo.
SensAI

Problem

A resume edit, a cover letter, interview practice, and a look at the market are the same search. They usually live in different tools, and none of them remember the industry or the skills from the last tab.

Goals

  1. 01Edit a resume in the browser and export it as a PDF.
  2. 02Write a cover letter from a company, a title, and a job description.
  3. 03Quiz the person on their industry, then keep the score and the explanation.

Architecture

Next.js and React render the product. Clerk protects the routes, so the career records stay on an account. Prisma and PostgreSQL store profiles, resumes, cover letters, assessments, and industry data. Gemini writes the guidance. Inngest runs a scheduled job that refreshes the industry notes.

Implementation

The resume builder has live editing, a Markdown preview, AI rewrites, and PDF export. The interview tool generates a technical quiz and stores the result. Recharts draws the insight views. Radix UI and Tailwind CSS carry the interface.

Tradeoffs

  • Clerk for sign-in

    Authentication and protected routes go through Clerk. A career file is useless if it forgets whose career it is.

  • A scheduled refresh for industry data

    Inngest asks Gemini to refresh salary, outlook, and skill notes. Those figures are model output. They are not an audited labor survey, and the page does not pretend otherwise.

Results

A live demo and a walkthrough video are public. The repository is private.

Limitations

The source is not public. Industry numbers on the demo come from the model. I would not paste them into a résumé and call them research.