
A powerful, user-friendly web application for all your PDF manipulation needs. Built with modern technologies for a seamless experience.
π Live Demo β’ π Features β’ β‘ Quick Start β’ π οΈ Tech Stack β’ ποΈ Architecture
Try PDFY now: https://pdfly-alpha.vercel.app/
Experience all features in action:
- β Upload and preview PDF files
- β Merge multiple documents
- β Split large PDFs
- β Remove or extract specific pages
- β Convert images to PDF
- β Compress files for web
πΈ Screenshots will be added here
- π Merge PDFs - Combine multiple PDF files into one
- βοΈ Split PDFs - Break down large PDFs into smaller files
- ποΈ Remove Pages - Delete unwanted pages from your PDFs
- π€ Extract Pages - Pull out specific pages to create new documents
- πΌοΈ JPG to PDF - Convert images to PDF format
- π Compress PDFs - Reduce file size while maintaining quality
- π Convert PDFs - Transform PDFs to different formats
- π¨ Modern UI - Beautiful, responsive design with Tailwind CSS
- π Dark/Light Mode - Theme toggle for comfortable viewing
- π± Mobile Responsive - Works seamlessly on all devices
- β‘ Real-time Preview - Live PDF preview with page navigation
- π Secure Authentication - User accounts with Supabase Auth
- π Dashboard - Personalized user dashboard
- β‘ Lightning Fast - Built with Vite for optimal performance
- π§ Type Safe - Full TypeScript implementation
- π― Component Library - Radix UI + shadcn/ui components
- π Modern Stack - Latest React 18 with concurrent features
- π± PWA Ready - Progressive Web App capabilities
Try PDFY now: https://pdfly-alpha.vercel.app/
Experience all features in action:
- β Upload and preview PDF files
- β Merge multiple documents
- β Split large PDFs
- β Remove or extract specific pages
- β Convert images to PDF
- β Compress files for web



Make sure you have the following installed:
- Node.js (v18 or higher) - Download here
- npm or yarn - Comes with Node.js
- Git - Download here
# 1οΈβ£ Clone the repository
git clone https://github.com/your-username/pdfy.git
cd pdfy
# 2οΈβ£ Install dependencies for both client and server
cd client && npm install
cd ../server && npm install
# 3οΈβ£ Set up environment variables
cd ../client
cp .env.example .env
# Edit .env with your Supabase credentials
# 4οΈβ£ Start the development servers
# Terminal 1: Client (Frontend)
cd client && npm run dev
# Terminal 2: Server (Backend)
cd server && npm run dev
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
Technology | Version | Purpose |
---|---|---|
βοΈ React | 18.3.1 | UI Framework |
π· TypeScript | 5.5.3 | Type Safety |
β‘ Vite | 7.0.3 | Build Tool |
π¨ Tailwind CSS | 3.4.11 | Styling |
π§© Radix UI | Latest | Headless Components |
π React-PDF | 10.0.1 | PDF Rendering |
π React Query | 5.56.2 | State Management |
π£οΈ React Router | Latest | Navigation |
Technology | Purpose |
---|---|
π’ Node.js | Runtime Environment |
π Express.js | Web Framework |
ποΈ Supabase | Database & Auth |
π PDF-lib | PDF Manipulation |
- π ESLint - Code Linting
- π― Prettier - Code Formatting
- π§ TypeScript - Static Type Checking
- π§ͺ Vitest - Unit Testing
PDFY/
βββ π client/ # React Frontend Application
β βββ π src/
β β βββ π components/ # Reusable UI Components
β β βββ π pages/ # Route Components
β β βββ π contexts/ # React Contexts
β β βββ π hooks/ # Custom Hooks
β β βββ π services/ # API Services
β β βββ π utils/ # Utility Functions
β βββ π public/ # Static Assets
β βββ βοΈ vite.config.ts # Vite Configuration
β
βββ π server/ # Node.js Backend API
β βββ π controllers/ # Request Handlers
β βββ π routes/ # API Routes
β βββ π middlewares/ # Custom Middleware
β βββ π utils/ # Server Utilities
β
βββ π supabase/ # Database & Auth
β βββ π functions/ # Edge Functions
β βββ π migrations/ # Database Migrations
β
βββ π README.md # This File
Create a .env
file in the client
directory:
# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
# API Configuration
VITE_API_BASE_URL=http://localhost:5000
# Build the client
cd client && npm run build
# The built files will be in client/dist/
# Deploy the contents of this folder to your web server
We welcome contributions! Here's how you can help:
- π΄ Fork the repository
- πΏ Create a feature branch (
git checkout -b feature/amazing-feature
) - π» Commit your changes (
git commit -m 'Add amazing feature'
) - π€ Push to the branch (
git push origin feature/amazing-feature
) - π Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
This project is licensed under the Custom License - see the LICENSE file for details.
- React - The amazing UI library
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Low-level UI primitives
- Supabase - Backend-as-a-Service platform
- PDF.js - PDF rendering in browsers
If you encounter any issues or have questions:
- π Bug Reports: Open an issue
- π¬ Discussions: GitHub Discussions
- π§ Email: your-email@example.com
Made with β€οΈ by Your Name
β Star this repository if you found it helpful!