Software Engineer specializing in building scalable JavaScript applications from end-to-end, designing modularized, frontend structures in React and developing RESTful APIs with Node.js & Express. Recent talks include πΊππ‘π‘πππ π»πππππ ππ π ππππ‘ π»ππππ for SingleSprout's Speaker Series.
2025 β Now
2023 β 2025
2021 β 2023
Worked as part of a Series A fintech startup in the embedded payroll space to develop the features needed for empowering companies to build their own unique payroll service.
Collaborated with the design team to create a reusable component system that was functionally and visually consistent which not only made the application more intuitive for the users, but also significantly standardized the frontend codebase and sped up the development of new UI features.
Refactored how the application handled the server state from utilizing Context API to React Query in order to effectively cache data and invalidate queries while removing the need for a complex client state management to handle the risk of stale data.
Restructured the monolithic frontend into micro frontends that are formed around customer needs and had the responsibility for the end-to-end development of one of the applicationβs key payroll features.
Tested components using Jest with React Testing Library by not only utilizing the snapshots of the UI components to validate intentional changes, but by also mocking API calls to create unit tests that verifies how the component will react to the gathered data.
Developed RESTful API endpoints with the appropriate Express middleware to validate the payload and created the dynamic schemas to define the structure of the documents in the MongoDB collections.
Utilized FullStory to review the user sessions and monitored the logs through New Relic & Mezmo to not only resolve bugs addressed by customers in support tickets, but to also find opportunities to address user pain points.
Developed on a Chrome dev tool that captures the state of components with every render on applications that utilize Facebookβs state management library, Recoil.js, allowing developers to log state changes and time travel to previous states.
Updated the Recoilize NPM package to first serialize incoming server data and then deserialize the input before dispatching to the Window, providing developers the added ability to integrate Recoilize with applications that employ server-side rendering such as Next.js.
Utilized Reactβs reconciliation algorithm and reusable component architecture to build a modular, frontend structure that prevents unnecessary re-rendering of unchanged components, maximizing the applicationβs functionality and performance.
Re-engineered the applicationβs state management from using Context API and React Hooks to utilizing Redux Toolkit in order to not only optimize the performance of the growing application with its multiple, complex states updating frequently, but to also eliminate throttling issues.
Integrated Typescript to not only incorporate static typing for catching errors during compilation, but to also expose APIs with typed interfaces, helping developers navigate through the codebase.
Optimized D3.jsβs visualization of the hierarchical data through an interactive, node-link diagram with drag, zoom, and tooltip functionality on hover over each node to provide information on which Recoil atoms and selectors each React component are subscribed to.
Product developed under tech accelerator OS Labs (opensourcelabs.io) and is available on GitHub and as an NPM package.
2020 β 2021
TIME | Map-Based Travel Itinerary Planner To Visualize the Journey on a Single, Simple Map View
Utilized React Router to create dynamic, client-side routing that conditionally renders appropriate navigational components, minimizing server requests and creating a more seamless user experience.
Implemented React Hooks to create stateful functional components with useEffect in order to manage dynamic state and the re-rendering of components while minimizing the need for verbose code.
Developed a Node.js server leveraging the Express.js framework to concurrently handle HTTP requests through multiple RESTful API endpoints, enabling dynamic routers and custom middleware to access the SQL database based on user interaction.
Architected a SQL database with strict schemas to have ACID-compliant, relational data stored, allowing quick, accurate queries while preventing data redundancy and reinforcing data consistency in an application that enables concurrent connections from multiple users.
Employed Passport.js to not only implement session-based authentication with a SQL database that validates the userβs identity before allowing the server to make authorized requests to access user-specific data, but also to establish a persistent login session via a cookie set in the userβs browser to allow easier accessibility to the application.
Education
2010 β 2015
UC San Diego
Bachelor of Science - BS
2010 β 2015