LendHub — property development lending
Borrower, investor and admin portals for a UK lending platform: KYC, data room, decision in principle, heads of terms.
Background
LendHub connects property developers with lenders. Borrowers walk through a multi-step journey: project details, professional details, KYC, a data room for documents, then a decision in principle and heads of terms. Investors and admins have their own portals.
The problem
Three user types, one GraphQL API, and a regulated onboarding flow where every step has validation rules the client kept refining. The frontend had to stay in lock-step with a schema owned by a UK team in a different timezone.
Approach
- Generate GraphQL types and hooks from the backend schema so a schema change surfaces as a type error the same morning.
- Role-based portals on Auth0. Solicitor selection flow, decision-in-principle layout and professional-details forms with Formik and Yup.
- Document upload to S3 via presigned URLs. Storybook for the component library. Sentry on client, edge and server.
- Backend contributions: quick-offer loan queries, loan config editing and role checks on Apollo Server over Lambda with Sequelize and Thirdfort KYC sandbox.
Architecture
lendhub-websiteNext.js App Router portals. Co-lead.
lendhub-backendServerless Apollo + Sequelize on MySQL. Contributor.
Outcome
- Borrower journey through to heads of terms delivered in a three-month engagement with a distributed team of four.