Joshua Heagle | Senior Full-Stack Engineer

Hello, I'm Joshua

Systems-minded engineer, architecture-first

Architect

Build

Refactor

Ship

Scale

Debug

Mentor

Deliver

A bit about me

I'm a Toronto-based full-stack engineer with 5+ years at BIC (formerly Inkbox), working primarily in PHP/Laravel with Vue and React on the frontend. My focus is architecture: I look for the system underneath a feature request, not just the ticket in front of me — extracting a monolithic service into a maintainable pattern, or turning a one-off solution into a shared package the whole team can build on.

When Inkbox's consumer business closed in late 2025, I was one of four engineers kept on specifically to build in-house engineering capability for BIC going forward — now working on a new team standing up software for BIC's factories and supply chain, company-wide.

Outside of work, I maintain a substantial personal ecosystem of open-source TypeScript libraries, and I've spent real time directing AI coding agents through that work: architecture review, catching real bugs in generated code, and managing a genuinely large dependency graph.

Let's Connect

Experience

Full-Stack Engineer — BIC / Inkbox, Toronto (April 2021 – Present)

Currently on a newly formed Global Supply Chain team (one of four engineers, plus a QA) tasked with building in-house software for BIC's factories and supply chain, after Inkbox's consumer business closed and the company chose to retain a small core team rather than continue relying on third-party contractors.

Prior work on the Inkbox platform:

  • Designed and built an Inventory & Distribution system from scratch — data model, schema, admin tooling, and integration with the platform's existing DTO layer, covering a catalog of tens of thousands of SKUs — then hardened it through a real production bug-fix cycle.
  • Refactored a 1,489-line monolithic sheet-generation service into a Strategy-pattern architecture (a shared interface, six generator types, composed traits), cutting the core class to 128 lines; later extended the same pattern to support bundled products and added file-fetch caching for performance.
  • Introduced the platform's Data Transfer Object pattern early on and maintained it for years; drove its extraction from the main application into a standalone shared package (now used across multiple codebases), and continued improving both.
  • Built and maintained the platform's discount system and product feed pipeline over multiple years each.
  • Prototyped a sort/packing algorithm for a new roll-to-roll print-sheet generator — benchmarked a custom sort against PHP's built-in usort under real throughput constraints, and made the pragmatic call to ship the built-in.
  • Broad ownership across the main application and customer-facing storefront: search infrastructure (Elasticsearch/Algolia), analytics event tracking, locale/currency handling, and internal admin tooling.

Software Developer II — Benevity, Toronto (January 2017 – April 2021)

  • Architected and built new API services as part of a small team; built the Grants Forms service from the ground up, including a customizable adapter for routing submissions to arbitrary receiving APIs.
  • Owned the team's weekly release process end-to-end: triaged tagged Jira tickets, built and synced Docker images with AWS, ran the accompanying MSSQL scripts, coordinated with QA to validate the release, and stayed ready to roll back to a prior image if anything broke.
  • Introduced a test suite and supporting tooling to move the team toward test-driven development, on a team recognized internally as the company's best-performing — one other, larger teams were regularly pointed to for advice on improving their own process.

Earlier roles (2013–2017): Intermediate Web Developer (BID13) — Drupal migrations, mentored junior developers. Developer/Systems Analyst (Techcom) — led client-facing development and coordinated a project team on secure financial applications. Front-end/PHP Developer (3conx, Jackpine) — early career web development.

Joshua Heagle

Toronto & GTA: 647-761-8549

Let's connect

Open to new opportunities — reach out about a role, a question, or just to talk shop, and I'll get back to you.

Joshua Heagle

Toronto & GTA: 647-761-8549

Let's connect

Open to new opportunities — reach out about a role, a question, or just to talk shop, and I'll get back to you.