Free online PDF tools: merge, split, compress, rotate, convert, edit, and secure PDFs. All processing runs in your browser—your files never leave your device.
- Vite – build tool
- TypeScript – type safety
- React – UI
- shadcn-ui – components
- Tailwind CSS – styling
- Supabase – optional backend (e.g. contact form)
- Node.js 18+ and npm (install with nvm)
# Install dependencies
npm i
# Start development server (with hot reload)
npm run devThen open the URL shown (e.g. http://localhost:8080).
Copy .env.example to .env and fill in your own values (never commit .env):
VITE_SUPABASE_PROJECT_ID=your_supabase_project_id
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=your_supabase_anon_keyFor the contact edge function, set these Supabase function secrets (Dashboard → Edge Functions → Secrets), not in the repo:
RESEND_API_KEY— Resend API keyCONTACT_TO_EMAIL— inbox that receives contact form submissions
| Command | Description |
|---|---|
npm run dev |
Start dev server |
npm run build |
Production build |
npm run preview |
Serve production build |
npm run lint |
Run ESLint |
Build the app with npm run build and deploy the dist folder to any static host (Vercel, Netlify, GitHub Pages, etc.).