LawMate is a modern, progressive web application (PWA) designed to help legal professionals and law students organize notes with ease. It combines a clean, distraction-free markdown editing interface with local-first offline storage and real-time cloud synchronization.
Live URL: https://law-mate-nhb.vercel.app/
- Local-First Storage: Read and write notes instantly offline using
IndexedDBvialocality-idb. - Cloud Sync: Automatically synchronizes local notes to
Supabasewhen connection is available and user is authenticated. - Export/Import: Export database to JSON and import data from JSON.
- OCR: Extracts text from images using
Google Vision API. - Markdown Editor: Distraction-free minimal editing pane with dynamic live rendering previews.
- PWA Capabilities: Fully installable offline app support.
- Multi-lingual: Complete localization support in Bengali and English.
- Admin Panel: TanStack table-powered administration interface with sorting, pagination, search, and profile status management.
- Core:
React 19,TypeScript,Vite - Database:
IndexedDB(locality-idb) +Supabase - OCR:
Google Cloud Vision API - State Management:
Zustand,TanStack Query - UI Components:
Base UI(viashadcn),TailwindCSS,Lucide Icons - i18n:
i18next&react-i18next
Ensure you have Node.js and pnpm installed on your machine.
Install the project dependencies:
pnpm installCreate a .env file in the root folder with the following variables:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=sb_publishable_your_key
VITE_GOOGLE_CLIENT_ID=your_google_client_id.apps.googleusercontent.com
VITE_GOOGLE_VISION_API_KEY=YOUR_GOOGLE_VISION_API_KEYRun the local dev server:
pnpm devBuild static assets for production:
pnpm buildpnpm previewBuilt with ❤️ by Nazmul Hassan