Skip to content

About

⚡ Fast full-stack AI text summarizer powered by Groq LPU (gpt-oss-120b), React 19, Node.js, Express & MongoDB. Features custom summary styles, JWT auth, history archive & text-to-speech.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nutshell - AI Text Summarizer

Nutshell is a modern, full-stack MERN web application that leverages the power of Groq's gpt-oss-120b AI model to instantly generate concise, high-quality summaries of long text.

Nutshell Banner

🌟 Features

  • AI Summarization: Harnesses the open-weight 120B parameter model via Groq's LPU infrastructure for blazing-fast inference.
  • Multiple Summary Types: Generate "short", "detailed", or "bulleted" summaries depending on your needs.
  • User Authentication: Secure JWT-based registration and login system.
  • Summary History: Automatically saves your generated summaries to MongoDB, accessible anytime via a paginated history dashboard.
  • Modern UI/UX: Built with React 19 and Tailwind CSS, featuring a sleek, brutalist-inspired design and responsive layouts.
  • Dark Mode Support: Fully integrated dark and light themes.

🛠 Tech Stack

Frontend:

  • React 19 (Vite)
  • Tailwind CSS
  • Axios
  • React Router DOM
  • Lucide React (Icons)

Backend:

  • Node.js & Express
  • MongoDB & Mongoose
  • JSON Web Tokens (JWT)
  • Groq SDK (openai/gpt-oss-120b)
  • Security Middleware (Helmet, CORS, Express-Rate-Limit)

📁 Folder Structure

nutshell-text-summarizer/
├── client/                 # React frontend (Vite)
│   ├── src/
│   │   ├── components/     # Reusable UI components
│   │   ├── pages/          # Route components (Home, Login, etc.)
│   │   ├── App.jsx         # Main application entry
│   │   └── index.css       # Tailwind entry and global styles
│   └── package.json
├── server/                 # Express backend
│   ├── config/             # DB connection logic
│   ├── controllers/        # Route handlers (Auth, Summary)
│   ├── middlewares/        # JWT auth, error handling, etc.
│   ├── models/             # Mongoose schemas
│   ├── routes/             # Express API routes
│   ├── services/           # Groq API integration
│   ├── server.js           # Server entry point
│   └── package.json
└── README.md

🚀 Installation & Setup

Prerequisites

  • Node.js (v18+)
  • MongoDB Atlas account (or local MongoDB)
  • Groq API Key (Available at console.groq.com)

1. Clone the repository

git clone https://github.com/vikasarous/nutshell.git
cd nutshell

2. Install Dependencies

You need to install dependencies for both the frontend and backend.

# Install backend dependencies
cd server
npm install

# Install frontend dependencies
cd ../client
npm install

3. Environment Variables

Backend (server/.env) Create a .env file in the server directory:

PORT=5001
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secure_random_string
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=openai/gpt-oss-120b
CLIENT_URL=http://localhost:5173

Frontend (client/.env) Create a .env file in the client directory:

VITE_API_URL=http://localhost:5001

4. Running Locally

Run the frontend and backend simultaneously in separate terminal windows.

Start Backend:

cd server
npm run dev

Start Frontend:

cd client
npm run dev

The application will be available at http://localhost:5173.

🌐 Deployment

Before deploying to production (e.g., Vercel, Render, Heroku):

  1. Environment Variables: Ensure all environment variables are securely configured in your hosting provider's dashboard.
  2. CORS: Update CLIENT_URL in the backend to match your live frontend domain.
  3. Frontend API URL: Update VITE_API_URL in the frontend build step to point to your live backend domain.
  4. Token Security: (Recommended V2) Migrate localStorage JWT handling to HttpOnly cookies.

📸 Screenshots

(Replace these with actual screenshots of your application)

  • ![Dashboard](link-to-image)
  • ![History View](link-to-image)

🛣 Future Improvements (v2)

  • HttpOnly Cookies for secure JWT storage.
  • Request/Response compression for large text payloads.
  • Graceful server shutdown handling.
  • Comprehensive unit and integration testing.
  • Email verification and password resets.

📄 License

This project is open-source and available under the MIT License.

About

⚡ Fast full-stack AI text summarizer powered by Groq LPU (gpt-oss-120b), React 19, Node.js, Express & MongoDB. Features custom summary styles, JWT auth, history archive & text-to-speech.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages