React
A JavaScript library for building component-based user interfaces with a declarative rendering model.
Related Work
- Now
Senior Software Engineer
at CLEAR
On web platform team, working on the next generation of web experience for CLEAR members.
-
Frontend Engineer II
Worked on the AWS Secrets Manager team, building out the AWS Secrets Manager console.
-
Senior Software Engineer
at Hired
Primarily worked on the candidate experience team, building out the candidate experience side on Hired marketplace.
-
Software Engineer
at WinIt
Rebuilt the web app, backend, and services that helps users fight their tickets.
Related Projects
- In progress
A self-hostable URL shortener that runs entirely on Cloudflare Workers, with an admin UI, a headless JSON API, role-based access, configurable redirect codes, passkey-first authentication, and optional API keys for automated access. Architecture is a single Workers deploy: Elysia handles redirects and the admin JSON API; TanStack Start powers the admin SPA with Eden providing type-safe client calls; Better Auth manages passkeys, API keys, and invite-only user provisioning; Drizzle ORM persists state to Cloudflare D1; the UI is built with Tailwind CSS v4, Radix, and shadcn. Key tech: Cloudflare Workers, Cloudflare D1, TanStack Start, Elysia, Better Auth, Drizzle ORM, TypeScript, React, Tailwind CSS v4, Vite, Wrangler, Biome, Vitest.
-
A Bun-powered fullstack monorepo boilerplate pairing a Hono API with a Vite-built React 19 SPA, with DevContainer and Docker Compose configs for both dev and prod. Architecture uses Bun workspaces split into apps/ (frontend and backend services) and packages/ (shared code), with Pino structured logging on the server, shadcn + Tailwind CSS 4 on the client, Biome for lint/format, Storybook for component development, and Vitest + Playwright for unit and browser testing. Companion docs site lives at
-
A personal Turborepo starter template for spinning up fullstack TypeScript apps, derived from Vercel's kitchen-sink example and extended with a tRPC client + Next.js app-directory setup. Architecture is a pnpm + Turbo monorepo: apps/ contains a Next.js main-app (with the tRPC server colocated in its route handlers), a standalone trpc-api package, and a Docusaurus doc-site; packages/ contains shared internal libraries for auth, logger, UI components, ESLint/Jest config, and tsconfigs. MSW is preconfigured for tRPC mocking in tests, with a GitHub Actions lint/test/build workflow and a render.yaml for Render deploys. Key tech: TypeScript, Turborepo, pnpm, Next.js, tRPC, React, Docusaurus, Jest, MSW, ESLint, Prettier.
-
A statically generated Gatsby portfolio site built in 2020, pulling its content from local MDX files (blog posts, projects, work experience) and live GitHub commit data from the GitHub GraphQL API at build time, then rendering a custom commit-history visualization with d3-scale. Architecture splits content from presentation: MDX + remark pipelines transform markdown to pages, Emotion and Theme UI handle styling, react-hook-form + yup + hCaptcha drive a spam-resistant contact form, and Netlify CMS provides editor authoring. The form/API backend is a separate TypeScript Serverless project; the site itself is deployed on Netlify. Key tech: Gatsby, TypeScript, React, MDX, Emotion, Theme UI, Netlify CMS, GitHub GraphQL API, d3-scale, react-hook-form, Netlify.
-
The first iteration of a personal portfolio site from 2018, bootstrapped with Create React App and built around animated SVG transitions to give each section a distinctive feel. Architecture is a client-side React SPA with react-router for navigation, react-move + flubber + d3-ease for SVG path morphing and timeline-driven animations, web-animations-js polyfilling the WAAPI, marked for in-page markdown rendering, and react-ga for Google Analytics. Key tech: React, Create React App, react-router, react-move, flubber, d3-ease, web-animations-js, marked, react-ga.