career

3 roles since 2020

Newest first. Each role has the work in plain words, a few things I'm glad I did, and the projects that came out of it.

  1. 2023

    Senior Frontend Engineer, Nexora

    Aug 2023 to now, Remote

    Lead front-end at a small software studio. Took five client apps from an empty repository to production in a bit over three years, and own the mobile release train end to end.

    • Three React Native apps, a React + Flutter GIS platform, and a WebGL configurator, every one shipped to the App Store, Google Play, or 100+ customer sites.
    • Weekly App Store releases through a peak season, about 15 in twelve months, with OTA hotfixes in between and no dedicated native developer.
    • Map and rendering performance on mid-range phones: Mapbox overlays and offline packs, PostGIS tiles, Babylon.js scenes with instancing and LOD.
    • A JSON auth-error contract co-designed with backend that ended a mass-logout incident.

    React Native, Expo, TypeScript, Mapbox GL, Babylon.js, Supabase, RevenueCat

  2. 2021

    Frontend Developer, The Weather Company

    Aug 2021 to Aug 2023, Remote

    weather.com's server-rendered platform, used by millions of people a day in 200+ locales. I owned the Samsung partner experience on mobile and worked on the move to Next.js.

    • Samsung-themed component variants and a 320px foldable breakpoint for the Today, Hourly and Daily webviews, driven by device-class headers instead of UA sniffing.
    • Replaced viewport media queries with container queries so one forecast card worked in a sidebar, full width, or a partner webview.
    • Ported forecast pages to React Server Components with a shared typed data layer and per-route cache tiers; CI stayed around three minutes.
    • Found and fixed a production hydration mismatch, pinned it with a failing-first test, and wrote the pattern up for the team.

    React, TypeScript, Next.js, Redux-Saga, Storybook, Playwright, Kubernetes

  3. 2020

    Web Developer, Sports Media Inc

    Jun 2020 to Aug 2021, Jacksonville, FL (remote)

    First job, and remote from the start because of the pandemic. Core engineer on an AWS streaming platform for a 24/7 sports channel and its video library, plus twenty-odd WordPress sites for the agency's divisions.

    • MediaConnect to MediaLive to MediaPackage to CloudFront, with HLS/DASH, FairPlay and Widevine DRM, and server-side ad insertion.
    • A serverless ingestion pipeline that parsed provider feeds with per-provider mapping templates; onboarding a provider went from days to hours.
    • A React operator CMS with a real CDN playback check before an asset could be marked playable.

    React, AWS Lambda, Step Functions, AWS Elemental, DynamoDB, WordPress

  4. 2014–2020

    University of South Florida. A bachelor's in accounting, then a Master of Accountancy. The master's ceremony in May 2020 was online, USF's first virtual commencement, because of COVID. I started work that June, remote, for the same reason.

skills

what I'd like to be asked about
web
React, Next.js (App Router, RSC), TypeScript, Redux, Zustand, Storybook, container queries, SSR, accessibility
mobile
React Native, Expo (EAS build, submit, update), Flutter, Riverpod, Reanimated, RevenueCat, Firebase, store releases
maps and 3D
Mapbox GL, GeoJSON, offline packs, PostGIS, QGIS, DEM tiles, Babylon.js, Three.js, GLSL, glTF, WebXR
backend and cloud
Node.js, Fastify, Supabase, PostgreSQL, MySQL, DynamoDB, AWS Lambda, Step Functions, AWS Elemental, CloudFront
quality
Jest, Vitest, Testing Library, Playwright, GitHub Actions, Sentry, Mixpanel, TypeScript strict

education

2018–2020
Master of Accountancy, University of South Florida. GPA 3.06. Aug 20, 2018 – May 8, 2020. The ceremony was virtual, USF's first, because of COVID-19.
2014–2018
Bachelor's degree, Accounting, University of South Florida. GPA 3.39. Aug 25, 2014 – May 4, 2018.