Skip to content
Case studyOngoing

Savvy: rebuilding a three-sided investment platform while it ran

Savvy is a US investment platform with three audiences on the same regulated data: investors managing portfolios, creators publishing strategies others subscribe to, and an internal back office running compliance, trading and configuration. The platform decides what to trade and when, and a clearing broker executes and holds the assets, which makes every screen we build one a compliance officer can be asked to justify. We won the account on a single rebuilt flow and have been building on the platform ever since.

The Savvy investor dashboard

The dashboard tops the portfolio with index levels and headline totals, then charts net asset value against the benchmark beside a look-through allocation table and a desk note summarising the session.

The Savvy goals engine

Goals splits tracked plans into those ahead of and behind their glide path, with probability, target horizon and an account map plotting actual pace against plan.

The Savvy strategy marketplace

The marketplace lists vetted blueprints filtered by strategy and category, each card carrying its author, its one and three month returns and its fee.

At a glance
Industry
Fintech, investment and wealth management, US market only
Engagement
Embedded frontend engineers working inside the client's own teams, currently two, ongoing
Stack
React and TypeScript on Vite with MUI, GraphQL and generated REST clients against the client's Ruby on Rails back end, enterprise data grids and financial charting libraries, AWS hosting with production monitoring
The story

They already had a platform: an investor side, an admin side, pages of data and charts, all of it more or less working and none of it built well. What they wanted was not a rewrite pitch, it was proof that somebody could do this properly, so we took their account-opening flow, nine steps of legal and financial information ending in a signature, and rebuilt nearly all of it: clean, properly validated, and a flow you can watch working end to end. The engagement started on the back of that demo.

The first phase was less about new features than about making the codebase something features could be added to, page by page across both surfaces, with the product live the whole time. Two calls were ours to argue for and theirs to approve: replacing the component library wholesale, and taking the application off a server-rendering framework it had no use for, since this was an app behind a login rather than a site that needed to be found on Google. Neither move showed up as a feature, both are the reason the years that followed were possible, and all of it was done by hand, before AI-assisted development existed to lean on.

Then the client reorganised and staffed up, and the work turned from maintenance into expansion. Whole new modules followed: goal-based investing, where an investor states a goal and the platform builds and funds a strategy toward it; a builder for designing a year-by-year cash-flow schedule out of treasuries; a combined view across all of an investor's accounts, aggregated down a group hierarchy; and creator publishing with a staged approval queue, so a change to a strategy sits for an admin to compare against the live rules before it can reach anybody's portfolio.

That phase also changed how the work ran. A single module could carry five or six people, ours and theirs mixed together, with direction arriving from several project managers at once, and we treated staying aligned across that as part of the job rather than an obstacle to complain about. It is where our conviction about bringing an embedded planning lead to an engagement was earned.

Outcome

The platform is live and the engagement is ongoing, years in, with our engineers still building on it. What started as an inherited codebase nobody could add to is now a genuine multi-tenant product: named institutional asset managers are onboarded as strategy providers, and the largest of them gets its own white-labelled investor experience, delivered behind feature flags rather than a separate fork of the product.

We deliver the decision and compliance layer. Execution, custody and identity verification sit with the client's institutional counterparties, whose names are their commercial relationships rather than ours to publish.

Something here look like your problem? Tell us about it.