Skip to content
Kuala Lumpur, MY Available
Nedays System Digital systems

Concept · 2026

Recycling, answered in plain Malay.

BumiKita is a concept civic campaign for Malaysian households: the three Rs in plain Malay, a what-goes-where guide, and 12 community drop-off points you can filter by state.

Visit the page (opens in a new tab)
Client
BumiKita — concept
Sector
Civic & environment
Market
Malaysia
Scope
Single page, no backend
bumikita.my
BumiKita homepage: the headline 'Bumikita, tanggungjawab kita.' above a photograph of a family sorting cardboard and plastic into green bins outside a terrace house.
Homepage — desktop Concept campaign · demo directory

Learn the habit, then find the bin.

The page has one job: turn good intentions into a sorted bag and a short trip. Guidance sits above the directory, so the answer is already in view when the filter is used.

bumikita.my/#kerangka
BumiKita 3R section: a flat-lay of flattened cardboard, plastic bottles, glass jars, paper and e-waste beside numbered Kurangkan and Guna Semula definitions.
Kerangka 3R — desktop Kurangkan, Guna Semula, Kitar Semula
bumikita.my/#cari-pusat
BumiKita directory: state filter chips above location cards for Kuala Lumpur, Selangor, Pahang, Pulau Pinang and Johor, each listing accepted materials, opening hours and a Google Maps link.
Directory — desktop Filter by state, 12 demo locations

12

Community drop-off points

5

States and territories

~900 B

Inline JavaScript, no framework

The idea

Most people want to recycle. They stall on the sorting.

A household is not short of advice; it is short of a straight answer at the moment the bag is full. BumiKita answers three questions in order: what are the three habits, which bin does this belong in, and where do I take it? The whole page is written in plain Malay, with no acronyms and no login.

One page, in reading order.

Kerangka 3R explains the habits, Bahan sorts everyday waste, and Cari pusat lists the places. Nothing important hides behind a menu.

The filter is the whole tool.

State chips narrow 12 locations, a live count announces the result, and every card links straight to Google Maps.

No account, no cookie, no analytics.

The page is three static files and one small script. There is no database to query, no consent banner to dismiss, and nothing to sign up for.

Works without JavaScript.

All 12 locations stay in the document. The filter only hides and shows; it never fetches data, so the directory survives a failed script.

Nothing to sign up for. Nothing to track.

A civic tool should not ask for a profile before it answers a question. BumiKita is deliberately the smallest version that is still useful.

Storage
No cookies, no localStorage
Requests
Static files only, no API
Keyboard
Real buttons, visible focus
Screen readers
aria-pressed and aria-live count

99/100

Reported performance

100/100

Accessibility, SEO, best practices

0 CLS

Explicit image dimensions

A little page with a lot of care.

No framework, no build step and no server-side anything. The constraints are the point.

$ 214 KiB total

Reported transfer for the whole page

Markup

Semantic HTML5 and hand-written CSS.

Sections, lists and definition-style blocks carry the structure. There is no CSS framework and no utility build to keep in sync.

Script

Under a kilobyte, inline.

The filter toggles aria-pressed, hides non-matching cards and rewrites one live count. That is the entire behaviour layer.

Media

AVIF first, WebP behind it.

Every photograph has explicit dimensions and lazy loading below the fold. The layout does not move when the images arrive.

Type

Three subset variable fonts, self-hosted.

Plus Jakarta Sans, Inter and JetBrains Mono ship from the same origin, so the CSP stays strict and no third-party request leaves the page.

Design

Canopy Green, Sprout and Kraft.

A small, fixed palette does the identity work: deep green for text and actions, a bright green for live states, and warm paper behind both.

Deploy

Files on any static host.

Cloudflare Pages, GitHub Pages or a plain bucket. A small _headers file adds the CSP and cache rules.

Note — All names, addresses, postcodes and opening hours in the directory are made-up demo data. BumiKita is an independent portfolio concept and is not affiliated with any Malaysian agency.

Stack Semantic HTML5 Hand-written CSS ~900 B vanilla JS AVIF + WebP Subset variable fonts Static host

Next concept

Al-Hadi & Partners

Need a small tool your audience will actually use?

A focused page, a clear answer and no sign-up can be the whole product. If that sounds like your organisation or community, this is the conversation.