How joker-qp/promptqw works
PromptQW is a local-first prompt-building application. Users configure an AI provider, submit an idea with a domain and knowledge level, answer AI-generated clarifying questions, then receive an English prompt, Turkish translation, and Turkish usage guide; they can also revisit saved prompts. The Streamlit interface calls a FastAPI backend, which coordinates prompt generation, encrypted settings, and SQLite persistence. The README also documents domain-specific options and token estimates; the available UI excerpt shows these features, but does not include all of their implementation details.
Main entry points: app.py Streamlit UI · main.py FastAPI API · prompt_service.py Prompt Workflow · database.py Database Access
Components 13
User Interface
- Streamlit UI
app.py - Domain Options
app.py - Token Estimator
app.py
Prompt Workflow
- FastAPI API
main.py - Prompt Workflow
services/prompt_service.py
Local Data Security
- Key Encryption
security.py - Data Models
models.py - Database Access
database.py - SQLite Database
database.py
AI Providers
- AI Generation
services/ai_service.py
Other components
- User
- Google Gemini
- OpenRouter
Connections 14
- User → Streamlit UI: enters idea
- Streamlit UI → Domain Options: selects options
- Streamlit UI → Token Estimator: estimates tokens
- Streamlit UI → FastAPI API: sends requests
- FastAPI API → Prompt Workflow: starts or completes
- FastAPI API → Database Access: loads session
- FastAPI API → Key Encryption: encrypts keys
- Prompt Workflow → Key Encryption: decrypts keys
- Prompt Workflow → AI Generation: requests generation
- Prompt Workflow → Database Access: reads and saves
- Database Access → Data Models: uses models
- Database Access → SQLite Database: reads and writes
- AI Generation → Google Gemini: generates content
- AI Generation → OpenRouter: sends chat request