Product Owner Copilot is a FastAPI-based web app for product owners to generate and stream LLM (Ollama) responses using customizable prompt templates. The app features a modern frontend with template selection and real-time streaming output.
- Select between PBI and Product Goal templates
- Enter your own prompt and stream the LLM response live
- Automatic review process: LLM output is reviewed using a second template and streamed to a second textarea
- Model and template selection via
.env(LLM_MODEL,PBI_TEMPLATE_PATH,PRODUCT_GOAL_TEMPLATE_PATH,PO_REVIEW_TEMPLATE) - Ollama API URL configurable via
.env(OLLAMA_API_URL) - FastAPI backend with
/stream_resultendpoint for true streaming - Simple, modern HTML frontend with dual word-wrapped textareas (LLM Response & Review)
- Elastic APM and generic Elasticsearch logging integration (configurable via
.env)
- Install dependencies:
pip install -r requirements.txt
- Set your model in
.env:- Default:
mistral-small:latest
- Default:
- Run the server:
uvicorn main:app --reload
- Open the app:
- Go to http://localhost:8000 in your browser.
To run Product Owner Copilot as a background service on Ubuntu:
-
Copy the service file: Copy
product-owner-copilot.serviceto your systemd directory:sudo cp /home/ubuntu/ProductOwnerCoPilot/product-owner-copilot.service /etc/systemd/system/
-
Reload systemd:
sudo systemctl daemon-reload
-
Enable the service to start on boot:
sudo systemctl enable product-owner-copilot -
Start the service:
sudo systemctl start product-owner-copilot
-
Check service status and logs:
sudo systemctl status product-owner-copilot sudo journalctl -u product-owner-copilot -f
Notes:
- The service runs as user
ubuntuand expects your app at/home/ubuntu/ProductOwnerCoPilot. - The app will be available at port 5000 (http://:5000/).
- Ensure your virtual environment and dependencies are installed at
/home/ubuntu/ProductOwnerCoPilot/.venv/. - Update paths in the service file if your deployment directory is different.
main.py— FastAPI backendstatic/index.html— Main web UI (with dual textarea: LLM Response & Review)static/pbi_template.txt— PBI prompt templatestatic/product_goal_template.txt— Product Goal prompt templatestatic/po_review_template.txt— Review prompt templatestatic/style.css— Stylesheet.env— Model, template, Ollama API, and logging configuration
- Requires Ollama to be running and the model to be pulled.
- For best streaming, use Uvicorn (not Flask or WSGI).
- All code and UI are designed for easy extension and customization.
- Elastic APM and Elasticsearch logging are supported. Set
ELASTIC_APM_*andES_*variables in.envto enable telemetry and log shipping.
Product Owner Copilot — Your AI-powered assistant for product backlog and goal management!