Helping make peoples lives easier, by building software they need.

6 years on data-heavy products, from front-end to back-end, and everything in between, if I havent heard of it, I would love to learn about it.

Matthew DayOrlando, FL, USA

The shapes behind this page are the syntax tree of the site itself, laid out by the structure of its own source.

I like the part of the job where you read something carefully enough that the fix turns out to be small. Most of the work I am proud of removed code rather than adding it.

Lately that has meant query planners, cache invalidation, and build pipelines — systems where the correct answer is measurable and arguing about taste gets you nowhere.

Outside work I restore mechanical keyboards and lose to my daughter at chess with increasing regularity.

Currently
Senior Engineer, Consultant
Based in
Orlando, FL, USA
Working in
TypeScript, React, Node, + many more
Open to
Mid/Senior Level IC roles, Consultancy
  1. T.R.I.D.E.N.T

    Large Excel Sheet custom made UI with by-cell context aware LLM usage. 50,000+ Cells.

    Problem
    The account history endpoint had drifted to a p99 of 9.4s. It was the first screen after login, so it was effectively the product’s load time.
    Constraint
    No downtime window, no schema migration that locked the table, and the reporting team depended on the existing query shape.
    Decision
    Rather than rewrite the endpoint, I traced it to a keyset-pagination bug where an OR predicate defeated the composite index. Fixed the predicate, added a covering index, and put a 30-second read-through cache in front of the first page only — the page 96% of sessions never leave.
    Outcome
    p99 to 340ms. Two files changed, no migration, no rewrite.
    • React
    • Python
    • SQlite
  2. Ember

    Red Meters on-device front-end for viewing live sensor data from the Red Meter itself.

    Problem
    A 41-minute median CI run meant people batched work into large PRs to avoid waiting, which made review worse and made failures harder to attribute.
    Constraint
    The test suite could not be weakened — this codebase moved money — and the team had already rejected a proposal to split the monorepo.
    Decision
    Instrumented the runner before touching anything. 60% of wall-clock time was Docker layer rebuilds triggered by a lockfile write in a postinstall script. Pinned it, split the suite by historical runtime rather than by directory, and made integration tests run only against changed packages.
    Outcome
    Median run to 7 minutes. PR size fell by about half over the next quarter, which was the actual goal.
    • Vue
    • D3
    • Python
  3. Coaster Clash 2k99

    The game I wanted to play, did not exist. So I created it.

    Problem
    A new embedding model shipped with better offline benchmarks and measurably worse user behaviour — clicks moved down the results page.
    Constraint
    The model had already been announced internally, and the team was attached to the benchmark numbers.
    Decision
    Built a small side-by-side evaluation harness using logged queries and actual click positions rather than the offline set. It showed the new model won on paraphrase and lost badly on exact-name lookup, which was 70% of real traffic. Proposed routing by query shape instead of picking a winner.
    Outcome
    Kept both. Exact-name queries route to the lexical index, everything else to embeddings. Click-through recovered and passed the old baseline.
    • Typescript
    • ThreeJs
    • Vue
    • Tauri
  1. 2026 — Now

    Freelancer/ConsultantPersonal

    Own the build and deploy path for ~40 engineers. Most of my week is other people’s unblocking.

  2. 2023 — 2026

    Senior Software EngineerYulista Tactical Services

    Payments ledger and reconciliation. Where I learned to distrust averages.

  3. 2020 — 2021

    Low Code DeveloperSkillstorm

    Early-stage, small team, wore every hat — including the ones I was bad at.

  4. 2020 — 2021

    Software DeveloperRed Meters

    Geospatial tiling. First encounter with a query planner that outsmarted me.

The fastest way to reach me is email. I read everything and reply to most things within a couple of days.

mattd4y@gmail.com

Best for: staff/principal IC roles, performance or build-system consulting, or telling me I am wrong about something on this page.