ProAct
Predictive maintenance planning.
A platform that keeps a register of physical assets, schedules their recurring maintenance, and chases the work itself — with email reminders whose signed one-click links let a task be completed without logging in.
Work sample — built solo in 2026. Source code is private; a guided walkthrough is available on request.
- Stack
- Python · FastAPI · SQLModel · SQLite · React · TypeScript (strict) · Tailwind/DaisyUI · Vite · Docker (non-root)
- Timescale
- Four weeks, solo — from kickoff to a working application.
- Role
- Solo build — architecture, backend, frontend, 285 automated tests (232 pytest, 53 Vitest), deployment.
- Languages / theme
- Bilingual DE/EN from the data model up · light and dark theme, remembered per browser.
A dashboard that surfaces the work
One screen lists every task due within a selectable 7-, 30- or 90-day window, together with its asset, description, due date and required spare parts. A KPI strip counts what is overdue, due this week and due in the window; overdue rows are tinted and badged so they cannot be missed. Completion is one click away, and the current view exports to CSV.
Assets in hierarchies, tasks attached where they belong
Assets nest parent to child — a plant, a line and a single pump live in one tree, with a built-in guard against circular hierarchies. Expanding an asset on the management page shows its recurring tasks with type, interval, last completion and next due date. A live wildcard filter searches across name, category, location and owner, and a previewed CSV import turns an existing equipment list into a populated system in one upload.
One click from the inbox — HMAC-signed action links
Reminder emails go out in two stages: a heads-up before the due date and an urgent mail on the day itself. The urgent mail carries cryptographically signed buttons — done today, postpone by one, two or four weeks, or silence the reminder — so a task can be closed out without opening the app at all. The links are HMAC-signed and idempotent; clicking one twice is harmless. Inside the app, the completion dialog captures the actual date performed and free-text notes, and every completion is written to an immutable history log.
Role-based views, enforced where it counts
Three roles carry progressive privileges: workers read and mark tasks done, team leaders edit assets, tasks and parts and run imports, management adds user administration and mail configuration. The UI shows each role only its own buttons — but authorization is enforced independently in the REST API on every request, so a hidden button cannot be reached by crafting a URL. Accounts are invite-only, sessions use signed JWTs, passwords are bcrypt-hashed, and an audit log records who changed what.
Bilingual and themeable, by construction
The interface is fully bilingual German/English — built into the data model and the frontend from the start, not bolted on — with a language switcher in the navigation. A theme toggle switches between custom light and dark palettes built around the ProAct brand; the choice is remembered in the browser and applied without a flash on load.
The demo in 30 seconds
A short walkthrough of the live demo: dashboard, asset management, task completion, logs. Self-hosted video — no external player, no tracking.
Get in touch
Interested in a walkthrough?
The source code is private, but I am happy to walk through the architecture and the code on a call — NDA-friendly.
Contact