How aman5123/ai-powered-prompt-generation-and-optimization-system works
PromptOptimizer is a web app for analyzing and improving a user’s prompt, executing both original and optimized versions, and comparing their responses. The main workflow runs through the dashboard, API client, Express route, prompt-processing service, provider fallback manager, and an AI provider; results appear in the dashboard and are retained for history browsing. Separate UI paths expose provider/model settings and health. The README mentions MongoDB, but the sampled API route stores history in memory; unsampled frontend and provider implementations are represented only where the tree and documentation support them.
Main entry points: providerManager.js Fallback manager · services/api.js API client · Dashboard.jsx Dashboard · routes/api.js API routes
Components 19
Frontend
- App router
client/src/App.jsx - Dashboard
client/src/pages/Dashboard.jsx - Prompt input
client/src/components/PromptInput.jsx - Results view
client/src/components/ResultsView.jsx - Provider settings
client/src/components/ProviderSelector.jsx - History page
client/src/pages/History.jsx - API client
client/src/services/api.js
Prompt workflow
- Express app
server/server.js - API routes
server/routes/api.js - Prompt processing
server/services/geminiService.js
AI providers
- Fallback manager
server/services/providerManager.js - Gemini adapter
server/services/providers/geminiProvider.js - OpenRouter adapter
server/services/providers/openrouterProvider.js - Groq adapter
server/services/providers/groqProvider.js - Mistral adapter
server/services/providers/mistralProvider.js - Cohere adapter
server/services/providers/cohereProvider.js
History and status
- In-memory history
server/routes/api.js
Other components
- User
- AI provider APIs
Connections 27
- User → App router: uses
- App router → Dashboard: routes to
- App router → History page: routes to
- Dashboard → Prompt input: renders
- Dashboard → API client: requests processing
- Dashboard → Results view: renders results
- Dashboard → Provider settings: opens settings
- Provider settings → API client: requests status/models
- History page → API client: requests history
- API client → Express app: sends API requests
- Express app → API routes: dispatches /api
- API routes → Prompt processing: calls processing
- API routes → Fallback manager: reads provider data
- API routes → In-memory history: reads/writes/deletes
- Prompt processing → Fallback manager: requests generations
- Fallback manager → Gemini adapter: calls provider
- Fallback manager → OpenRouter adapter: calls provider
- Fallback manager → Groq adapter: calls provider
- Fallback manager → Mistral adapter: calls provider
- Fallback manager → Cohere adapter: calls provider
- Gemini adapter → AI provider APIs: sends requests
- OpenRouter adapter → AI provider APIs: sends requests
- Groq adapter → AI provider APIs: sends requests
- Mistral adapter → AI provider APIs: sends requests
- Cohere adapter → AI provider APIs: sends requests
- API client → Results view: returns processing result
- API client → History page: returns history data