Pre-release / Foundation verified
Modoroco
One timer domain. Native desktop focus, reusable routines, persistent sessions, real-time events, and a versioned API.
- Created
- Started
- Paused ⇆ resumed
- Phase complete
- Cancelled / completed
01 / One domain
Focus is the interface. Timing is the infrastructure.
The desktop application is one interface over a shared timer domain. Sessions derive their visible countdown from authoritative UTC timestamps rather than a database write every second.
That state model supports recovery across process, network, API, worker, and container interruption. Server-Sent Events are reserved for the transitions shown here — not a per-second tick.
02 / Architecture
Built as a system, not a countdown widget.
Domain logic remains independent from FastAPI, SQLAlchemy, PostgreSQL, Docker, HTTP, environment configuration, and the Qt desktop interface.
| Interfaces | Native PySide6 desktop, versioned FastAPI REST interface, OpenAPI 3.1, Server-Sent Events |
|---|---|
| Correctness | Explicit state transitions, idempotency, optimistic concurrency, tenant isolation, timestamp-authoritative timing |
| Runtime | PostgreSQL persistence, Alembic migrations, worker-driven transitions, transactional outbox |
| Verification | Hosted PostgreSQL and Docker system testing, concurrent worker claims, restart recovery, named-volume persistence |
| Operations | Non-root image, health/readiness endpoints, structured logging, Prometheus-compatible metrics, SBOM and provenance workflows |
- Runtime
- Python 3.13
- Contract
- OpenAPI 3.1 · REST + SSE
- Persistence
- PostgreSQL 18 verified
- Image
- 184 MB optimized server
03 / Meaningful events
No server event every second.
Clients render the countdown locally. SSE is reserved for changes that matter: session creation, start, pause, resume, phase completion, cancellation, and completion.
Current state
Verified foundation, active hardening.
The timer domain, desktop, API, persistence, worker, outbox, concurrency controls, containers, and hosted verification exist. Security hardening, deeper observability, release packaging, and deployment preparation remain active work.
Modoroco is not represented as production-ready.
04 / Participate
Follow an engineering system in active development.
Ask about desktop testing, focus routines, or the product experience.
Email Modoroco feedbackGitHub Discussions is not enabled for this repository. Use the public repository and its issue tracker for technical review.
Open technical issues