Reviselyt is a free and open-source learning tool that helps students and developers turn long PDFs and notes into concise, revision-ready bullet points using open-source AI models. Built with Next.js, Supabase, and AI APIs, it is designed for faster learning, exam preparation, interview revision, and everyday knowledge refresh
β If you find this project useful, please consider starring the repository.
- Upload PDF files or paste plain text
- AI generates 5β10 concise bullet points
- Powered by open-source transformer models
- Summaries are saved for future revision
- Daily free usage limits (Free Tier)
- Clean and distraction-free user interface
- Secure authentication and document storage
β± Processing may take 10β30 seconds depending on content length.
The dashboard gives you a complete overview of all your generated summaries in one place. You can quickly track your previous documents, check their type (PDF or Text), and manage them with ease.
Each document entry provides quick actions to view the generated summary or delete it whenever needed. Pagination support ensures smooth navigation even when you have multiple summaries.
At the top of the dashboard, quick action cards allow you to start instantly by uploading a PDF or generating a summary from plain text.
Reviselyt supports both PDF-based and text-based summarization. For text summaries, simply provide a title and paste your content. For PDFs, upload a text-based document, add a title, and submit it for processing.
The upload experience is intentionally minimal and distraction-free, allowing you to generate summaries within seconds without unnecessary steps.
Once the summary is generated, Reviselyt presents the content in a side-by-side layout. The original material appears on one side, while the AI-generated bullet summary is displayed on the other β making revision faster and more effective.
For pasted text, the summary view helps you quickly scan key points without rereading long paragraphs.
For PDF uploads, Reviselyt extracts the text and generates structured bullet points, allowing you to revise large documents efficiently.
| Feature | Limit |
|---|---|
| PDF Summaries | 1 per day |
| Text Summaries | 2 per day |
Limits reset automatically every day.
- Next.js (App Router)
- TypeScript
- Tailwind CSS
- Supabase (Authentication & Database)
- Hugging Face (AI models)
- Pixabay API (Visual assets)
Reviselyt is built in public and open source.
Issues, feature requests, and pull requests are welcome.
- Powered by open-source transformer models
- AI-powered summaries using public models
- No user data is sold or tracked
- Content is processed only to generate summaries
git clone https://github.com/tanushree-coder-girl/reviselyt.git
cd reviselytnpm install
# or
yarn install Reviselyt uses Supabase for authentication, database storage, and file uploads.
To run the project locally, you must configure your own Supabase project.
- Create a Supabase project: Go to: https://supabase.com
- Create a new project
- Database setup :
Run the schema file provided in the repository
in the Supabase SQL Editor (required step).
This will manually create all required tables, RLS policies, and triggers.lib/supabase/schema.sql - This will create:
documentssummariessummary_cacheusage_limitsRow Level Security (RLS) policiesAuto-creation of usage limits for new users
PDF uploads require a Supabase Storage bucket.
- Go to Supabase Dashboard β Storage
- Create a new bucket: Name: documents
Run the following SQL to allow authenticated users to upload and access files:
# Allow authenticated users to upload files
create policy "Allow authenticated uploads"
on storage.objects
for insert
to authenticated
with check (
bucket_id = 'documents'
);# Allow authenticated users to read files
create policy "Allow authenticated reads"
on storage.objects
for select
to authenticated
using (
bucket_id = 'documents'
);# Allow authenticated users to delete files
create policy "Allow authenticated deletes"
on storage.objects
for delete
to authenticated
using (
bucket_id = 'documents'
);
Create a .env.local file using the example below.
cp .env.example .env.localFill in your own values.
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=
HF_API_TOKEN=
PIXABAY_API_KEY=npm run devVisit http://localhost:3000
Contributions are welcome! Please check CONTRIBUTING.md for guidelines before getting started.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
See the LICENSE file for full details.




