Vibestamps is a modern web application that simplifies the process of extracting valuable information from subtitle files. The app allows users to upload SubRip Text (.srt
) files and leverages Google's Gemini AI model to generate meaningful timestamps, chapters, or summaries based on the content.
Visit vibestamps.com to try it out!
- SRT File Upload: Drag-and-drop or select SubRip Text (
.srt
) files - AI-Powered Analysis: Process subtitle content using Google Gemini
- Smart Timestamp Generation: Extract key moments and organize content chronologically
- Content Summarization: Generate concise summaries of video/audio content
- Responsive UI: Beautiful, user-friendly interface that works on all devices
- Real-time Processing: Stream AI responses for immediate feedback
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4
- UI Components: shadcn/ui
- AI Integration: Vercel AI SDK
- LLM: Google Gemini
- Package Manager: Bun
- Upload: User uploads an SRT file through the file input component
- Processing: The app extracts text content from the SRT file client-side
- AI Analysis: Extracted content is sent to the backend API, which leverages Gemini via Vercel AI SDK
- Generation: The AI analyzes the dialogue and generates structured timestamps or summaries
- Display: Results are streamed back to the UI and presented in a readable format
- Bun installed on your system (v1.0.0 or newer)
- Google Gemini API key (see below for instructions)
- Node.js 18.17.0 or later
- Visit Google AI Studio
- Sign in with your Google account if prompted
- Click on "Get API Key" in the left menu
- Click "Create API Key" button
- Copy your API key - important: this is the only time you'll see this key, so be sure to save it securely
- Never share your API key or commit it to version control
-
Clone the repository:
git clone https://github.com/RayFernando1337/vibestamps.git cd vibestamps
-
Install dependencies:
bun install
-
Create a
.env.local
file in the project root:GOOGLE_API_KEY=your_api_key_here
-
Run the development server:
bun dev
-
Open http://localhost:3000 with your browser to see the application.
- Upload an SRT subtitle file by clicking the upload area or dragging and dropping
- Wait for the file to be processed and analyzed by the AI
- View the generated timestamps that highlight key moments in the content
- Copy the timestamps to use in your YouTube descriptions or video editing software
We are using shadcn/ui for our component library. Components are added individually as needed.
- Documentation: https://ui.shadcn.com/docs/components/
- Adding Components: Use the CLI with Bun:
bunx --bun shadcn@latest add <component-name>
The application uses the Vercel AI SDK to communicate with Google's Gemini model:
- Backend Route:
/api/generate
handles processing SRT content - SDK Functions: Uses
streamText
orstreamObject
for real-time AI responses - Provider Package: Requires
@ai-sdk/google
for Gemini integration
- Package Management: Always use
bun
for installing, removing, or managing dependencies (bun add
,bun install
,bun remove
, etc.). - UI Components: Prefer components from
shadcn/ui
where possible. Install them using the command above. - Environment Variables: Store sensitive information like API keys in environment variables (
.env.local
) and do not commit them to version control. - Code Style: Follow standard TypeScript and React best practices. Ensure code is formatted (consider adding a formatter like Prettier later).
/app
: Next.js application code/api
: Backend API routes/components
: Reusable UI components/lib
: Utility functions and helpers
/public
: Static assets
- API Key Issues: If you receive authentication errors, double-check your API key in the
.env.local
file. - File Upload Problems: Make sure you're using a valid SRT file format.
- Bun Errors: Ensure you have Bun installed correctly. Run
bun --version
to verify.
To learn more about the technologies used in this project:
- Next.js Documentation - Next.js features and API
- Vercel AI SDK - AI integration tools
- Google Gemini API - Google's multimodal AI model
- shadcn/ui - UI component library
This project is currently seeking sponsors to help with:
- Hosting costs for deploying the application
- Google Gemini API credits to support processing larger volumes of SRT files
If you're interested in sponsoring this project or would like to discuss partnership opportunities, please reach out to me via X fka Twitter @RayFernando1337.
This project is licensed under the MIT License - see the LICENSE file for details.