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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

Designed and built a clickable donor CRM for a Perth-based wildlife charity registered with OSCR: supporter records that show what each person agreed to and how, Gift Aid claims that hold back gifts with a problem, and mailing selections that remove every suppression before a file goes out.

Designed and built a clickable volunteer management platform for a regional food bank network in Ohio: shifts colored by how full they are, a volunteer directory and profile with readiness, screening and consent in one place, and an hours review queue that flags anything a person should check before it counts.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
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
Enterprise Software Engineering - Human + AI
Contact Us
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