Bud
Frontend Tech Lead2022 - Present
Bud is an open banking startup specialising in transaction analysis and hyper-personalised customer experiences. I was brought in to lead the frontend team and my role involved driving technical improvement, enhancing design alignment, and reducing technical debt to scale the products effectively.
I spearheaded the adoption of Cloudflare Workers and Remix (React Router 7), which enabled an efficient and modern frontend workflow - at the same time as creating a seamless migration path from our existing custom framework. I initiated and implemented a company-wide Global Design System (GDS), aiding design consistency, reducing the overhead of WCAG 2.1 (AA) accessible development and enabled client customisable user experiences.
Global Design System (GDS)
The Global Design System (GDS) was a ground up re-invention of how products were delivered at Bud. Whilst some design system efforts were made in the past - it wasnât joined up with design (or even engineering) particularly well - leading to miscommunication and long lead times on new frontend work.
The GDS was delivered as a scalable, company-wide design system in collaboration with design, marketing and engineering - ensuring buy-in from all parties. With the new design system, weâve managed to deliver a unified user experience across all of Budâs applications, that also meets our WCAG 2.1 (AA) compliance standards.
The GDS was also built with customisability at its core - which has enabled clients to integrate our content seamlessly alongside their own.
Technologies
- Changesets
- Chromatic
- Radix
- React
- Storybook
- Tailwind
- Turborepo
Frontend consolidation
Shortly after joining Bud, I began work on creating a migration process away from the custom isomorphic React runtime that was built in house (Node, Express, Styled Components, Enzyme, and a heavily customised variant of React Router).
After weighing up the options - we collectively decided on Remix (React Router 7) and Cloudflare Workers/Pages. By using Cloudflare Pages, we were able to deploy to production - globally - in minutes. Deployments became smaller, more frequent - and without fanfare.
We heavily utilised preview deployments - which significantly shortened our feedback process and enabled us to run E2Eâs on demand against all new code.
Technologies
- Cloudflare Workers/Pages
- Cypress
- React Testing Library
- Remix/React Router 7
- Sentry
- Vitest
Drive
Bud provides detailed insights into individual transactions, like spending categories, merchants, locations, and frequency. However, for a broader understanding of customer behaviour, Drive offers customisable dashboards that analsze customer trends, track spending and savings, and integrate with CRM systems like PEGA. Clients can segment customers, monitor campaigns, and view real-time results.
Technologies
- Auth0
- Cypress
- Gemini
- Highcharts
- LLM
- Looker
- Playwright
- Remix/React Router 7
- Vitest
Jas
Jas is a a customer-facing financial assistant that leverages Driveâs custom LLM to provide personalised insights on transaction history, financial health, and actionable advice for better money management.
Engage
Engage is a suite of customisable infographics and widgets that clients could embed on their platforms to deliver personalised financial insights to their customers.
Ki
Lead Frontend Engineer2021 - 2022
Ki is an early-stage startup focused on improving efficiency in the Lloydâs of London insurance market through algorithmic underwriting. Founded in 2020 as a spin-off from Brit, Ki initially collaborated with development partners at Google and UCL before bringing engineering in-house in 2021.
As one of the first engineering hires, I helped scale the team to around 30 members. In its first year, Ki wrote ÂŁ400 million in premiums, doubling to ÂŁ800 million in the second yearâunprecedented growth within the Lloydâs market.
ki-insurance.com
I joined Ki a week after its launch, as the Google team was transitioning off the project. My initial focus was documenting their work and âproductionisingâ the frontend.
As we expanded Kiâs offerings, we added new âclasses of business,â growing from 4 to 20 over two years. This required close collaboration across engineering, data science, product, and actuarial teams.
Kiâs success has been driven by a company-wide focus on user centricity. I regularly participated in user interviews and worked closely with the underwriting team to ensure engineering understood both the product requirements and the underlying user needs.
As the company scaled, I took on the responsibility of running a squad focused on the next generation of Ki. We collaborated with design and UX teams to implement a company-wide design system.
Additionally, I helped lead a seamless auth migration from Firebase to Auth0 (enabling 2FA for our clients) and developed a Retool application to address complex underwriting challenges.
Technologies
- Jest
- Kotlin
- React
- React Testing Library
- Redux
- TypeScript
IBM
Fullstack Developer â Squad Lead2018 - 2021
In addition to being an IC, I led regional campaigns at IBM, promoting design thinking and user-centric development practices. I also contributed to the hiring process, helping grow the team from 20 to 60, personally hiring 20 individuals and playing a key role in shaping IBMâs culture.
At IBM, I worked within an agile, cross-functional team focused on delivering products for business partners. The London office revitalised strategically important but underappreciated applications, applying a design-led approach in close collaboration with a team of researchers, designers, and a behavioural scientist.
After extensive training, I became an XP trainer and was responsible for guiding squads in adopting Extreme Programming practices.
My Sales Activity (MySA)
MySA is a web app that allows IBMâs business partners to apply for sales opportunities. The inherited application was a large, confusing Angular.js monolith with unclear direction, handling ~$11B (around 15% of IBMâs annual revenue).
As the first external hire for the new MySA team, I played a key role in transitioning the application to London, then leading the complete re-invention of the product. We began by assessing the business case and working through the existing monolith, while adopting a design-led approach to reimagine the product. We then broke out smaller features, rewriting them in React and using IBMâs Carbon Design System.
This redesign was a significant but rewarding challenge in sustainable, responsible system re-engineering. We delivered a new user experience that preserved continuity, simplified complex processes, and addressed key user pain points, particularly around jargon and usability issues common in IBM systems.
Technologies
- Angular.js
- Cypress
- Node.js
- React
- React Testing Library
MySA i*
After rebuilding the MySA application, our next challenge was addressing its unreliable dependency, MySA i*. Downtime in MySA i* directly impacted MySAâs performance, making its reliability critical for a seamless user experience.
We formed a dedicated squad within the MySA tribe to manage the migration and knowledge transfer. I led this team to successfully relocate the application to London, using a similar approach to the original MySA transition.
Technologies
- Docker
- Java
- Jenkins
- Selenium
- Travis
XP Farm
After serving as a squad lead, I developed a strong interest in team dynamics and optimising performance. We gradually began adopting XP practices, and I took on a teaching role to deepen my understanding and help advise both the squad and the wider domain. I underwent extensive training in software craftsmanship, with a focus on Domain-Driven Design (DDD) and the core values, principles, and practices of Extreme Programming.
Status Page
To address business partnersâ concerns that âIBMâs applications are never available,â we developed âStatus Pageâ to transparently monitor application uptime, alert development teams to issues, and improve IBMâs relationship with its partners.
Rather than simply pinging servers, each application onboarded to the Status Page implemented end-to-end Selenium tests for its critical paths. We built a web dashboard and test runner to manage and display those test results.
Technologies
- GraphQL
- Kubernetes
- Node.js
- React
- Selenium
- TypeScript
- Web Sockets
Edelman Deportivo
Technical Developer â Data Engineer2016 - 2018
At Edelman Deportivo, I led successful and award-winning PR campaigns for clients such as General Electric, Microsoft, LEGO, Nissan, and HP.
After about a year at Edelman, I relocated London with the company - primarily to work on reinventing their internal processes through software enablement.
One of my focus areas was in âEdelmanâs Predictive Intelligence Centreâ (Epic) leveraging natural language processing (NLP) to perform semantic and topic relevance analysis, which alongside psychological models (like the Big5) - painted a holistic picture of a brandâs audience.
With the AiMEE insights engine and Apex - EPIC created data driven content experiences, marketing campaigns and communications that could authentically engage their audiences.
Ralph, the Lego chatbot
Ralph, a custom-built chatbot that offered personalised LEGO gift suggestions based on user interests. Ralph reached 2.69 million people, generating 1.2 million post engagements and an engagement rate exceeding 45%. Ralph had 50,000 conversations, drove 25% of all in-season online sales, and delivered a 6x return on ad spend in key markets.
AiMEE and Edelman Apex
I developed a tool for Edelmanâs Influencer team (Epic) to evaluate and select influencers for PR campaigns based on social media content. Using IBM Watson, Google NLP, a custom built surveying application and SMMRY, the tool performed semantic analysis to support data-driven influencer decisions.
Technologies
- D3.js
- IBM Watson
- MongoDB
- Puppeteer
- SMMRY
- Twitter API
- TypeScript
- Vue
Shell global driving experiment
I led a 12-market, multi-language research project focused on driver analytics and behaviour. We used route tracking, a Facebook chatbot, and an emotion-monitoring band to analyse driver behaviour and mood.
Technologies
- MySQL
- Node.js
- TypeScript
Edelman Beta
Edelman Beta, an innovative application designed to refresh the firmâs graduate scheme. I helped create a digital easter egg hunt with carefully crafted clues, making the recruitment experience unique. Edelman Beta was nominated for a 2017 Cannes Award for Integrated Marketing.
HP Omen Challenge
I developed a live eSports scoreboard connected to a custom âPlayer Unknown: Battlegroundsâ API, tracking kills and exchanging real money in real time at Gamescom 2018 in Cologne. The scoreboard was broadcast to live commentators and 3.2 million viewers on Twitch, and is now used for all HP Omen eSports events.
Technologies
- MongoDB
- Node.js
- TypeScript
- WebSockets
gepower.com and fieldcore.com
A 3,000-page content migration and merger of three GE websites into a new central hub, alongside a complete navigation overhaul. The project also included overseeing a GE-wide upgrade from AEM version 5.6 to 6.3, impacting approximately 50 sites, and a highly confidential project with a short turn-around for the announcement of a new GE partnership.
Technologies
- AEM
- AWS
- JSP
University of Bedfordshire
Student2013 - 2016
I studied Computer Science and Software Engineering BSc (Hons) at the University of Bedfordshire and finished my studies with a 1:1 degree classification (First).
Dissertation
I researched the potential of VR systems in treating amblyopia (a common eye condition), analysing limitations of existing treatments. Using Unity and an Oculus Rift, I emulated peer-reviewed therapies and explored VR headsets as an affordable alternative treatment option.
Technologies
- C#
- Unity
Bright ai
App Developer2012 - 2013
I worked within a small development team to create Android and iOS apps in the heart of Brightonâs startup scene.
My Secret Folder
My Secret Folder was an iOS app designed for secure, encrypted file storage with password protection. If an unauthorised access attempt occurred, the app captured a selfie of the intruder and sent their location to the ownerâs email. After launch, I focused on white-labeling the product.