I build web and mobile products, mainly in React and TypeScript, with real depth in backend services, APIs and integrations. I’ve worked across agencies, startups, enterprise and fintech companies in Europe and Japan.

This portfolio features selected projects spanning banking data products, financial dashboards, campaign platforms and high-traffic websites.

Moneytree Personal Finance Management App

Moneytree, Tokyo

Moneytree’s consumer app brings a user’s banking data together across iOS and Android, providing a single view of accounts and financial institutions.

I established the React Native foundation within the existing native iOS and Android application, defining the architecture, network layer with TanStack Query and testing with Jest and React Native Testing Library. I built and migrated features, including forms and backend integrations, while working closely with the native app. I also contributed to backend services and AWS infrastructure, including a data residency migration, receipt uploads, report generation, Stripe payment integrations and notification delivery. Alongside the product work, I built internal tools and dashboards for the engineering and marketing teams.

TypeScript API Integration React Native AWS Infrastructure Stripe Payments 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
Moneytree app Retirement Readiness result screen showing an on-track "A" grade

Growing Stories

Personal project

Growing Stories is a reading app for four- and five-year-olds that retells classic tales, like Treasure Island, illustrated from my own sketches, with a pipeline keeping characters consistent across pages. A child’s name and age are written into the story text, and they pick which character they look like in the pictures, with each reader on an account keeping their own place.

I designed, built and released it myself: the React Native and TypeScript app, including the personalization engine that weaves each child’s name and chosen character into the story text and illustrations, the multi-reader profile system, and the subscription flow that keeps the first story free for everyone; and the Node.js backend that serves the stories and handles accounts behind it.

React Native TypeScript Node.js In-App Subscriptions Content Localization Visit site →
The Growing Stories shelf showing six illustrated book covers, two marked coming soon
A grid of characters a child picks from to appear as themselves in their stories
A Treasure Island story page showing a child in a boat looking through a spyglass, with the child's own name written into the sentence
A full-screen illustration of the giant's wife opening her door
The list of readers on an account, each keeping their own place in every book

SOUNDRAW

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 and PayPal for billing, and built APIs in the Ruby on Rails backend, plus OAuth, music distribution integrations and a Canva plugin. Every feature shipped as an A/B test.

Vue.js Tailwind CSS Stripe Ruby on Rails API Generative AI Product A/B Testing 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

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 other 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

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-frontends they went on to own, with around 5 product teams shipping on the core. I also worked with QA and contributed heavily to the Cypress end-to-end test suite, 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

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

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

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.

I built the React Native app and its Node.js backend as a freelancer 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 on older stacks, kept here as history.