A Progressive Web App (PWA) for scanning documents directly in the browser — built with Next.js.
This project was bootstrapped with create-next-app.
The application uses:
All processing happens entirely client-side — no backend required.
getUserMedianavigator.mediaDevices.getUserMediaExample structure:
app/
├── page.tsx // Main scanner UI
├── layout.tsx
└── globals.css
src/
├── camera/ // Camera access & capture logic
├── scan/ // OpenCV wrapper
├── pdf/ // jsPDF wrapper
├── storage/ // IndexedDB (optional)
└── lib/ // Shared utilities
public/
├── manifest.json
└── icons/
All steps run locally in the browser.
manifest.webmanifest)localhost)First, install dependencies:
pnpm install
Then run the development server:
pnpm dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying:
app/page.tsx
The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a font family by Vercel.
Build the app:
pnpm run build
The easiest way to deploy your Next.js app is to use the Vercel Platform:
See the official deployment documentation:
https://nextjs.org/docs/app/building-your-application/deploying
To learn more about Next.js:
MIT