Skip to content
Saksham-Rai33Public

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

VoxMate

VoxMate is an AI-powered document processing and chat assistant. Upload a document and chat with it in your preferred language — extract insights, get summaries, and ask questions through an AI-agnostic platform.

Features

  • Voice to Text — Convert speech to text for easier document processing and interaction.
  • College Documents — Access and analyze documents stored by your educational institution instantly.
  • Offline Mode — Use VoxMate without an internet connection for uninterrupted productivity.
  • Multi-language support — Chat and receive answers in English and multiple Indian languages: Hindi, Bengali, Telugu, Marathi, Tamil, Gujarati, Kannada, Malayalam, Punjabi, Odia, Assamese, and Urdu.
  • Document Q&A — Ask questions about an uploaded document and get answers grounded in its content, with conversation history maintained per session.
  • Document summarization — Generate a structured summary covering the document's main topic, key details, critical dates/numbers, action items, and stakeholders.
  • Translation — Translate text between supported languages.
  • File upload & text extraction — Upload PDF, DOCX, TXT, and RTF files (up to 10MB) and extract their text content.

Tech Stack

Project Structure

VoxMate/
├── components/
│   ├── ChatInterface/       # Chat UI: container, interface, markdown rendering, typing indicator
│   ├── FileUpload/          # Drag-and-drop file upload panel
│   ├── Layout/              # Header component
│   └── MarkdownRenderer.tsx
├── pages/
│   ├── api/
│   │   ├── chat.ts          # Document Q&A endpoint (Gemini)
│   │   ├── extract-text.ts  # Extracts text from PDF/DOCX/TXT/RTF
│   │   ├── health.ts        # Health check endpoint
│   │   ├── summarize.ts     # Document summarization endpoint (Gemini)
│   │   ├── translate.ts     # Translation endpoint (Gemini)
│   │   └── upload.ts        # File upload handling (multer)
│   ├── _app.tsx
│   ├── _document.tsx
│   ├── chat.tsx             # Chat page
│   ├── index.tsx
│   └── landing.tsx          # Landing page
├── public/                  # Logos and static assets
├── styles/
│   └── globals.css
├── next.config.js
├── tailwind.config.js
├── tsconfig.json
├── vercel.json
└── package.json

Getting Started

Prerequisites

  • Node.js
  • A Google Gemini API key

Installation

git clone https://github.com/Saksham-Rai33/VoxMate.git
cd VoxMate
npm install

Environment Variables

Create a .env.local file in the project root with:

NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key

Development

npm run dev

Open http://localhost:3000 to view the app.

Other Scripts

npm run build   # Build for production
npm run start   # Start the production server
npm run lint    # Run Next.js lint
npm run clean   # Remove .next and node_modules/.cache

API Endpoints

Endpoint Method Description
/api/chat POST Ask a question about an uploaded document and get a language-aware answer with conversation history
/api/summarize POST Generate a structured summary of document text
/api/translate POST Translate text into a supported target language
/api/extract-text POST Extract text from an uploaded PDF, DOCX, TXT, or RTF file
/api/upload POST Upload document files (max 10MB; PDF, DOC, DOCX, TXT, RTF)
/api/health GET Health check with supported languages and formats

Deployment

This project includes a vercel.json configuration and is set up for deployment on Vercel.

License

No license file is currently included in this repository.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages