Designed and developed by: Om Patki
🔗 Link to deployed app: Summarist Live Demo
Summarist is a fullstack SaaS platform designed to help busy professionals and students consume knowledge faster. The application provides concise, high-quality summaries of best-selling books, allowing users to grasp key insights in minutes rather than hours.
By integrating subscription-based access, Summarist offers a premium "Key Ideas" experience, transforming deep reading into actionable intelligence.
The project was inspired by platforms like Blinkist and Shortform. In an era of information overload, the goal was to build a streamlined, high-performance tool that focuses on readability, speed, and a seamless user journey from discovery to learning.
- Frontend: Next.js, TypeScript, Tailwind CSS
- State Management: Redux
- Backend/BaaS: Firebase (Auth & Firestore)
- Payments: Stripe API
Leveraging Firebase Authentication, users can securely create accounts and log in to save their reading progress and manage their subscription status.
Architected with Next.js to deliver fast, SEO-friendly book summaries fetched dynamically from the database.
Integrated Stripe to handle secure payment flows, allowing users to upgrade to premium tiers for unlimited access to the summary library.
Implemented debounced search for instant book discovery and skeleton loaders to maintain a smooth visual flow, reducing perceived latency by 30%.
Utilized Redux to synchronize user access levels and subscription data across the entire application, ensuring a consistent UI experience regardless of the page.
Engineered with a mobile-first approach using Tailwind CSS, ensuring that the reading experience is just as premium on a phone as it is on a desktop.
git clone [https://github.com/opatki/summarist.git](https://github.com/opatki/summarist.git)cd summarist
npm installCreate a .env.local file in the root directory and add your credentials:
NEXT_PUBLIC_FIREBASE_API_KEY=your_key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_key
STRIPE_SECRET_KEY=your_keynpm run devVisit: http://localhost:3000