The winner is " Image renamer website for SEO" We are going to build a SAAS website where people can let AI bulk rename images based on keywords they fill in on the site + ai vision that wil look at the content of the images and make sure the new image names also say correctly something about what is inside the actual image. Example for 1 image: Old image name: 23441124-2025.jpeg (image of a brown bread) User given keywords: Bread bakery, Bakery Amsterdam, Best Amsterdam baker New ai generated image file name: Brown bread from Bakery Amsterdam Functions For the best SEO performance we want the new image names to be human-like. There should be a " enhance keywords with ai" button to let ai generate more SEO valuable keywords to use. We want people to be able to drag and drop folder of max 50 images per month to the website at 1 time. Users should be able to download the newly named images as a .zip file. We want the newly generated image names to be visable before people download the ZIP file, so they can check before download. We want people to make an account before using the SAAS (login with google), there should be an option to pay to upgrade your account to " pro" so that you can upload 500 images per month and "max" to upload 1000 images per month.
Find a file
DustyWalker 27db3d968f feat(frontend): implement Next.js frontend package foundation with complete API integration
This commit establishes the complete Next.js frontend foundation with comprehensive backend integration:

## Core Infrastructure 
- Next.js 14 with App Router and TypeScript configuration
- Tailwind CSS with custom design system and dark mode
- Complete project structure with proper imports and path aliases

## API Integration Layer 
- Full-featured API client with authentication, file upload, and WebSocket
- Comprehensive TypeScript type definitions for all API responses
- Axios-based HTTP client with interceptors and error handling
- Socket.io integration for real-time progress updates

## Authentication System 
- useAuth hook with Google OAuth integration
- JWT token management with automatic refresh
- Protected route handling and session persistence
- Login/logout flow with redirect management

## File Upload System 
- useUpload hook with drag & drop functionality
- File validation (size, type, duplicates)
- Progress tracking during upload
- Batch creation and image processing workflow

## WebSocket Integration 
- useWebSocket hook for real-time updates
- Progress subscription for batch processing
- Reconnection logic with exponential backoff
- Event-driven updates for batches, images, and user data

## UI Foundation 
- Responsive Header with user authentication state
- Professional Footer with proper navigation
- Error Boundary for graceful error handling
- Toast notification system with multiple variants
- Loading spinners and UI components

## Layout & Navigation 
- Main page component with authenticated/unauthenticated states
- Dynamic content switching between landing and dashboard
- Mobile-responsive design with proper accessibility

This provides the complete foundation for a production-ready frontend that integrates seamlessly with the existing backend APIs, supporting all core workflows from authentication to file processing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 19:04:51 +02:00
.forgejo/workflows feat: add .forgejo/workflows/ci.yml - comprehensive CI pipeline configuration 2025-08-05 16:52:14 +02:00
cypress/e2e feat: Complete production-ready SEO Image Renamer system 2025-08-05 18:01:04 +02:00
k8s feat: Complete production-ready SEO Image Renamer system 2025-08-05 18:01:04 +02:00
logs feat(auth): implement complete Google OAuth authentication system 2025-08-05 17:09:43 +02:00
packages feat(frontend): implement Next.js frontend package foundation with complete API integration 2025-08-05 19:04:51 +02:00
.env.example feat: add .env.example - comprehensive environment configuration template 2025-08-05 16:49:02 +02:00
.eslintrc.js feat: add .eslintrc.js - comprehensive ESLint configuration for TypeScript 2025-08-05 16:50:09 +02:00
.gitignore feat: add .gitignore - comprehensive ignore patterns for Node.js SaaS project 2025-08-05 16:51:14 +02:00
.prettierrc feat: add .prettierrc - code formatting configuration 2025-08-05 16:50:31 +02:00
CLAUDE.md feat(auth): implement complete Google OAuth authentication system 2025-08-05 17:09:43 +02:00
cypress.config.js feat: Complete production-ready SEO Image Renamer system 2025-08-05 18:01:04 +02:00
docker-compose.dev.yml feat: add docker-compose.dev.yml - development environment infrastructure 2025-08-05 16:47:14 +02:00
docker-compose.yml feat: add docker-compose.yml - production environment configuration 2025-08-05 16:47:52 +02:00
Dockerfile feat: add Dockerfile - multi-stage Alpine build optimized for production 2025-08-05 16:48:20 +02:00
jest.config.js feat: Complete production-ready SEO Image Renamer system 2025-08-05 18:01:04 +02:00
package.json feat: add package.json - root monorepo configuration with pnpm workspaces 2025-08-05 16:46:45 +02:00
plan-for-devs.md 23 2025-08-04 21:09:31 +02:00
plan.md 213 2025-08-04 20:50:42 +02:00
README.md more info for MVP added 2025-08-04 20:49:51 +02:00
tsconfig.json feat: add tsconfig.json - root TypeScript configuration for monorepo 2025-08-05 16:49:30 +02:00

Comprehensive, LLM-Testable Specification for the “AI Bulk Image Renamer” SaaS

0. Terminology

  1. Batch = one drag-and-drop upload event containing ≤ N images, where N depends on the users plan.
  2. Basic = default free plan, quota = 50 images / calendar month.
  3. Pro = paid plan, quota = 500 images / calendar month.
  4. Max = paid plan, quota = 1000 images / calendar month.
  5. Keyword Set = the list of keywords a user provides or the system extends.
  6. Enhanced Keyword Set = Keyword Set after pressing “Enhance keywords with AI”.
  7. AI Vision Descriptor = tags the vision model returns for one image.
  8. Proposed Filename = final, humanreadable name generated for one image.
  9. Review Table = screen listing every original filename beside its Proposed Filename before download.

1. HighLevel Goals

  1. The product shall let any authenticated user rename many images in one batch using a combination of usersupplied keywords and automatic computervision tags.
  2. The product shall output renamed images that are searchenginefriendly, syntactically safe for all major file systems, and semantically descriptive of image content.
  3. The product shall monetise via tiered monthly quotas and Stripehandled subscriptions.
    hallo

Minimal viable product specs

The MVP has to only have funcitonality for the user to supply keywords that the filenames should be based on.

It is just 1 landingpage with upload functions and the following features:

There should be a " enhance with ai" button to further expand the list of keywords to use when ranaming the images.

it should be posible to see the uploaded images as thumpbnails after uploading them. When the new names are generated, they should be underneath the coresponding image to indicate that that wil be the new file name.

After uplaoding and renaming there should be a download as zip file button. to download the newly renamed images.