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.
ProAct dashboard in dark mode: maintenance due in the next 30 days, with KPI counters for overdue and due-this-week tasks and one-click completion buttons on every row.

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.

ProAct asset management page: a hierarchical asset register with an expanded asset showing its maintenance tasks — type, interval, last completion and next due date.

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.

ProAct task-completion dialog over the dashboard: date-performed picker and an optional notes field, confirmed with a single click.

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.

ProAct leaflet: product overview with dashboard screenshot, feature summary and contact details.

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