CLIENT: Denyut Donor Society🇲🇾Malaysia

Pint - Blood Donation Drive Planning and Donor Recruitment Platform

Drive Console for a Malaysian Blood Donor Charity

Designed and built a clickable drive console for a Kuala Lumpur charity that recruits volunteer blood donors: plan drives against the blood service's mobile team capacity, turn host requests into drives, follow every booking and volunteer up to drive day, and run blood type appeals that show staff counts only, never donors with their types.

Scope of Work
Product design, UI build and clickable demo
Industry
Nonprofit & NGO / Blood Donation Drives
HealthcareEnterprise
Compliance & Certifications
PDPA 2010 (Malaysia)PDPA (Amendment) Act 2024

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Dashboard, drives calendar in month, week and table views, drive detail with 5 tabs, drive requests and appeals. Every one of the 24 demo drives, from tentative to closed, opens its own detail page.

7 Teams
Capacity lanes from the blood service

One calendar lane per blood service team, with 122 October sessions released, 81 used and 41 free. Days with no sessions are hatched and show the reason.

Counts Only
Blood type appeals without donor lists

Reach is worked out as opted-in donors with a matching type, minus those in their wait period, minus those over the 4-per-30-days cap. A cap override is flagged and a different person from the builder must approve.

24 Drives
Realistic demo data

21 host organisations, 7 blood service teams across 5 regions, 5 slot templates, 14 drive requests, 8 appeals and 8 staff users, with slots, bookings and volunteer rosters per drive.

The Problem

Denyut organises about 1,800 drives a year from a shared calendar, a WhatsApp group per region and Google Forms for bookings. Host headcounts bore no relation to who turned up, so some drives had queues out of the door while others kept a team of nurses waiting. About one in three booked donors did not show and nobody could tell why, the only way to reach O negative donors in a shortage was a broadcast to everyone, and a Google Form held health answers the charity should never have kept.

Our Solution

Pint gives Denyut's team one console to plan drives around the blood service's mobile team capacity, schedule host requests onto dates a team can actually cover, track bookings, first-time donors and volunteers for each drive, and run urgent appeals by blood type inside consent and frequency rules. The blood service decides who can donate; Pint never records a medical decision.

The Challenge: Bringing Donors Without Holding Health Data

Denyut brings the donors, the venue and the volunteers, but the clinical team at every drive belongs to the national blood service under the Ministry of Health. The charity has to fill drives the blood service can staff, reach the right donors when stocks run low, and do it while touching as little health data as possible.

Capacity Set by Someone Else

The National Blood Centre and hospital blood banks release a set number of sessions per mobile team each month and withdraw teams for training, servicing or hospital sessions. A drive booked on a day with no team is a host let down and donors turned away.

Drives That Fill Unevenly

About one in three booked donors did not show (the charity's own 2025 figure), with no record of who arrived, who walked in or who left before seeing the team. Without that, nobody knew which drives to chase or which hosts to keep.

Blood Type Is Sensitive Data

Health information is sensitive personal data under the PDPA and generally needs explicit consent. Blood type appeals can only reach donors who opted in, staff must never see a list of donors with their types, and quiz answers about health must never be stored.

Appeals Without Fatigue

Mass broadcasts sent unsubscribes up after every appeal. Donors can withdraw from direct marketing at any time, and Denyut's own policy caps marketing at 4 messages per donor in 30 days, with no messages during a donor's wait period and overrides only with a manager's approval.

Our Approach: From Donation Rules to a Clickable Console

01

Spec and Rules Research

Mapped 10 user roles, from donor and host organiser to drive planner, donor care officer and a read-only blood service liaison, and 44 screens across the charity console, host portal and donor app. Wrote down the rules the design follows: the blood service decides eligibility, eligibility values as admin settings with a source and effective date, the PDPA 2010 and its 2024 amendments, sensitive data kept in a separate health store, per-channel marketing consent, frequency caps, no streaks or rankings, and no MyKad numbers collected.

02

Clickable Demo on a Production UI Kit

Built 5 key screens of the charity console on a production dashboard kit: the dashboard with KPIs, booked versus checked-in trend, team capacity and a needs-attention list, the drives calendar with one lane per team, drive detail with slots, bookings, volunteers, promotion and activity, drive requests with suggested dates where a team has free sessions, and appeals with reach counts, bilingual message preview and approval. All actions run on local state.

03

What a Production Build Adds

The donor app in Malay and English, the host portal and the check-in tablet for the welcome desk. Donation history and blood type through a data-sharing agreement with the blood service, SMS through a provider such as Twilio or MACROKIOSK, the WhatsApp Business Platform, email and push, and Google Maps for travel time. Hosting in the AWS Malaysia region, role-based access with audited health record reads, privacy requests, an append-only audit log, and legal review of the consent wording in both languages.

Why It Works: Plan Around the Team, Protect the Donor

Capacity Comes First

The calendar shows one lane per blood service team with its beds, and the dashboard shows sessions offered, used and free per team. Drive requests suggest dates where the region's team still has free sessions, so planners schedule against what the blood service can actually staff.

Problems Surface Before Drive Day

Fill bars turn amber or red when a drive is filling too slowly, and the needs-attention list flags low bookings, drives without a confirmed venue, drives short of volunteers, old requests and privacy deadlines, each linking to the right page.

No Health Data in Staff Lists

Bookings show first name, last initial, slot, first-timer flag and reminder status, never eligibility or blood type. Appeals show reach as counts only, and after a drive the coordinator records the blood service's reported donations as a total, not per donor.

Appeals With a Second Pair of Eyes

Each appeal starts from the blood service's request reference, points donors to named drives or centres and previews the message in English and Bahasa Melayu. Approval must come from someone other than the builder, and any request to go over the frequency cap is flagged before it is sent.

Related case studies

View all: Nonprofit & NGO
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab