Blike - Modern Data Platform
Background
Blike provides a cycle-to-work and subscription scheme to lease/purchase e-bikes in the UK.
Problem
- Loan management: business users would like to generate and manage loans and their respective schedules automatically with integration to their payment provider (GoCardless).
- Business reporting: Business users would like to understand operational and financial data.
- Stakeholder reporting: Stakeholders and investors would like to keep track of Blike’s performance by pulling financial and operational data from REST API endpoints.
Solution
Data platform
- Performed data integration using Fivetran with hourly sync schedules. Where connectors are not supported, I built custom AWS Lambda connectors. Integrated the following sources: Airtable, Credit Safe, GoCardless, Xero, Bank API (cannot disclose our bank), Intercom.
- Landed the data (base tables) into a PostgreSQL database hosted on AWS RDS.
- Performed dbt SQL transformations with snapshotting on base tables. Materialized data into a serving schema. dbt triggered via Fivetran using integrated scheduling.
- Created REST API endpoints using FastAPI with OAuth 2.0 for investor and third party reporting integration. Hosted APIs on AWS Lambda for cost efficiency and serverless compute.
- Created Power BI Reports and App for management and investor reporting.
- GitHub Actions for CI/CD of all infrastructure and application code.
- Terraform for all infrastructure as code and application configuration using the following providers: AWS, Fivetran.
Loan management app
- Built a Python API using FastAPI and OAuth 2.0 which writes data to an Airtable table. Hosted APIs on AWS Lambda for cost efficiency and serverless compute.
- Built a Bootstrap and Flask python frontend user interface for users to generate loan and loan schedules. Hosted UI on AWS Elastic Beanstalk.
- Reconciled payments to loan schedules in real-time using webhooks from GoCardless.
Outcome
- Secured funding from investors as a result of API and Power BI reporting.
- CFO is able to automate generation and reconciliation of loan schedules, payments and bank transaction cash flows.
- Management team is able to understand operational and financial performance of the business.