Building software ecosystems β not just apps.
Most software starts as an application. I usually end up building three things instead:
π± the product people use Β· π¦ the reusable packages behind it Β· π οΈ the tooling that makes the next feature faster
Shipping enterprise HR software at CMiC reinforced a simple lesson: software succeeds because it's maintainable β not because it shipped one more feature. That philosophy shapes everything below: clean architecture, reusable components, automated quality gates, and developer experience treated as a product surface, not an afterthought.
Each project exists because a real problem surfaced while building the one before it β this isn't a portfolio of unrelated repos, it's a compounding system.
flowchart LR
A["Enterprise Flutter\n(CMiC)"] --> B["Shared UI Packages\n(hcm_ui)"]
B --> C["Document Platform"]
C --> D["Localization Analyzer\n(MBO)"]
D --> E["Developer Tooling\n(platform-ci)"]
E --> F["AI-Assisted Engineering\n(AI Tray Β· agents)"]
F --> A
Building enterprise document software exposed localization gaps β maintaining shared packages demanded better tooling β managing AI-assisted workflows led to AI Tray and agentic templates β those same principles now power everything I ship next.
| Project | Purpose | Stack |
|---|---|---|
| Document Platform | Modular Flutter document-editing monorepo β schema, transactions, codecs, embeddable packages | Flutter Β· Clean Architecture Β· Modular Packages |
| AI Tray | Cross-platform desktop companion for monitoring & managing AI CLI sessions from the system tray | Flutter Desktop Β· CLI Integration Β· Riverpod |
| MBO β Localization Analyzer | Full localization diagnostics toolkit β analyzer rules, custom lints, CLI, DevTools integration, CI validation | Dart Analyzer Β· Custom Lint Β· CLI Β· DevTools |
| platform-ci | Reusable, config-driven GitHub Actions for Flutter/Dart projects | GitHub Actions Β· CI/CD Β· Automation |
| agentic_flutter_template | AI-first Flutter monorepo template β architecture, CI, and agent workflows baked in | Flutter Β· Claude Code Β· Agent Architecture |
| CELPIP Workspace | Cross-platform exam-prep workspace built around structured practice and progress tracking | Flutter Β· Riverpod Β· go_router Β· Supabase |
|
|
|
Also in the toolbox: Bloc/Provider/GetX Β· TypeScript Β· React Β· Vite Β· Tailwind Β· Hive/Isar/Sqflite Β· Codemagic/Jenkins Β· Figma
| Capability | Signal |
|---|---|
| Enterprise Flutter delivery | Production HCM/ATS features β requisitions, applicant tracking, HR documents, deep linking β shipped against real Jira-tracked stories |
| Existing-codebase investigation | Tracing features across routing, auth, and data-loading layers of a live production app into accurate, ship-ready feasibility plans |
| Shared UI & package extraction | Reusable Flutter component packages (hcm_ui) β fields, LOVs, dropzones, document chrome β reused across multiple products |
| Localization systems | End-to-end tooling: ARB/l10n at scale, static analysis, custom lints, CI validation β not just string replacement |
| Developer platform engineering | Config-driven, reusable CI (platform-ci), Melos monorepos, and a multi-agent Claude Code architecture deployed across a dozen repos |
| AI-assisted engineering | Agents as part of the delivery loop, not a shortcut β capability-bound tooling that refuses to assume unverified integrations |
Build for maintainability
β
Prefer reusable systems over one-off solutions
β
Keep architecture explicit
β
Automate repetitive engineering work
β
Test what matters
β
Document decisions, not just implementation
β
Treat developer experience as part of product quality
flowchart LR
A[Feature delivery] --> B[Extract shared systems]
B --> C[Automate with CI / tooling]
C --> D[Encode in agent workflows]
D --> A
Primary β Cross-Platform Software Engineer: Flutter Β· shared UI systems Β· developer tooling
Alternative framings
- Enterprise Flutter Engineer β HCM, Applicant Tracking, HR Documents
- Flutter Platform & DX Engineer β packages, localization tooling, CI
- Product-minded Flutter Engineer β desktop companions & document platforms
- Cross-platform Engineer in transition toward backend & systems ownership (Go, PostgreSQL)
Expanding from strong Flutter client/platform work into backend engineering (Go, PostgreSQL, Docker) and deeper systems ownership β not abandoning Flutter, but building the ability to own a product end-to-end: client, backend, infrastructure, tooling, and delivery.
π΄ Cycling Β· π³ Cooking Β· π Traveling Β· π§ Music Β· π Reading about architecture & systems design




