Match and Help
Volunteer matching platform with intelligent algorithms, calendar sync, and multi-language support.
Key Metrics
62K+
Flutter LOC
60+
Screens
21
Service Modules
3
Languages
Overview
Match and Help is a comprehensive volunteer matching platform I built with Flutter for Builderson Group. The platform connects volunteers with opportunities using an intelligent matching algorithm that considers proximity, availability, experience, and ratings. It features bidirectional Google Calendar sync, real-time chat, and multi-language support.
My Role
Lead Developer
I architected and built the entire Match and Help platform - 62,000+ lines of Flutter code across 60+ screens. This included the matching algorithm, calendar integration, chat system, and multi-language implementation.
Challenges
Intelligent Volunteer Matching
Simple keyword matching doesn't work for volunteers. The system needed to consider location, schedule availability, skills, experience level, and historical performance.
Calendar Synchronization
Volunteers already use Google Calendar. The platform needed seamless bidirectional sync so volunteer commitments appear in their existing calendars automatically.
Multi-Language Support
The platform serves users in English, Simplified Chinese, and Traditional Chinese. All content, UI, and notifications needed proper localization.
Role-Based Access Control
Different users (volunteers, organizations, coordinators, admins) have different permissions. The system needed a flexible RBAC system.
Solutions
Multi-Factor Matching Algorithm
Built a weighted scoring algorithm that considers proximity (via Maps API), schedule overlap, skill requirements, experience level, and past ratings to rank volunteer-opportunity matches.
Google Calendar API Integration
Implemented full bidirectional sync with Google Calendar. Volunteer commitments create calendar events, and calendar changes reflect back to the platform.
ARB-Based Localization
Used Flutter's ARB (Application Resource Bundle) system for localization. All strings are externalized with proper plural forms and parameter substitution.
4-Tier Permission System
Designed a hierarchical permission system with volunteers, organization managers, coordinators, and platform admins. Each tier inherits and extends capabilities.
Technical Highlights
Smart Matching Algorithm
The matching algorithm combines geographic proximity (Google Maps Distance Matrix API), temporal availability matching, skill taxonomy matching, and historical performance scores into a unified ranking.
Real-Time Chat with Firestore
Built a complete chat system using Firestore for real-time messaging. Includes typing indicators, read receipts, media sharing, and group conversations.
Offline-First Architecture
The app works offline with local data persistence. Changes queue locally and sync when connectivity returns, ensuring reliability in all conditions.
60+ Custom Screens
Designed and implemented 60+ screens covering the complete volunteer journey - from onboarding to opportunity discovery, commitment management, and feedback collection.
Results & Impact
62K+
Lines of Flutter Code
60+
Screens Built
21
Service Modules
3
Languages Supported
4-Tier
Permission System
Lessons Learned
- → Matching algorithms require careful weight tuning - start simple and iterate based on data
- → Calendar integration is deceptively complex - budget extra time for edge cases
- → Localization should be built in from day one, not retrofitted
- → Firebase + Flutter is an excellent combination for rapid development
- → Offline-first adds complexity but dramatically improves user experience
Technologies Used
Interested in Similar Work?
I'm available for freelance projects and full-time opportunities. Let's discuss how I can help bring your ideas to life.
Get in Touch