AI-powered application for converting raw engineering daily notes into structured shift passdown reports in PDF format.
- Convert raw notes → structured report (OpenAI)
- Automatic classification:
- Work Orders (XAMxxxx)
- Machines (Mxx)
- Blockers / Issues
- Generate professional PDF (WeasyPrint)
- FastAPI backend
- Docker-ready deployment
Designed for:
- Semiconductor equipment engineers
- Fab environments (Intel / Rigaku / etc.)
- Shift handover documentation
passdown_app/ ├── app.py ├── requirements.txt ├── Dockerfile ├── docker-compose.yml ├── .env └── templates/ └── passdown.html
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
OPENAI_API_KEY=your_key
OPENAI_MODEL=gpt-5.4
Run:
uvicorn app:app --reload
Open:
http://127.0.0.1:8000
🐳 Docker Installation
Build & Run
docker compose up --build
Open:
http://127.0.0.1:8000
🧪 Example Input
M21 XAM200857 General routing started.
Item 2234 is absent.
M23 down, vacuum issue.
Replaced sensor J14.
📄 Output
Generated PDF includes:
Summary
Tasks Performed
Machine Status
Blockers
Risks
Handoff to Next Shift
Notes
🔧 Tech Stack
FastAPI
OpenAI Responses API (Structured Outputs)
Jinja2
WeasyPrint
Docker
⚠️ Notes
Requires valid OpenAI API key
WeasyPrint requires system dependencies (handled in Docker)
🚀 Future Improvements
WO grouping logic
Machine state tracking
Email export
Report history storage
Authentication
👨🔧 Author
Dima Kozach
Semiconductor Equipment Engineer