GenConnect — Intergenerational Social Impact Platform
School • Year 1 (Featured)GenConnect is a full-stack social impact web application developed for the Age-Friendly Community (AFC) problem statement (IT1125/IT1225/IT1525 Web Development Project). Engineered with Python OOP principles, Flask, and Jinja2, it bridges youth volunteers and senior citizens via dialect matching algorithms, biometric authentication, and senior-accessible interface tooling.
Individual Engineering Contributions
Engineered the core matchmaking algorithm designed to pair senior citizens with youth volunteers based on multi-factor weighted scoring and object-oriented domain models.
- Implemented modular Python domain classes (
User,SeniorProfile,YouthProfile,MatchEngine) leveraging encapsulation and polymorphism for clean extensibility. - Weighted scoring algorithm evaluating dialect compatibility (Hokkien, Cantonese, Teochew, Malay, Mandarin) and shared interest categories (gardening, digital literacy, storytelling, culinary heritage).
- Configurable minimum affinity threshold ensuring meaningful pairings while providing fallback recommendations for underrepresented dialects.
class MatchEngine:
def calculate_compatibility(self, senior: SeniorProfile, youth: YouthProfile) -> float:
dialect_overlap = set(senior.dialects) & set(youth.dialects)
interest_overlap = set(senior.interests) & set(youth.interests)
dialect_score = (len(dialect_overlap) / max(1, len(senior.dialects))) * 0.60
interest_score = (len(interest_overlap) / max(1, len(senior.interests))) * 0.40
return round((dialect_score + interest_score) * 100, 2)
Designed and implemented a tiered authentication architecture tailored specifically to Age-Friendly Community accessibility requirements.
- Integrated Singpass mock authentication for verified NRIC identity ingestion alongside FaceIO facial recognition for passwordless senior login.
- Engineered high-contrast, large-touch-target accessibility toggles and multi-lingual voice prompts directly into the Jinja2 templates.
- Implemented robust session management handling role-based permission boundaries between seniors, youth volunteers, and community administrators.
Served as the lead developer driving software architecture, database migrations, and Git branch collaboration across the multi-month project lifecycle.
- Authored over 195 commits across 17 feature branches on GitLab, maintaining clean PR reviews and automated test verification.
- Constructed SQLite relational schema with automated data seeding scripts for rapid local developer environment onboarding.
- Authored comprehensive project documentation including SRS specifications, wireframe personas, and test execution reports.