An internal platform that replaced scattered tools for an immigration consultancy. I built it with a second developer through PR-based code review. Beyond the features, much of the work was keeping it current: moving authentication off AWS Cognito, and upgrading the stack to .NET 10 and Next.js 16 while resolving the breaking changes.
What I built
- Designed and built a full-stack platform with .NET, EF Core, PostgreSQL, Next.js, and MUI to manage clients, immigration files, applications, tasks, follow-ups, and payments.
- Migrated authentication from AWS Cognito to ASP.NET Core Identity with JWT bearer tokens, adding forced password resets and email-based recovery.
- Enforced role-based access control across API endpoints and frontend navigation, restricting payments and employee administration to authorized roles.
- Upgraded from .NET 8 to .NET 10 and Next.js 14 to 16, resolving breaking changes and adopting TanStack Query for data fetching and caching.
- Built a layered REST API with the repository pattern, DTOs, AutoMapper, and reusable LINQ filter extensions for search, date-range, and audit filtering.
- Delivered an operations dashboard with KPI metrics and Recharts visualizations for revenue, file status, and task priority.
- Containerized the API for AWS Lambda and set up GitHub Actions CI with path-based change detection for build, lint, and format checks.
- Collaborated with a second developer through PR-based code reviews, using Claude Code and OpenAI Codex guided by repository-level AGENTS.md instructions.