Frontend Platform Engineer
I build the layer product teams ship on: routing, component systems, build tooling. That's where one person's work compounds across every team. The standard I hold it to is structurally sound and genuinely good to use.
My Work
-
JupiterOne Snapshot Series Authored the RFC after diagnosing that three platform machines had been writing daily J1QL result rows to S3 for up to 8 years with no read layer. Designed the full pipeline: capture via existing query-service machinery, transcode to Parquet via DuckDB on EKS, rollup aggregation, and a report reader serving 32 query templates, enabling 90-day trend queries and executive dashboards on historical graph data for the first time.
-
Platform Rebuild Architected the migration from 36 independent micro-frontends to a single Vite monorepo with TanStack Router, outlet-composed routing, and a shared primitive layer. Shipped a URL-as-source-of-truth navigation system and a universal inspector available from every surface in the product, so every traversal shareable as a link. Live April 2026; all product teams migrating onto it. View release notes
-
Schema Explorer Visual J1QL query builder that removes the prerequisite of schema knowledge: users navigate their account's entity-class taxonomy as a focused subgraph, click classes to assemble traversal chains, and get J1QL generated live. The ordered path is the single source of truth; chain state, filters, and selection are URL-serialized so every partially-built query is shareable and refresh-safe.
-
Graph Canvas In-house replacement for a commercial graph visualization library (est. $75k/year licensing), built with React Flow and elkjs. Designed every behavioral layer to encode recoverable paths: entity-class packing for spatial memory, node dimming to preserve context, and a push-pop inspector stack so traversal never orphans the user. No states that require a modal escape or dead-end back button. View release notes
-
AI Platform Founded from a blank file in October 2025. SSE streaming architecture with real-time token rendering, J1QL generation agent, LLM-as-judge eval pipeline, Bedrock multi-region routing, and a vector embedding cache for natural language querying. The eval harness established the quality bar all subsequent AI features ship against.
-
SearchAnywhere Built across three major versions over two years, each shaped by what the previous taught about how security engineers actually search: from a unified query entry point, to persistent history and a resizable preview drawer, to full AI integration with multiple query candidates. GA org-wide announcement March 2025. View blog post
-
Design System Sole owner for three years. Token architecture, MUI 5 migration across 30+ repos, component API design with composable slots, WCAG 2.1 AA compliance, and FedRAMP eligibility work. Enabled government contract acquisition. Replaced a $5k/month hosted visual-testing bill with self-hosted Storybook and Vitest interaction tests.
Patterns
Routing & navigation
Data & state
UI system
Delivery & DX
Snippets & explorations
Writing
- Connecting The useFilterManager Hook to FilterConfig with Query ParsingWiring up the FilterManager to a Filter config for modular, well-tested, scalable UI
- Building Config-Driven Rendering for a Data Explorer with FilteringA walkthrough of how we use a config-driven system to define filter behavior across different data explorer views Covers dynamic SQL-backed filters, input types, and rendering logic—all declaratively mapped and easy to scale
- Designing an Encapsulated Filter State Manager for Query BuildingDesigning a predictable, composable filter state manager for query-building UIs. Covers API encapsulation, deduplication, and SQL query generation using React hooks.
- Building a Scalable Architecture Pattern to Migrate Off Supabase and Ship QuicklyHow I layered our Supabase app to stay modular, testable, and ready to scale
- Cleaning Up Routing with Type Safety in ReactA lightweight approach to centralizing and type-checking route definitions using React Router and TypeScript.
- Managing View State and Client-side Routing in SPAsA scalable routing approach to address routing challenges and illustrates a common pattern involving a collection rendering and routing in React.