About

From self-taught developer to backend engineer to product builder

Background, approach, and experience summary across self-taught, backend, and product engineering work.

I did not come into software through a traditional computer science route. I taught myself to code, grew into backend engineering, and eventually moved closer to product work where I can own more of the user experience as well as the systems behind it.

That mix shapes how I work now. I am comfortable deep in APIs, integrations, and event-driven systems, but I also care a lot about whether a product is clear, useful, and shippable. Recently that has pulled me toward Flutter, Supabase, and independent product work such as inkBlox and Unearth Radio.

Approach

  • Start with a real product problem, not a stack-first solution.
  • Keep systems pragmatic: strong data and backend decisions where they matter, less ceremony where they do not.
  • Build for maintainability so products can keep moving after the first version ships.

Values

ClarityOwnershipPragmatism

Experience

Product engineer

Independent product work · Recent years — Present

Recent work is centred on product building: shipping Flutter apps, shaping Supabase-backed systems, and staying close to the user-facing details instead of only the infrastructure.

  • Product work on inkBlox, a live pixel-art app connected to a physical product
  • Built Unearth Radio, a radio discovery prototype spanning Flutter, Supabase, and Python services
  • A working style that combines delivery, technical ownership, and pragmatic scope decisions
FlutterDartSupabasePostgreSQL

Backend engineer

ChargePoint · Approx. 5 years — Before current product work

Backend-focused experience across services, integrations, and event-driven systems — the part of my background that now makes the product work stronger.

  • Built credibility in JavaScript and TypeScript services before moving deeper into Kotlin and Spring Boot systems
  • Worked with Kafka and event-driven architecture in a production setting
  • Learned to think in terms of reliability, data flow, and maintainability rather than just feature output
JavaScriptTypeScriptKotlinSpring BootKafka

Capabilities

Product engineering

Taking product ideas from rough scope to shipped software.

Backend systems

Designing APIs and data flows that stay dependable as products grow.

Frontend and mobile

Building Flutter interfaces that feel clear, responsive, and maintainable.

Proof points

Backend depth

Five years of backend engineering across services, integrations, Kotlin/Spring Boot, and Kafka.

Product range

Current work spans a live consumer app, Supabase-backed systems, and an async audio recognition pipeline.

Get in touch

Interested in working together? Get in touch