Skip to content

Expertise

Where I am useful, and why.

From mobile applications to SDKs and architecture: find the expertise your problem needs, then explore the work behind it.

Mobile Engineering

Shipping and maintaining mobile products that stay maintainable under continuous change.

Mobile engineering since 2017 across native Android, React Native, and Flutter — in healthcare information systems, commerce, and consumer products. The recurring problem is rarely the first release; it is what the codebase looks like after twenty of them.

  • Flutter
  • Android
  • iOS
  • Kotlin
  • Swift

Flutter Engineering

Application architecture, state management, and performance in production Flutter apps.

Working with Flutter since around 2019, across apps built from scratch and apps inherited mid-flight. Most of the value is in module boundaries and state discipline — decisions that are cheap early and expensive later.

  • Dart
  • Flutter
  • State Management
  • Performance

Native Android & iOS Integration

The boundary between Dart and the platform, where cross-platform stops being free.

Platform channels, native SDK wrapping, permissions, lifecycle, and background behaviour. Capabilities like screen time monitoring, screenshot detection, and alternate app icons have no Dart equivalent — they have to be implemented twice and reconciled once.

  • Platform Channels
  • Kotlin
  • Swift
  • Android APIs
  • iOS APIs

SDK & Plugin Engineering

Libraries where other engineers are the users, and the API surface is the product.

23 packages under the verified solusibejo.com publisher on pub.dev, alongside contributions to other Flutter projects. Designing for a caller you will never meet means being deliberate about naming, defaults, error surfaces, and what you refuse to expose.

  • Dart
  • pub.dev
  • API Design
  • Semantic Versioning

Architecture & Modernization

Restructuring systems that outgrew their original design.

Setting architecture on greenfield projects, and untangling it on projects that never had one. The goal is not architectural purity — it is shortening the distance between a product decision and a shipped change.

  • Modularization
  • Clean Architecture
  • Refactoring

Developer Tooling

Tools that shorten the feedback loop for a whole team, not just one engineer.

CLI utilities, in-app debugging overlays, and release automation. Tools like Package Rename Plus and Analytics Debugger exist because a repeated manual step was quietly costing the team more than it appeared to.

  • CLI
  • CI/CD
  • Automation
  • Jenkins

Technical Consulting

Architecture review, technical direction, and second opinions on hard decisions.

Working with teams on the decisions that are expensive to reverse: platform choice, architecture, hiring bar, and how to sequence a modernization without stopping delivery.

  • Architecture Review
  • Technical Direction
  • Mentorship

AI-Augmented Engineering

Using AI agents across the engineering loop without outsourcing engineering judgment.

I use AI coding agents for research, implementation, debugging, tests, review, and documentation. Architecture, trade-offs, and release decisions remain my responsibility, supported by source inspection and verification.

  • AI Agents
  • Code Review
  • Automation
  • Documentation

Engagements

How this usually starts

Build a Mobile Product

Build a mobile application from architecture and module design through implementation, API integration, testing, and release preparation.

Modernize an Existing Application

Improve growing codebases through modularization, clearer dependencies, and focused refactoring of the areas that slow delivery.

Integrate Native Capabilities

The work that starts where Dart ends: platform channels, Android and iOS SDKs, Kotlin and Swift implementations, and the lifecycle details that only surface in production.

Build SDKs & Plugins

Developer-facing libraries where the API is the product — designing a surface other engineers can use correctly without reading the source, then publishing and maintaining it.

Solve Difficult Production Problems

Crashes that only reproduce on one OS version, performance cliffs, lifecycle and state bugs, networking edge cases. Diagnosis first, then a fix at the root rather than the symptom.

Improve Engineering Productivity

Tooling, automation, and CLI workflows that shorten the loop between writing code and knowing whether it works — including where AI agents genuinely help.

Discuss a Technical Problem