Smart job application autofill with local AI - by Cranium Inc.
CogniFillz is a privacy-focused, AI-powered job application automation tool that works across desktop and mobile. Unlike Simplify, it uses local LLMs for resume analysis and works on mobile devices through a custom browser.
| Browser | Status | Installation | Notes |
|---|---|---|---|
| Zen Browser | β Full Support | Load .xpi | Recommended! Best privacy |
| Firefox | β Full Support | Load .xpi or temporary | Same as Zen |
| Chrome | β Full Support | Load from dist/chrome/ |
Tested & working |
| Edge | β Full Support | Load from dist/chrome/ |
Chromium-based |
| Brave | β Full Support | Load from dist/chrome/ |
Chromium-based |
π For Zen Browser users: See ZEN_BROWSER_SETUP.md for complete installation guide!
- Smart Autofill: Automatically detect and fill job application forms
- Cross-Browser: Works on Zen, Firefox, Chrome, Edge, Brave
- AI Resume Scoring: Get a match score for any job posting using your local LLM
- Resume Tailoring: Customize your resume for specific jobs with AI assistance
- Mobile Support: Coming in Phase 3 - custom browser app for mobile
- Privacy First: All AI processing happens locally on your machine
- Free to Use: No subscription fees, works entirely offline
cognifillz/
βββ apps/
β βββ extension/ # Chrome Extension (Manifest V3)
β βββ server/ # FastAPI Backend for LLM integration
β βββ mobile/ # React Native mobile app (Phase 3)
βββ packages/
β βββ shared/ # Shared TypeScript types
β βββ database/ # Supabase client wrapper
βββ supabase-schema.sql # Database schema
- Node.js (v18+) and npm
- Python (v3.9+) and pip
- LM Studio - Download here
- Browser: Zen Browser (recommended), Firefox, Chrome, or Edge
π Using Zen Browser? Skip to ZEN_BROWSER_SETUP.md for Zen-specific instructions!
- Download and install LM Studio
- Download a model (recommended:
llama-3.2-3b-instructfor speed ormistral-7b-instructfor quality) - Start the local server:
- In LM Studio, go to "Local Server" tab
- Click "Start Server"
- Default endpoint:
http://localhost:1234/v1 - Keep LM Studio running while using CogniFillz
cd apps/extension
npm installnpm run buildThis creates a dist/ folder with your compiled extension.
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the
apps/extension/distfolder - The CogniFillz icon should appear in your extensions toolbar
- Click the CogniFillz icon in Chrome
- Fill in your information (name, email, LinkedIn, etc.)
- Click "Save Profile"
- Navigate to a job application (try LinkedIn Easy Apply or Indeed)
- Open the CogniFillz popup
- You should see detected fields listed
- Click "π Autofill Application"
- Watch your info get filled in automatically!
Start with these easier sites:
- LinkedIn Easy Apply - Simple forms, good for testing
- Indeed - Straightforward forms
- Greenhouse.io - Common ATS platform
More complex (Phase 2):
- Workday - Uses iframes, more challenging
- Lever - Custom components
- When you visit a job application page, open DevTools (
F12) - In the Console, you should see:
π§ CogniFillz: Content script loaded π§ CogniFillz: Detected X fields: - firstName (90% confidence): First Name - email (100% confidence): Email Address ... - Fields should be highlighted with a green outline and labeled
- The popup should show the count of detected fields
For faster iteration during development:
# In apps/extension
npm run devThis watches for file changes and rebuilds automatically. You'll need to click the refresh icon in chrome://extensions/ after each build.
cd apps/server
pip install -r requirements.txtcp .env.example .envEdit .env if needed (defaults work for LM Studio).
python main.py
# or
uvicorn main:app --reloadServer runs on http://localhost:8000
Visit http://localhost:8000/docs to see the interactive API documentation.
Test health check:
curl http://localhost:8000/health- Go to supabase.com
- Create a free account
- Create a new project
- Wait for it to provision (~2 minutes)
- Go to the SQL Editor in your Supabase dashboard
- Copy the contents of
supabase-schema.sql - Paste and run it
- You should see tables created:
profiles,applications,custom_field_mappings
- Go to Settings > API
- Copy your:
- Project URL
- Anon/Public key
Add to apps/extension/src/config.ts:
export const SUPABASE_URL = 'your-project-url';
export const SUPABASE_ANON_KEY = 'your-anon-key';Since you're between beginner and intermediate, here are key concepts:
- manifest.json: Configuration and permissions
- content-script.ts: Runs in the context of web pages
- background.ts: Service worker, handles messaging
- popup: Your UI (React)
Communication flow:
Popup β Background β Content Script β Webpage
chrome.runtime.sendMessage(): Send messages between componentschrome.storage.local: Store data locallychrome.tabs.query(): Get info about tabsdocument.querySelector(): Find elements on page
The FastAPI server acts as a bridge:
Extension β FastAPI β LM Studio β FastAPI β Extension
This keeps everything local and private.
- Open DevTools Console - look for CogniFillz logs
- Check if content script loaded (you should see the π§ emoji)
- Try refreshing the page
- Some sites load fields dynamically - wait a few seconds
- Make sure you've created a profile
- Check that detected fields match your profile data
- Some sites prevent programmatic filling - this is normal
- Try manually clicking a field first, then autofill
- Make sure LM Studio is running
- Check that local server is started (green indicator)
- Verify endpoint:
http://localhost:1234/v1 - Test with:
curl http://localhost:1234/v1/models
- Check for errors in
chrome://extensions/ - Make sure you ran
npm run build - Try removing and re-adding the extension
- Check that
dist/manifest.jsonexists
- Project structure setup
- Chrome extension boilerplate
- Field detection algorithm
- Basic autofill functionality
- React popup UI
- FastAPI server with LLM integration
- Supabase schema
- Resume scoring endpoint
- Job description scraping
- Supabase integration in extension
- Field highlighting improvements
- Resume tailoring with AI
- React Native mobile app
- Advanced ATS support (Workday iframes)
- Heuristic learning for unknown fields
- Job tracking dashboard
- Test the Extension: Try it on 3-5 different job sites
- Document Issues: Note which sites work well and which don't
- Add Your Resume: Expand the profile form to include work experience
- Test AI Scoring: Get the FastAPI server running and try job analysis
This is a personal project, but feel free to:
- Report bugs
- Suggest features
- Share which job sites work/don't work
MIT - Build whatever you want with this!
CogniFillz aims to be the most privacy-focused, powerful job application tool. Key differentiators:
- Local-First: Your data never leaves your machine
- Mobile Support: Works on phones (coming Phase 3)
- Free Forever: No subscriptions, no data selling
- Open Architecture: Use any LLM (Ollama, LM Studio, etc.)
Built with π§ by Cranium Inc.