Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Upload an applicant resume PDF and get a structured candidate profile with a fit score in seconds. Built for the Prolanz BOS platform.
BusinessTypeScript · CSSGitHub @saintdoreshOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Resume parser micro-agent: PDF in, scored candidate profile out (Next.js, Groq).
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A single-page Next.js app for the Prolanz BOS platform. A recruiter drops in an applicant's resume PDF and gets a structured candidate profile: contact details, core skills, work history, education, a 0–100 fit score and a short recruiter verdict.
pdfjs-dist (loaded on first use).
Ligatures and run spacing are rebuilt from glyph positions, so "fi ve" reads "five".app/api/parse) via groq-sdk, in JSON mode.
The key never reaches the browser.normalizeProfile (lib/schema.ts): missing fields become empty values, numbers
are clamped, names the model reworded are snapped back to the resume's own words,
and roles are ordered most recent first. The UI cannot receive a malformed profile.npm install
cp .env.example .env.local # then paste a free key from https://console.groq.com/keys
npm run dev # http://localhost:3000
| Variable | Required | |
|---|---|---|
GROQ_API_KEY | yes | Server-side only. |
GROQ_MODEL | no | The model to try first. |
The PRD names llama-3.3-70b-versatile. Groq has retired it for some keys, so the
route tries it first and falls back to openai/gpt-oss-120b, with low reasoning effort.
In testing, that model parsed a real two-page resume in about 1.8 s. It remembers which
model answered, so a retired one costs a single extra round trip.
Import the repo in Vercel, add GROQ_API_KEY under Project → Settings →
Environment Variables, and deploy. Nothing else is needed. Groq's free tier means
no API charges, though it is rate-limited. When the limit is hit, the app says so
and asks the user to wait a few seconds.
app/
page.tsx the single page
api/parse/route.ts Groq call, model fallback, error mapping
components/
Workspace.tsx state: upload → read → parse → profile; the candidate list
UploadZone.tsx drag-and-drop, file picker, sample button
CandidateProfile.tsx the dashboard
Shell.tsx sidebar / phone drawer
ui.tsx panels, stat cards, pills, buttons, score ring
lib/
pdf.ts PDF → text in the browser
prompt.ts system prompt and models
schema.ts CandidateProfile type and normalizer
sample.ts the sample resume
The interface follows a vendor-portal style: roomy white panels on a soft page,
hairlines instead of shadows, and pill actions in one red accent. Colours are CSS
variables in app/globals.css; change --accent-hue to re-hue everything.