Door Ventures
Senior Full-Stack EngineerApr 2023 — PresentDoor APM is a due-diligence platform used by asset managers and fund investors. I work across the UI, the API, the database and the component library, and I am the top committer on all of them.
- Orchestrated the transition from version 2 to version 3 of the platform, on both the manager and investor sides. These were complete application rewrites.
- I make the design and UX decisions for the platform — the design system, the colour and status vocabulary, the interaction patterns, and the accessibility standard we hold it to.
- Created DoorFrame, our in-house component library, using Vite and styled-components with theme tokens so that theming stays consistent across platform versions.
- Rewrote doornetworks.com, the company’s marketing site, from the ground up — every commit in that repository is mine. Next.js 15 on AWS Amplify Gen 2 with Cognito and SES, and a custom admin CMS the team publishes through.
- Rewrote our end-to-end testing from Cypress to Playwright. I wrote the original Cypress suite on the previous UI, then rebuilt it on Playwright for the new platform — 746 tests, none failing and none skipped — with fixture ownership, parallel safety and runs against deployed environments.
- Component tests for DoorFrame with React Testing Library and Jest, so the library is covered at the component level as well as end to end.
- Took the reins on integrating AI into the platform, particularly automating report generation from client questionnaires, bridging OpenAI and AWS Bedrock.
- Rebuilt the review page on a streamed questionnaire, with optimistic saving, answer provenance and compare-to-previous. It is the busiest page in the product.
- Moved the admin organisation lists to page, sort and export server-side, added lazy pickers, and keyed the query caches by user rather than bearer token.
- Built the Support Console and Outbox, so we can see every email the system sends, its delivery status from SES, and which contacts have bounced.
- Work across our Lambda services and Step Functions — the SES event ingest and bounce handling, the notification dispatch and digest jobs, the document parser, and the state machines behind request processing and offline completion.
- Wrote custom components to replace third-party packages we were paying for, for example HandsonTable → EdiTable.
- Maintain classic Door alongside the new platform — the original Java and Gradle codebase, with around 975 commits of mine in it.
- Stepped into a mentorship role, guiding junior members of the team through both front-end and back-end work.
- React 19
- Next.js 15
- TypeScript
- styled-components
- TanStack Query
- Playwright
- Cypress
- React Testing Library
- PostHog
- Python
- FastAPI
- SQLAlchemy
- PostgreSQL
- AWS Lambda
- Step Functions
- SES
- Terraform
- Bedrock
- Java
- Gradle