KickApply is a web application and extension designed to assist candidates in managing their job applications and cover letters for various job positions with smart tools:
- A Dashboard Web App to track applications, manage profiles, and cover letters
- A Chrome Extension (side panel), allowing users to quickly generate and fill application data directly from their browser
✨ Features
- Secure authentication with Supabase
- Manage multiple profiles (limited based on plan)
- Track and manage job applications
- Generate personalized cover letters with AI
- Chrome Extension (side panel) for quick access in-browser
- Plans & Billing (not implemented yet):
- Free: limited usage (2 profiles, 10 applications, 5 cover letters)
- Pay-as-you-go: users purchase credits to consume features
🏗️ Architecture
The project is organized as a monorepo (Turborepo + PNPM workspaces):*
/kickApply
├── apps
│ ├── dashboard # Main dashboard app (React + Vite)
│ └── extension # Chrome Extension (React + Vite)
│
├── packages
│ ├── applications # Applications
│ ├── auth # Shared authentication logic (AuthGuard, hooks, ...)
│ ├── cover-letters # Cover letters
│ ├── eslint-config # ESLint configuration
│ ├── hooks # Shared hooks
│ ├── lib # Shared libraries (helpers, utils, ...)
│ ├── profiles # Profiles management
│ ├── schema # Validation schemas (Zod)
│ ├── stats # Application statistics
│ ├── supabase # Supabase client (DB, auth,...)
│ ├── types # Shared types
│ ├── typescript-config # TypeScript configuration
│ └── ui # Design system (shared components)
│
├── .eslintrc.js
├── .prettierignore
├── .prettierrc.json
├── .package.json
├── pnpm-workspace.yaml
├── README.md
└── turbo.json
🛠️ Tech Stack
- Frontend: React, Vite, TailwindCSS, shadcn/ui
- Backend: Supabase (Postgres, Auth, RLS, Edge Functions)
- Extension: React + Vite (Manifest V3, side panel)
- Monorepo: Turborepo + PNPM
- Code Quality: ESLint, Prettier, Husky
🚀 Getting Started
- Clone the repository and navigate to the project directory:
git clone https://github.com/Warisaremou/kickapply.git && cd kickapply- Install dependencies:
pnpm install- Set up environment variables:
- Copy the
.env.examplefile to.envin bothapps/dashboardandapps/extensiondirectories. - Fill in the required environment variables
- Copy the
- Run the development servers:
- For both apps:
pnpm dev
- For the dashboard:
pnpm dev --filter=dashboard
- For the extension:
pnpm dev --filter=extension
- For both apps:
- Open the apps:
- Dashboard: Open http://localhost:5174
- Extension: Load the extension in Chrome from
apps/extension/distfolder. It's also available at http://localhost:5173
