I’m a software engineer based in New York City focused on building and maintaining full-stack web applications, with strong experience across both frontend and backend systems. On the frontend, I work primarily with React and TypeScript to build complex, high-traffic user interfaces.
Experience
2024 — Now
2024 — Now
Seattle, Washington, United States
2020 — 2023
Seattle, Washington, United States
Lumber software startup for lumber buyers and sellers. Typescript React/Redux front end with Ruby on Rails backend.
• Implemented client side features in React / Redux with async operations handled via Redux Saga library.
• Implemented a rich text editor using Lexical
• Lobbied for, set up, and maintained Cypress integration tests to help with QA.
• Added backend features to support client requests via a JSON API. Controllers, routes, email templates all written in the RoR ecosystem. Wrote unit tests in RSpec.
• Implemented websockets via Rails ActionCable
• Tracked down and fixed N+1 queries with strict_loading and bullet.
• Lobbied for and added New Relic for performance monitoring. Used this to track down and improve the speed/size of some requests.
• Wrote a separate performance benchmarking script to measure performance improvements
• Investigated, but ultimately failed to execute a pet project to switch from Jbuilder to serializers. Wrote a working JSON serializer using Oj as part of this project.
Wrote and maintained a VSCode plugin to improve developer productivity that ran tests from the right-click-menu. It could run backend tests per-line or per-file and run or update snapshots for frontend tests.
2023 — 2023
2023 — 2023
Seattle, Washington, United States
Software prototype to help with an industry-specific problem, potentially saving many hours of manual data entry.
Built using the "T3" stack to move quickly and learn. The app is written in Typescript and uses a React front end with javascript backend (Next.js). It uses Prisma and tRPC to get typed API responses. Decided to go with MongoDB as it has Prisma support. Styling was handled easily for this small project using Tailwind.
Supported bulk image uploading directly from the client to S3 using pre-signed URLs. Image analysis is done via Azure's OCR (Cognitive Services). Parsing and analysis of OCR text is done via Open AI's Chat GPT API.
Auto-deploy via Vercel
2019 — 2020
2019 — 2020
San Diego County, California, United States
Responsible for design, implementation, deployment, and maintenance of React web applications, C# desktop applications, and Java/Python based backend services. Worked closely with biologists, physicists, chemists and commercialization subject matter experts to develop data collection and management software.
Built a full-stack app for data handling and analysis. Implemented React/Redux frontend supporting direct client-to-S3 upload for large files using pre-signed URLs. Chose the Plotly graphing library for its responsive and interactive handling of large data sets. Designed, coded and deployed the backend data handling Python/Flask server and deployed/maintained a central Java/Tomcat API. Integrated both servers with an AWS RDS database.
Created CI/CD pipelines from scratch with one-click deploy for Java and Python services and frontend static files. Following IaC principles, migrated all AWS resources and pipelines to CloudFormation templates using Troposhpere, resulting in increased developer productivity and environment stability.
Saved 2+ months by proposing an MVP solution that was adopted and code complete within 2 weeks, enabling scientists to take data ASAP. Later, successfully owned design and implementation of version 2, a C# desktop app using Winforms UI and MySQL database. Gathered requirements, defined MVP, created the entire UI and improved UX through user testing. Modeled tables and relationships using Entity Framework ORM.
2019 — 2019
2019 — 2019
Seattle, WA
Created new headless web scraper using Puppeteer, and integrated with Ruby backend.
Education
University of Washington
B.S., Mechanical Engineering
2006 — 2010