
Modeling TFSA, FHSA and RRSP Rules in Software
How I model TFSA, FHSA and RRSP contribution room in MapleWealth: ledgers instead of balances, carry-forward, re-contribution timing and the edge cases.
Enterprise-Grade French Learning Platform for Canadian Immigration
Built with Next.js 15, TypeScript, and Firebase - combining cutting-edge web technologies with educational best practices to create an immersive, accessible, and highly performant learning experience.
Français Pro is a modern, enterprise-grade French language learning platform specifically designed for Canadian immigration preparation. Built with Next.js 15, TypeScript, and Firebase, it represents a sophisticated solution that combines cutting-edge web technologies with educational best practices to create an immersive, accessible, and highly performant learning experience.
Canadian immigration applicants face significant barriers when learning French for Express Entry requirements. Traditional language courses are expensive, often costing $2000-5000, and lack specific focus on Canadian immigration needs.
Français Pro helps immigrants learn French efficiently for Canadian Express Entry, providing a 100% free alternative to expensive language courses while maintaining enterprise-level architecture and real-time progress tracking.
We needed to create a comprehensive, accessible platform that could deliver enterprise-level education while remaining completely free for users, with specific focus on Canadian immigration preparation and cultural integration.
Français Pro was designed as a modern, enterprise-grade French learning platform specifically tailored for Canadian immigration preparation. Built with cutting-edge web technologies, it combines educational best practices with performance optimization to create an immersive learning experience.

100% free with no hidden costs, removing financial barriers to French learning
Content specifically aligned with Canadian Language Benchmarks (CLB) and Express Entry requirements
Built with Next.js 15, TypeScript, and Firebase for optimal performance and scalability
interface UserProfile {
uid: string;
email: string;
displayName: string;
level: 'beginner' | 'intermediate' | 'advanced';
totalStudyTime: number;
streakCount: number;
lastActiveAt: Date;
preferences: UserPreferences;
achievements: Achievement[];
}interface Module {
id: string;
title: string;
description: string;
icon: string;
color: string;
lessons: Lesson[];
prerequisites?: string[];
estimatedTime: number;
}All learning materials are specifically aligned with Canadian Language Benchmarks (CLB) and Express Entry requirements.
60% bundle size reduction, <2s load times on 3G networks, and 95+ Lighthouse scores.
Live synchronization of user progress across devices with comprehensive analytics dashboard.
WCAG 2.1 AA compliant design with full keyboard navigation and screen reader support.
XP points, achievement badges, learning streaks, and level progression to maintain engagement.
Click-to-hear pronunciation for all French content with native speaker audio.
The platform demonstrates exceptional technical performance across all key metrics. Through careful optimization of the Next.js bundle, implementation of advanced caching strategies, and use of modern web technologies, we achieved industry-leading performance scores.
User engagement metrics show strong adoption with high lesson completion rates and low bounce rates. The combination of gamification elements and relevant content keeps users engaged throughout their learning journey.
Français Pro successfully addresses the critical need for accessible, high-quality French education in the Canadian immigration context. By providing a completely free platform with enterprise-level features, we've removed significant barriers that prevented many applicants from pursuing French language learning.
Firebase Realtime Database with custom hooks and context providers for live progress updates across devices.
Next.js 15 Server Components, automatic code splitting, and advanced caching strategies for optimal performance.
See how modern web technologies create exceptional learning experiences
Notes from client work and side projects: architecture decisions, tooling and what shipped.

How I model TFSA, FHSA and RRSP contribution room in MapleWealth: ledgers instead of balances, carry-forward, re-contribution timing and the edge cases.

Server-authoritative bids, countdown clock sync, optimistic UI and reconnection: the architecture behind real-time bidding with Socket.io and PostgreSQL.

Why I built 59 free developer and design tools that run entirely in the browser, how one data file drives them, and what I'd change.