All work

Fig. 02 · Selected work

Cleaning Feedback Dashboard

An operations tool for a Finnish cleaning company — feedback in by email, triaged by urgency, rolled into rankings.

  • Next.js
  • TypeScript
  • Supabase

AI-assisted build

The Cleaning Feedback Dashboard, showing location rankings.

Built for KNK Palvelut Oy, a cleaning company in Finland. The brief was simple: customer complaints were living in an inbox, and nobody could see which cleaner or which location needed attention.

The pipeline

An inbound email gets parsed into a feedback record — client name, location, a summary, an urgency level — and assigned to a cleaner. From there it moves through a status pipeline: new, forwarded, done, replied. A token-based confirmation link lets a cleaner close out a job without needing an account of their own.

The feedback queue, sorted by urgency.
Fig. 2.1 The feedback queue, sorted by urgency.

Rankings

A separate view rolls feedback up by location over a 30-day, 90-day, or all-time window, flags how many days it's been since a location's last complaint, and surfaces the ones trending worst. It's the page that turns individual complaints into a pattern someone can act on.

Location rankings over the last 90 days.
Fig. 2.2 Location rankings over the last 90 days.

Still running

This is the one project here still under active development — it shipped a UI redesign in August, because it's serving a live client rather than a coursework deadline. Feedback can carry photo attachments, and the whole thing runs in light or dark mode depending on who's looking at it.

A single feedback entry, with its photo attachments.
Fig. 2.3 A single feedback entry, with its photo attachments.