Skip to content

lilithfactor/applifai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Applifai

Every form, one click away.
Store your profile once. Let the extension fill forms everywhere.


What is Applifai?

Applifai is a Chrome Extension + web dashboard that eliminates the repetitive work of filling out repetitive forms.

  1. Build your profile once on the dashboard — personal info, education, work experience, skills
  2. Browse to any form — on any site (Greenhouse, Lever, Workday, Google Forms, etc.)
  3. Click the extension icon — Applifai detects the form fields and offers to fill them instantly

6. Development Workflow

  • Branching: Work on extension branch, then bridge to main.
  • Merge Restriction: Crucial: The AI agent must never merge the extension branch into main. The AI should only push changes to extension. The USER will handle PRs and merges to main on GitHub.
  • Privacy: The context/ folder is ignored by Git. It contains brainstorming and sensitive data that must remain local and never be committed.

7. Scripts Reference

How It Works

User clicks extension icon
        │
        ▼
Is user logged in?
  ├── No  → Opens login tab (chrome-extension://.../index.html)
  └── Yes → Injects overlay onto the active page
                  │
                  ▼
            Scanning State (1s)
            Multi-signal field detection runs:
              autocomplete → label text → name/id → placeholder → nearby DOM text
                  │
                  ├── 0 fields matched → "No Form Detected" (refresh / report)
                  └── ≥1 fields matched → "Ready to Autofill"
                                 │
                                 ▼
                          Autofill executes
                          (fills fields from stored profile)

Setup

Prerequisites

  • Node.js ≥ 18
  • A Firebase project with Authentication and Firestore enabled
  • A Google Cloud OAuth 2.0 Client ID (for extension Google Sign-In)

1. Clone and install

git clone https://github.com/lilithfactor/applifai.git
cd applifai
npm install

2. Configure environment

Create .env.local at the root:

VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_GOOGLE_CLIENT_ID=your_oauth_client_id.apps.googleusercontent.com

3. Extension Security & Configuration

The Chrome extension uses static JS files that do not support environment variables directly. Before loading the extension:

  1. Firebase Config: Open public/firebase_config.js and replace YOUR_FIREBASE_API_KEY and YOUR_FIREBASE_PROJECT_ID with your own credentials.
  2. GenAI (Optional): If you are using the Gemini-powered detection features, open public/genai_config.js and paste your GENAI_API_KEY.

Warning

Do NOT commit these files back to source control once you have added your real keys. These files are tracked as templates only.

4. Run the web dashboard locally

npm run dev

Starts at http://localhost:5173.

4. Package and load the Chrome Extension

python execution/package_extension.py

This builds the app and creates applifai_extension_<timestamp>.zip.

Load in Chrome:

  1. Go to chrome://extensions
  2. Enable Developer mode
  3. Click Load unpacked → select the dist/ folder
    (or use Load packed → select the .zip)

Note: The extension ID is locked via the key field in manifest.json. Your Google OAuth redirect URI must be https://<extension-id>.chromiumapp.org/.


Dashboard Sections

Section What you store
Profile Name, email, phone, address, LinkedIn, GitHub, portfolio, cover letter
Education School, degree, major, GPA, graduation year
Experience Company, role, dates, description, salary
Skills Technical skills, tools, certifications

Extension — Field Detection Engine

The extension uses a multi-signal scoring engine to classify form fields into profile categories:

Signal Weight Example
autocomplete attribute 4 autocomplete="email"
<label> text / aria-labelledby 3 <label>Email Address</label>
name / id attribute 2 name="applicant_email"
placeholder / aria-label 1 placeholder="Enter email"
Nearby DOM text (parent traversal) 3 Question title in sibling <div>
Fuzzy Dice matching (≥0.7 threshold) 2 "Emal Adress" → email

Detected fields and their CSS locators are stored in chrome.storage.local under last_scan for the autofill step.

Debug: Open the browser console on any page after clicking the extension icon — you'll see:

[Applifai] Detection complete in 12ms. Candidates: 8, Matched: 6 {profile: 4, education: 0, experience: 2, skills: 0}

And a console.table breakdown per matched field.


Tech Stack

Layer Tech
Frontend React 18 + TypeScript + Vite
Styling Tailwind CSS
Auth Firebase Authentication (Google OAuth + Email/Password)
Database Cloud Firestore
Extension Chrome MV3 — Vanilla JS content script, no framework
Extension Auth chrome.identity.launchWebAuthFlow (MV3-compliant)
Packaging Python script (execution/package_extension.py)

Versioning

Follows Semantic Versioning. See CHANGELOG.md for release history and context/versioning.md for the full versioning policy.

Current version: v1.0.0


Project Structure

applifai/
├── public/                 # Chrome extension files
│   ├── background.js       # Service worker — click handler, auth check
│   ├── content.js          # Injected overlay — detection engine + UI
│   ├── manifest.json       # MV3 manifest
│   └── icons/              # Extension icons
├── components/             # React dashboard components
├── context/                # Specs, learnings, agent directives
├── execution/              # Python build/packaging scripts
├── db/                     # Firestore data layer
├── services/               # Firebase service wrappers
├── CHANGELOG.md
└── RELEASE_NOTES.md

License

Private — all rights reserved © Applifai 2026

About

Applifai is a smart browser extension that simplifies filling any form by autofilling fields in just one click. It syncs your profile to seamlessly complete applications across any site, eliminating repetitive data entry and saving hours of effort.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors