Overview
Ripuz explores how independent utilities and data sources can become one repeatable system. The project combines a FastAPI service, a persistent job queue, metadata processing, subprocess coordination, a browser interface, and containerized deployment.
The challenge
Coordinate tools with inconsistent output and failure behavior while keeping long-running work observable, repeatable, and safe to resume.
The approach
I separated request handling, job state, external integrations, file movement, verification, and cleanup into explicit stages backed by persistent state and tests around failure-prone boundaries.
Technical decisions
- Use a durable job model so progress and failures remain visible across a long workflow.
- Add preflight planning and confirmation before large batches begin.
- Verify output before cleanup and isolate external systems behind testable adapters.
What I learned
- Clear boundaries and explicit failure handling made the integrations easier to test and maintain.
- Idempotency and deduplication become essential when jobs can overlap or restart.
- Preflight checks, disk guards, and deduplication became essential parts of the workflow.
Technology
- Python
- FastAPI
- Docker
- SQLite
- Metadata processing
- Automated testing