Grants Platform for a Canadian Provincial Arts Council
Designed and built a clickable grants management platform for a British Columbia arts council that funds artists, collectives and arts organisations: one list of every application, eligibility screening with a second reviewer, and a live committee meeting that ranks peer scores against the budget - with self-identification data kept out of every staff and assessor view.
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, applications with a quick view panel, application detail with 7 tabs, eligibility screening and the committee meeting. Every application in the list opens its own detail page.
Artistic merit 40%, impact 30% and feasibility 30%, with a minimum fundable score of 3.0. The meeting ranks 12 applications against a $150,000 budget with a funding line the budget simulator can move.
An ineligible result needs a reason from a fixed list and a second reviewer, and the first reviewer cannot confirm their own decision. Clarification requests give the applicant 5 business days.
32 applicants (individuals, collectives and organisations), 14 programmes with equity streams, 8 peer assessors, 2 assessment rounds and 8 staff users, in CAD and Pacific time.
The Kinnikinnick Arts Council ran intake through an ageing form tool that produced PDFs. Officers checked eligibility in spreadsheets, emailed assessors zip files of work samples, collected conflict declarations on paper and typed committee scores into a ranking sheet only one person trusted. Applicants could not see where their application was, and a typical programme took 16 to 20 weeks from deadline to first payment.
Maquette runs the grant cycle in one place: programme timelines and work by role on the dashboard, every application with its flags and status, eligibility screening with automatic checks pre-filled, and a committee meeting mode that ranks weighted peer scores, steps out conflicted assessors and moves the funding line against the round's budget.
The council is a BC Crown agency distributing about $38 million a year across 14 programmes, from $3,000 professional development grants to operating grants of up to $150,000. Every award must be eligible, peer assessed, approved within delegated limits and accountable, and the people applying include artists who need support to apply at all.
Voluntary self-identification answers are collected under FIPPA and the provincial data standards issued under the Anti-Racism Data Act. They must never reach assessors, and equity outcomes can only be reported in aggregate, with no cell under 10 people.
Peer assessors declare close personal, family, professional or financial ties per application before seeing it. A declared conflict removes the application from their queue and their votes, which can leave it below the required number of assessors.
Dedicated streams for Indigenous, Black and racialized, Deaf and disabled and 2SLGBTQIA+ artists are special programs under the BC Human Rights Code. Eligibility rests on self-declaration, and committees follow composition rules such as Indigenous peers only.
Deaf and disabled applicants had to phone for help with no record of what was agreed. Accommodations such as ASL or LSQ interpretation and individual deadlines have to follow the application, and council policy is to offer every programme, form and letter in English and French.
Mapped 10 roles, from programme officer to finance officer, peer assessor and applicant, and 46 screens: 32 staff, 4 assessor portal and 10 applicant portal. Defined the data model for programmes, streams, eligibility rules, rubrics, applications, conflict declarations, scores, awards, payments and separately stored self-ID responses. Wrote down the rules the design follows: BC transfer payment policy, FIPPA, the Anti-Racism Data Act, the Human Rights Code, the Accessible British Columbia Act, T4A reporting and CPA 005 EFT payments.
Built 5 key staff screens on a production dashboard kit: the dashboard with KPIs, programme cycle timeline, budget by programme and My work by role; applications with status pills, filters, flags and bulk actions; application detail with budget flags, a work sample viewer with captions and transcripts, eligibility and assessment tabs; eligibility screening with four queues; and the committee meeting with a budget simulator. All actions run on local state.
BC Services Card login and BCeID for applicants, Microsoft Entra ID for staff, BC Registries checks, Canada Post AddressComplete, DocuSign or Adobe Acrobat Sign agreements, CPA 005 payment files to the council's bank, the finance system export and private media hosting, all hosted in Canada. An append-only audit log, a privacy impact assessment, and the remaining screens: programmes and the form builder, approvals, awards, payment runs, final reports, equity outcomes, T4A slips and the bilingual assessor and applicant portals to WCAG 2.1 AA.
Application detail shows only "Self-declared for {stream}" and a note that self-identification answers are stored separately. Staff and assessors work every application without seeing anyone's demographic data.
Residency, overdue reports, organisation registration and the request range are checked automatically and marked met or not met, with the evidence beside each. Eligible stays disabled until every manual criterion is ticked.
The ranked list shows each application's weighted average, the spread between assessors with high spread flagged for discussion, and assessors who stepped out for a conflict. Reordering needs a reason, and Close meeting locks the ranking.
Rows carry accessibility support, accommodated deadline, first-time applicant and French flags, so officers see them in the list, the detail page and the meeting. French applications are shown in the language they were written in.

Designed and built a clickable staff console for an Estonian city's resident services portal: service queues with eligibility results, case detail with register data pulled over X-Road, decision drafting with lawful reasons and appeal information, batch signing with eID and deadline tracking - so residents are never asked for data the state already holds.

Designed and built a clickable permitting and licensing platform for a US city's development services department: completeness checks before the review clock starts, building, zoning, fire and public works reviews running in parallel against city targets, an inspection board that checks certifications, and one record for every permit with its parcel, parties, holds, fees and inspections.
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