Building software ecosystemsβnot just apps. I design products, reusable packages, and developer tools that make software easier to build, scale, and maintain.
Most software starts as an application.
I usually end up building three things instead:
- π± The product users interact with
- π¦ The reusable packages behind it
- π οΈ The tooling that makes future development faster
Working on enterprise software at CMiC reinforced an important lesson: software succeeds because it's maintainableβnot because it shipped one more feature.
That philosophy shapes every project I build. I enjoy creating systems with clean architecture, reusable components, automated quality checks, and excellent developer experience.
My projects are intentionally connected. Each one solves a problem discovered while building another.
flowchart TD
A["Enterprise Experience (CMiC)"]
B["π Document Platform"]
C["π Localization Analyzer"]
D["π€ AI Tray"]
E["π CELPIP Workspace"]
A --> B
B --> C
C --> D
D --> E
Building enterprise document software exposed localization challenges.
Maintaining reusable packages inspired better tooling.
Managing multiple AI workflows led to AI Tray.
The same engineering principles now power CELPIP Workspace.
Rather than unrelated repositories, these projects represent a growing ecosystem focused on building better software.
| Project | Purpose | Technologies |
|---|---|---|
| π€ AI Tray | Cross-platform desktop application for monitoring and managing AI CLI usage directly from the system tray while improving developer productivity. | Flutter β’ Desktop β’ Native Integration |
| π Document Platform | Modular Flutter ecosystem for enterprise document management built around reusable packages and clean architecture. | Flutter β’ Clean Architecture β’ Modular Packages |
| π Localization Analyzer | Complete localization toolkit including analyzer rules, custom lints, CLI utilities, DevTools integration, and CI validation. | Dart Analyzer β’ CLI β’ DevTools β’ CI |
| π CELPIP Workspace | Cross-platform learning workspace designed to help learners prepare efficiently for the CELPIP examination. | Flutter β’ Cross-platform β’ Riverpod |
| Area | Technologies |
|---|---|
| Languages | Dart β’ Java β’ JavaScript β’ Python β’ C++ β’ C# β’ Kotlin β’ Swift |
| Cross-Platform | Flutter (Android β’ iOS β’ Web β’ Windows β’ macOS) |
| State Management | Riverpod β’ Bloc β’ Provider β’ GetX |
| Backend & Storage | Firebase β’ Supabase β’ REST APIs β’ Hive β’ Isar β’ Sqflite |
| Developer Tooling | Custom Analyzer Rules β’ CLI Utilities β’ DevTools Extensions |
| Testing | Unit Testing β’ Widget Testing β’ Golden Testing |
| CI/CD | GitHub Actions β’ Codemagic β’ Jenkins |
| Design | Material 3 β’ Cupertino β’ Figma |
Software should be easy to understand, easy to test, and easy to evolve.
I believe architecture is less about abstraction and more about helping future developers confidently make changes. Every package, test, documentation page, and CI workflow is an investment in long-term maintainability.
My priorities are:
- Build reusable systems over one-off solutions
- Automate repetitive work
- Keep codebases modular and scalable
- Document important decisions
- Catch problems early through testing and CI
- Improve developer experience wherever possible
Currently exploring and building:
- π¦ Production-ready Flutter packages
- π Developer productivity tools
- π₯ Desktop applications
- π Flutter Web experiences
- π€ AI-assisted development workflows
- π Enterprise application architecture
- π Documentation-first engineering
Outside of work and open source, I enjoy:
- π΄ Cycling
- π³ Cooking
- π Traveling
- π§ Music
- π Reading about software architecture and system design
I enjoy turning ideas into polished softwareβwhether that's an enterprise application, an open-source package, or a developer tool.
My goal is simple: build software that is scalable, maintainable, and genuinely useful to both users and developers.
β If you find one of my projects helpful, consider giving it a star.




