← RANJITH RAJSHEKAR · PORTFOLIO NEXT: SAHAJA →
St Paul's Bay, Malta

Nadif Malti

Civic waste app + council dashboard, end-to-end product design for St Paul's Bay Local Council.
Role End-to-end product designer Platform iOS · Android · Web Year 2026
9:41
Home
Triq San Pawl, St Paul's Bay
Next collection
Tomorrow, Monday
Grey bag · Recyclables
Leave bags out by 7:00 am
Seen a problem?
Rubbish pile
Rats
Illegal dumping
Dirty pavement
My reports
Rubbish pile
Triq San Pawl
In progress
Blocked drain
Triq il-Mosta
Resolved
9:41
My Schedule
Triq San Pawl, St Paul's Bay
Mon9
Tue10
Wed11
Thu12
Fri13
Sat14
Sun15
Grey bag
Recyclables
Leave out by 7:00 am
What to include
Enable collection reminders
Bags at kerbside by 7:00 am
9:41
Report received
St Paul's Bay Council will look into it.
REF #SPB-2026-0047
Track this report
Client
St Paul's Bay Local Council, Malta
Role
End-to-end product designer, research, IA, flows, wireframes, visual design, design system
Platforms
iOS + Android citizen app · Council web dashboard
Deliverables
26 screens · Full design system · Council dashboard
Live product

Don't read about it.
Use it.

This is the working prototype, the same design the case study below explains. Click through the full citizen journey yourself.

01
Report a problem
Photo, category, location, anonymous by default, done in under a minute.
02
Track its status
Received → in progress → resolved, the loop that closes the civic trust gap.
03
Never miss a collection
Which bag, which day, icon-first so it works in Maltese and English alike.
Open full-size preview
LOADING PROTOTYPE
01
Project overview

Civic technology for a cleaner Malta

Nadif Malti (Clean Malta) is a civic app for St Paul's Bay helping residents, tenants, businesses, and tourists navigate Malta's colour-coded waste collection system and report street problems. The project ran end-to-end, from discovery through production-ready UI, covering 2 distinct product surfaces: a citizen mobile app and a council operations dashboard.

My role covered every phase: translating a council discovery call into a structured brief, defining user journeys across 5 audience segments, building and iterating on wireframes for 26 screens, and designing a full design system built for multi-language use across Malta's Latin-Extended character set.

02
The problem

A 2-sided failure

Malta's colour-coded bag scheme is tied to specific days and street zones. The rules aren't obvious, and for the 40% of St Paul's Bay residents who are non-Maltese, language adds another layer of friction. Wrong bags, missed collections, illegal dumping.

The council's problem ran parallel. Reports came through Facebook, WhatsApp, phone calls, no structure, no GPS, no photo evidence. Staff couldn't prioritise, residents felt ignored. Trust was broken on both sides.

Resident side
No simple way to check which bag goes out when
Language barrier, rules only in Maltese
No structured channel to report problems
Zero feedback after submitting a complaint
Council side
Reports via WhatsApp and Facebook, no structure
No geolocation, staff couldn't find reported issues
No photo evidence, hard to assess severity
No analytics, couldn't spot patterns or improve
Address-based schedule, right bag, right day, always
Structured reports with GPS, photo, and category

The design challenge was to solve both sides simultaneously, resident clarity and council data quality.

03
Users & personas

5 segments, 1 system

5 distinct user segments shaped every design decision. Language access, task frequency, and trust level varied dramatically across segments, the design had to work for all of them simultaneously.

M
Maria Borg
Long-term Maltese resident
Fast reminder of which bag goes out and when
Knows the system exists but not the details, misses collections
Schedule widget on home screen delivers value without any action
A
Ahmed Khalil
Foreign tenant, limited English
Understand the waste rules without needing to read Maltese
Language is the primary barrier, gets fined for wrong bags
Icon-first design, every action leads with visuals before text
K
Karen Zammit
Council officer, daily operations
Triage new reports fast, update status, close tickets
Reports come in unstructured, impossible to prioritise
Split map+list dashboard, spatial context and queue side by side
04
Key research insights

4 findings that shaped everything

01
The language barrier is structural, not incidental

St Paul's Bay has one of Malta's highest concentrations of non-Maltese residents. Any UI that relies on reading, even in English, creates exclusion. This led to an icon-first principle applied across the entire product: category selection, schedule display, status tracking, and navigation all lead with visual language before text.

02
Trust is broken on both sides

Residents don't report because nothing happens when they do. The council can't act because reports are unstructured. Designing the feedback loop, ticket status, progress timeline, and council notes visible to the resident, was as important as designing the reporting flow itself.

03
Friction kills civic participation

An account wall, a long form, or a confusing step causes abandonment. Anonymous reporting on by default, a 5-step flow with a progress indicator, and camera-first capture (no typing required) were decisions that came directly from this insight.

04
The council's data problem is as urgent as the resident's UX problem

The dashboard wasn't an afterthought, it's the other half of the product. Without structured, geolocated, categorised reports, the council can't improve. The map-first layout and activity log on each report were designed specifically to make operational triage faster.

05
Reporting flow

5 steps. Under 60 seconds. No account required.

The report flow was designed for completion in 1 interaction, category auto-advances on tap, GPS fills the location, anonymous is on by default. The resident can complete a full report with nothing but a photo and a location confirm.

STEP 1
9:41
Report a problem
What's the problem?
Rubbish pile
Rats
Illegal dumping
Dirty pavement
Blocked drain
Other
Tap a category to continue, no next button needed.
Select category, auto-advances on tap
STEP 2
9:41
Gallery
Flip
Camera-first, shutter at natural thumb reach
STEP 3
9:41
Confirm location
Triq San Pawl 14, St Paul's Bay
Drag the pin to adjust
Confirm location
GPS auto-fills, drag pin to correct
STEP 4
9:41
Add details
Description (optional)
Bags left near the bus stop since Monday…
Report anonymously
Your name won't be shared
Email for updates (optional)
you@example.com
Continue
Anonymous by default, email optional
STEP 5
9:41
Review
Photo
CategoryRubbish pile
LocationTriq San Pawl 14, St Paul's Bay
NoteBags left near the bus stop since Monday
PrivacyAnonymous
Submit report
Review with inline edit, no fear of commitment
DONE
9:41
Report received
We'll look into it. St Paul's Bay Council
REF #SPB-2026-0047
Track this report
Back to home
Ref number + direct link to tracking

The 5-step reporting flow, from category selection to confirmation, designed for completion in under 60 seconds with no account required.

06
Information architecture

Home screen anatomy

The home screen was designed to deliver value without requiring any action, the schedule widget shows the next collection on arrival, and the quick-report grid puts the most common issue types 2 taps from submission.

9:41
Home
Triq San Pawl, St Paul's Bay
Next collection
Mon 9 Jun
Tomorrow, Monday
Grey bag · Recyclables
Leave bags out by 7:00 am
Seen a problem?
Rubbish pile
Rats
Illegal dumping
Dirty pavement
Blocked drain
Other
My reports
Rubbish pile · Triq San Pawl
7 Jun · In progress
In progress
Blocked drain · Triq il-Mosta
4 Jun · Resolved
Resolved
1
Address chipConfirms the user's zone on every visit. Doubles as an edit entry point, tap to change address.
2
Schedule widgetShows the next upcoming collection without any setup. Address-based, no account needed. Tap to see the full week.
3
Quick-report gridAll 6 issue categories always 1 tap from the camera. Icon-led, works without reading any text.
4
Recent reportsStatus timeline visible from home, residents see progress without navigating to My Reports.
5
FAB (Report button)Terracotta accent, the single most prominent action. Always visible above the tab bar, 1 tap from the camera.
07
Visual direction & design system

Built systematically, not screen by screen

The visual direction is civic and approachable, warm Mediterranean colours (sea azure, limestone neutrals, terracotta accents), humanist typography with full Maltese character support, and a component library that scales from the citizen app to the council dashboard.

Colour tokens
sea-500
brand
sea-700
sea-50
tint
terra-500
accent
stone-50
bg-app
stone-100
stone-700
text-body
stone-900
text-strong
bag-grey
bag-green
bag-black
bag-clear
received
progress
resolved
Typography scale
Display. Schibsted Grotesk 800
32px / -0.03em
Heading. Schibsted Grotesk 700
22px / -0.02em
Title. Hanken Grotesk 600
17px
Body. Hanken Grotesk 400, warm near-black
15px
Caption. Hanken Grotesk 400, muted
13px
REF #SPB-2026-0047. Spline Sans Mono
Mono, refs + timestamps
Iconography. Lucide (2px stroke)
trash-2
rat
package-x
footprints
droplets
calendar-days
camera
map-pin
check-circle
bell
share-2
locate-fixed
Components
Received In progress Resolved
FAB (Report) All Open · 3
08
Final UI

Council dashboard & resident feedback loop

2 surfaces, 1 product. The council dashboard gives staff spatial and queue context simultaneously. The status timeline closes the feedback loop residents previously had no access to.

nadif.council.mt/dashboard
Dashboard Reports Analytics Settings
KB
Open reports
11
↑ 3 since yesterday
In progress
4
Assigned
Resolved today
2
↑ on track
Avg resolution
2.4d
↓ 0.3d vs last week
Received In progress Resolved
Reports · 11 open
Sorted by newest
Rubbish pile
Triq San Pawl, 08:32 · Today
In progress
Rubbish pile
Triq San Pawl, 07:14 · Today
Received
Rat sighting
Triq il-Kbira · Yesterday
Received
Dirty pavement
Triq it-Trunciera · 5 Jun
In progress
Illegal dumping
Triq il-Mosta · 4 Jun
Received

Split map-and-list layout, staff see spatial clustering before reading any text. Detail panel opens inline without losing map context.

Submitted
9:41
Rubbish pileIn progress
REF #SPB-2026-0047
Status
Submitted
7 Jun, 09:14
Acknowledged
7 Jun, 11:02
Being reviewed
In progress
Resolved
Resolved
9:41
Rubbish pileResolved
REF #SPB-2026-0047
Status
Submitted
7 Jun, 09:14
Acknowledged
7 Jun, 11:02
Being reviewed
8 Jun, 08:30
Resolved
8 Jun, 14:10
Council update
Contractor attended Triq San Pawl. Area cleared and sanitised.
8 Jun, 13:40

Closing the feedback loop, residents track progress from submission to resolution. Council notes appear as a distinct update block.

09
Outcomes & learnings

What this project demonstrated

Designed as a pilot for St Paul's Bay with architecture that supports multi-council rollout, address zones, schedules, and staff accounts are all council-scoped, so adding a second council means adding a dataset, not rebuilding the product.

Anonymous by default removes the biggest barrier

Building in an account requirement, even optional, would have suppressed participation among short-stay users. Tying reports to device ID solves "track my report" without a login wall.

Split-panel resolves a genuine workflow tension

Council staff need map context (spatial) and queue management (linear) simultaneously. Keeping both visible with an inline detail panel reduced the cost of triaging a queue significantly.

Icon-first scales to any language

Every category, status, and action leads with a recognisable icon before text. The UI works regardless of language, a constraint that improved the design for all users, not just non-Maltese speakers.

Planned next steps
Public map of open issues near you, pending moderation decision
Business-specific waste schedules for commercial premises
Arabic and Italian localisation for St Paul's Bay demographics
Council analytics, trend charts, hotspot mapping, resolution tracking
Back-office integration, automated routing to contractors
NEXT CASE STUDY · 02
Sahaja. Guided Yoga App
A self-guided practice companion: 34 React Native screens on a live backend, in native-device testing.
NEXT

Have a product problem worth solving?

Let's make the next decision clearer.