About
My passion lies in creating modern, inspiring interfaces backed by thoughtfully engineered systems that empower developers to work efficiently and confidently.
Currently, I spend most of my time working on the frontend for ABCmouse and other Age of Learning products. I've also had the privilege of building software for an agency that trains developers, and clients that run small businesses. I love to learn and am always looking for new opportunities to grow as a developer.
When I'm not at the computer, I'm usually exploring the great outdoors or playing disc golf. I also enjoy woodworking, quartet singing, diving into science fiction and fantasy novels, and gardening with my wife.
Experience
Jul 2025 — Present Architected a SvelteKit inbound gateway for iOS/Android alternate payment flows with Zod payload validation, platform resolution, persistent authentication, analytics, Sentry error reporting, and E2E coverage. Engineered a FlutterAppService that mints short-lived auth tokens and routes users to platform-specific deep links or Flutter web auth URLs. Debug production issues by triaging Datadog logs and querying Snowflake event data.
- TypeScript
- SvelteKit
- Zod
- Dart
- Flutter
- WebdriverIO
- Datadog
- Snowflake
May 2023 — Jul 2025 Implemented Apple Pay end-to-end across a shared monorepo package and the browser layer, achieving 30% adoption on eligible devices. Designed a reference-counted LoadingService singleton with guaranteed cleanup, then retrofitted it app-wide. Built a Page lifecycle controller unifying SEO metadata, auth policies, A/B condition resolution, and analytics initialization across all marketing routes. Authored WebdriverIO + Mocha E2E suites covering 10 routes across 4 CI pipelines.
- JavaScript
- TypeScript
- Svelte
- SvelteKit
- SQL
- WebdriverIO
Jan 2021 — May 2023 Built React applications with component-level state management for contract client projects, collaborating with small teams to scope and deliver real software for paying clients. Developed fluency in HTML, CSS, and JavaScript through an intensive project-based program.
- JavaScript
- React
- Next.js
- Node.js
- HTML
- CSS
Jun 2020 — May 2023 Designed and deployed static websites and marketing-focused web experiences for small business clients, handling SEO fundamentals, deployment on Netlify and Vercel, and all aspects of client communication from discovery through delivery.
- HTML
- CSS
- JavaScript
- Netlify
- Vercel
Projects
Parent Center
Co-led the technical build of ABCmouse Parent Center — a SvelteKit parent hub for child progress, profiles, and account settings that runs on the web and inside the native app webview. Owned progress reporting, settings navigation, design-system components, store architecture, and automated test coverage.
Deployed: Spring 2026
- SvelteKit
- Svelte 5
- TypeScript
- Tailwind CSS
- Vitest
- Playwright
Loading...iOS Alternate Payment Flow
Built both the web and native sides of ABCmouse's iOS/Android alternate payment system — a SvelteKit inbound-gateway that validates deep-linked payloads from native apps (Zod schema, platform/referrer resolution, auth, product-hash translation) and a FlutterAppService that mints short-lived tokens and routes users back via platform-specific deep links or authenticated Flutter web URLs.
Deployed: Oct 2025
- SvelteKit
- Zod
- TypeScript
- Flutter
- Vitest
- WebdriverIO
Loading...Loading Service
Diagnosed and resolved a production bug where infinite loading screens and simultaneous overlay conflicts were degrading the user experience. Designed a reference-counted singleton with a
withLoading(fn)wrapper that guarantees start/stop pairing viafinally, then retrofitted it across async actions app-wide.Deployed: Apr 1, 2025
- JavaScript
- Svelte
- SvelteKit
- Singleton Pattern
Loading...Home Page Redesign
Led the technical implementation of ABCmouse.com's home page redesign, developing an optimized image service that reduced load times by 40%. Built a touch-enabled carousel with accessibility features, and architected a JSON configuration system using JSDoc Types. The project showcases effective AI collaboration through strategic prompt engineering and systematic development practices.
Deployed: June 20, 2025
- Svelte
- SvelteKit
- Tailwind CSS
- JSDoc Types