I've delivered React and TypeScript-led frontend work across agencies, startups, enterprise and fintech companies in Italy, the Czech Republic, the UK and Japan, building the backend systems and API integrations behind that work along the way.

This portfolio highlights selected work from agency and in-house teams: banking data products, financial dashboards, campaign platforms and high-traffic web work.

Moneytree Personal Finance Management App

2024–present

Moneytree, Tokyo

Moneytree's consumer app pulls a user's banking data into one place on iOS and Android, giving them a single view across accounts and institutions.

I set up the React Native codebase from scratch: architecture, network layer, and testing with Jest and React Native Testing Library. I built and migrated several screens, including new features with forms, data visualisation and backend integrations. Also contributed to backend API services and AWS infrastructure, including a data residency migration, receipt upload, report generation, Stripe payment integrations and notification delivery. Built backend tooling and dashboards for the engineering and marketing teams.

TypeScript API Integration React Native AWS Infrastructure Stripe Payments Design System Visit site →
Moneytree app onboarding screen introducing account aggregation
Moneytree app unusual transaction detail screen flagging a large Suica charge
Moneytree app retirement profile form, step 1 of 3, collecting birth year, gender and location
Moneytree app Retirement Readiness result screen showing an on-track "A" grade

Soundraw AI

2023–2024

Soundraw, Tokyo

A generative-AI music platform where creators generate and shape royalty-free tracks for their own projects.

I built and maintained features across the web app in Vue.js and vanilla JavaScript, integrated Stripe for billing, and built the APIs consumed by the Ruby on Rails backend.

Vue.js Tailwind CSS Stripe Ruby on Rails API Generative AI Product Visit site →
Soundraw AI track generation view with genre tags and the instrument mixer
Soundraw AI mobile view of generated hip hop tracks
Soundraw AI mobile mixer view for a generated track
Soundraw AI account screen showing usage stats
Soundraw AI account screen showing usage stats

Moneytree Business

2022–2023

Moneytree, Tokyo

A financial operations platform for SMEs, turning banking data into views for cash flow, spending and daily decisions.

I built the first MVP with one engineer, shaped the core journeys and integrated the Moneytree APIs behind it.

React TypeScript LINK Platform API JavaScript SDK SME Financial Dashboard B2B and B2C Visit site →
Moneytree Business SME dashboard overview
Moneytree Business dashboard metrics view
Moneytree Business account and transaction details
Moneytree Business cash flow and performance screen

Checkout.com Dashboard

2020–2022

Checkout.com, London

The web platform businesses use to manage their payments and financial data through Checkout.com.

I joined the core team early, when the micro-frontend was a released MVP for a handful of clients, and helped set the foundations other teams built on, splitting new features into micro-services they went on to own. I also worked with QA to bring in E2E and snapshot testing, partnered with product on sprint-based delivery, and mentored junior engineers joining the team.

TypeScript React Micro-frontend Architecture Payments Fintech Dashboard

Checkout.com's NDA covers the dashboard UI, so I can't share screenshots of it here.

Moneytree LINK Kit

2018–2020

Moneytree, Tokyo

I led the rebrand and rebuild of Issho Tsucho into LINK Kit, an embeddable platform partner banks use for white-labeled account aggregation, spending and rewards.

I covered architecture, UX direction, and hands-on React and TypeScript implementation through launch.

React TypeScript Financial Data Platform White-label / Embeddable SDK Product Rebrand
Moneytree LINK Kit screenshot
Moneytree LINK Kit screenshot
Moneytree LINK Kit screenshot
Moneytree LINK Kit screenshot

Moneytree Vault

2018

Moneytree, Tokyo

My first project at Moneytree: a web product for onboarding users, connecting financial institutions and sharing account data securely.

I delivered the product end to end, from onboarding and institution connection journeys to secure consent and data-sharing paths.

React TypeScript Financial Data Onboarding Institution Connection Product Delivery
Moneytree Vault feature matrix and workflow screen
Moneytree Vault credentials and account selection flow
Moneytree Vault institution connection screen
Moneytree Vault connection settings and consent flow

Teal

2017–2018

Draw Group / Oliver Wyman Digital, London

A secret Natwest prototype built to show what a next-generation banking app could look like: new customers could sign up, pass real-time identity verification and open an account, then view transactions, manage accounts and move money between them, all against a sandboxed instance of the bank's own systems. It later resurfaced publicly as Bó, the digital bank NatWest Group launched in 2019.

I built the React Native app and its Node.js backend as a freelancer from October 2017 to March 2018 with Draw Group, now part of Oliver Wyman Digital.

React Native Node.js Mobile Banking Identity Verification Natwest
Teal mobile banking app onboarding screen
Bank account overview screen from the Teal mobile banking app
Teal mobile app showing customer account details
Teal mobile app charts and insight visuals

Earlier work

Agency and campaign projects from 2017 and earlier, on older stacks, kept here as history.

Google Cultural Institute

2017

Google Inc. / Toaster Ltd., London

A campaign site for Google Cultural Institute that made art, history and world heritage collections easier to explore online.

I built the consumer interface with a focus on speed and accessible browsing across large collections.

Closure Compiler JavaScript SCSS Visit site →
Google Cultural Institute screenshot
Google Cultural Institute screenshot Google Cultural Institute screenshot

NextEV Formula E

2017

NextEV / Interstate Creative Partners, London

A set of real-time dashboards and data visualizations for NextEV's Formula E team, built for fast reading during races.

I led frontend delivery: the React application and D3 visualizations the team used live.

React TypeScript D3 Node.js
NextEV Formula E screenshot
NextEV Formula E screenshot NextEV Formula E screenshot NextEV Formula E screenshot

Google Making and Science

2017

Google Inc. / Toaster Ltd., London

An educational Google site that taught people how to build everyday projects, localized into more than 40 languages.

Polymer Web Components JavaScript SVG Animations SCSS Visit site →
Google Making and Science screenshot
Google Making and Science screenshot Google Making and Science screenshot Google Making and Science screenshot

Google Play Town Korea

2016

Google Inc. / Toaster Ltd., London

A showcase site for game developers on Google Play. I shipped two mini-games, carousel modules, rewards pages and animation work.

Polymer JavaScript SVG Animations SCSS
Google Play Town Korea screenshot
Google Play Town Korea screenshot Google Play Town Korea screenshot

Google Play Town Taiwan

2016

Google Inc. / Toaster Ltd., London

Google Play Town Taiwan adapted the same showcase concept for a different market, with localized games and content.

Polymer JavaScript SCSS Visit site →
Google Play Town Taiwan screenshot

Accelerated Mobile Pages

2016

Accelerated Mobile Pages for Google / Toaster Ltd., London

An open-source AMP project site. The pitch: write mobile content once, have it load fast everywhere.

I built the marketing site that introduced the framework to publishers and product teams.

AMP HTML5 SCSS Visit site →
Accelerated Mobile Pages screenshot

Google Play Policy

2016

Google / Toaster Ltd., London

A Google Play policy site that made publishing rules easier for developers to find and follow.

JavaScript Google Closure Material Design Lite HTML5 Visit site →
Google Play Policy screenshot
Google Play Policy screenshot

Bold is Beautiful - Benefit Cosmetics

2015

Benefit Cosmetics / 1000heads, London

A responsive campaign site for Bold is Beautiful, supporting charity fundraising and brand storytelling for Refuge and Look Good Feel Better.

Node.js Express CoffeeScript JustGiving API SVG Animations
Bold is Beautiful - Benefit Cosmetics screenshot

Roller Lash - Benefit Cosmetics

2015

Benefit Cosmetics / 1000heads, London

A responsive campaign site for Benefit Cosmetics that aggregated Twitter and Instagram content to launch a new mascara product.

I built the feed by pulling #rollerlash posts through the Twitter and Instagram APIs and preloading images to keep the infinite scroll fast.

Node.js Express JavaScript jQuery
Roller Lash - Benefit Cosmetics screenshot

Lisa Potter-Dixon

2015

Benefit Cosmetics / 1000heads, London

A responsive portfolio site for Lisa Potter-Dixon, styled around the imagery in each editorial and make-up post.

I sampled each image's dominant color in JavaScript to drive the caption styling, and preloaded the remaining posts to cut load time.

WordPress JavaScript jQuery Visit site →
Lisa Potter-Dixon screenshot

Liz Earle - Botanical Christmas

2014

Liz Earle / 1000heads, London

A Christmas campaign for Liz Earle: digital cards to send, plus Botanicals in the Snow, where users picked a flower and sent it through Facebook with an animated reveal.

I built the campaign, from the Open Graph friend picker and sharing flow to the eight CSS-sprite flower animations.

Node.js Express Facebook API TweenMax jQuery Visit site →
Liz Earle - Botanical Christmas screenshot

Benefit Cosmetics - They're Real Eyeliner

2014

Benefit Cosmetics / 1000heads, London

An interactive microsite for They're Real Eyeliner: users took a webcam photo, then solved five make-up themed clues to escape.

I built the microsite, including the webcam capture and the five-clue puzzle progression.

Node.js Express CoffeeScript Canvas Facebook API
Benefit Cosmetics - They're Real Eyeliner screenshot

Currys PC World - TV Size Finder App

2014

Currys PC World / 1000heads, London

A mobile app for iOS and Android that helped shoppers pick the right TV size by previewing models through the camera.

I delivered the AR sizing app end to end, from the camera preview to the sizing logic.

Cordova/PhoneGap JavaScript Backbone.js Augmented Reality (Wikitude)
Currys PC World - TV Size Finder App screenshot

Easy Does It Game

2014

Benefit Cosmetics / 1000heads, London

A balancing game for iOS, Android and Windows Phone, plus a responsive web hub for promotion and browser play.

I shipped the game and the responsive promotional hub around it.

Cordova/PhoneGap JavaScript Node.js Express Facebook & Twitter API
Easy Does It Game screenshot

COMICS

2002–2005

Xidiar / Personal Project, Italy

A Mac OS X app I built as a teenager, my first years in the industry, helping collectors catalog and organize comic books with issue data and covers pulled from comics.org.

Built in Objective-C with Cocoa, with a PHP backend and PayPal for a one-time lifetime unlock.

Objective-C Cocoa Mac OS X PHP PayPal Web Scraping Visit archive page →
COMICS Mac OS X app library and collection overview
COMICS app issue details and metadata view
COMICS app catalog browsing and organization screen