Daniel Urquhart

Pye · Speedstake · 2026

Zero to production in three months.

Speedstake lets Solana stakers sell their future staking rewards for SOL today, without unstaking, and lets validators offer it on their own sites. I designed it, built the first prototype, most of the frontend and the website, ran the testing and shipped the launch.

Role
Product design, frontend, creative direction
When
March to June 2026, launched 17 June
Shipped
Hosted app, embeddable widget, website, integration page
Built with
Figma, React, Next.js, TypeScript, AI-assisted coding

Open in the 3D portfolio

The real widget on demo data, no wallet needed. Switch the theme, the stakers and the layout, then try staking and redeeming.

The problem

Staking rewards arrive slowly. Some people want them now.

Native stake pays out a little each epoch, around 5 to 6% a year. Speedstake locks a staker’s stake for a fixed term and sells the rewards on an orderbook, for SOL straight away. The principal comes back at the end.

Validators were the way in, so it had to be two products from one design: a hosted app, and a widget for their own sites.

Ownership

What I owned, what I shared, what others built.

A team effort at a small company, so here is my part, exactly.

OwnedDesign

The flow in Figma, then the final design in code, from the first sketch to launch.

OwnedPrototype and widget

The first prototype, in React on demo data in my own repo (23 of 23 commits). It became the widget: its screens, flow, copy and three themes.

OwnedHosted app

The standalone Speedstake app: about 96% of its code.

OwnedWebsite, testing and launch

Creative direction, the product and integration pages, five bug blitzes and the launch-day releases. About 93% of the website's code.

SharedLive data and integration

I followed the team's state patterns; my store work was in Stake Utils and the main Pye app. I built the integration page and demo; a teammate wrote the guide.

TeamProtocol, SDK and trading

The on-chain programs, the SDK, the orderbook and quote stores, and the launch video.

Who did what, from the commit history of six repos.

How it was built

Design first, then a prototype with no data behind it.

I designed the flow in Figma, then built it in React on demo data, keeping the state light so real data could slot in cleanly. Once the design settled, I wired it up: wallets, stake accounts, live balances and quotes, on top of the team’s protocol and SDK. Then I took it through testing and into production. It ran alongside other Pye products and the protocol’s audits, which is most of why it took three months.

  1. MarchDesign in Figma
  2. 20 to 24 MarPrototype on demo data
  3. From 25 MarIterate in code
  4. Late Mar to MayWire up live data
  5. AprilFive bug blitzes
  6. 17 JuneLaunch

How it feels

Calm, tactile, a little bit fun.

Delight, not a casino. Money apps in crypto often shout. Once the flow worked, we made this one feel good to use instead: amounts roll into place digit by digit, the slider eases to where you let go, screens slide in, and loading states breathe. Small rewards for moving forward, never the flashing urgency of a gambling site. It all switches off for anyone who asks their device for reduced motion.

Paper, not glass. I wanted it to feel like the business cards in American Psycho: layers of good paper, only just 3D, raised, pressed in or lifted out. It’s built on Foundry, the design system I built around elevation, so every layer has its own highlight and shadow.

BG / Primary · light
Default
Lowered −1
Raised +1
Raised +1
Lowered −1
BG / Primary · dark
Default
Lowered −1
Raised +1
Raised +1
Lowered −1
Foundry’s layer stack, the paper the widget is made of. Raised surfaces catch the light on their top edge; lowered ones are pressed in.

The widget

Built to live on other people’s sites.

It had to look at home on a validator’s site, not like an ad for Pye: three themes, one validator’s stakers or all of them, and a React package or a single script tag. I built an integration page with a live configurator, so validators could try it before writing any code.

The integration page with its live widget configurator
The integration page on pye.fi: configure the widget, copy the code.

Testing

Five bug blitzes before launch.

Five rounds between 2 and 27 April. The team spent an hour on every core flow of a real build. I sorted the findings and fixed the interface, and the next round tested the fixes.

Widget rounds1 hour each
  • ✓Bug blitz 1
  • ✓Bug blitz 2
  • ✓Bug blitz 3
  • ✓Bug blitz 4
  • ✓Bug blitz 5

119 findings, sorted by six usability heuristics plus general UX.

Six categories · swipe for more →

VisibilityDid that work?
  • Redeeming gave no sign that anything had happenedFixed
  • Options stayed greyed out for ten seconds with no loading signalLogged
Plain wordsIs this jargon?
  • “What’s a PT?” Just say redeem SOLFixed
  • Nobody says “yield forward”. Say sell future rewardsFixed
Way outCan I go back?
  • The back button did nothing on the position screenLogged
  • No obvious way to disconnect a walletLogged
ConsistencySame thing, same look?
  • Every amount should roll the same wayFixed
  • Points showed on one step and vanished on the nextLogged
Less on screenDo I need this?
  • “Learn more” pulled me away from why I cameFixed
  • So much copy I got warier before clicking anythingLogged
GuardrailsCan I break it?
  • Signed with a thin orderbook, then nothing happenedFixed
  • Choosing 100% rounded over the balanceLogged
Twelve of the 119 findings from the widget rounds, in plain words. Fixed means you can see the fix in the widget above.
Free and open sourceRun your own bug blitz

I turned the way I run these into a small tool. Set up a round in two minutes, share one link, and sort what people find together. No sign-up.

Open Bug Blitz

Launch and outcome

Live on 17 June 2026. It worked, but it didn’t take off.

I led the creative direction for the product page, the integration page and the site around them. Speedstake launched with more than 60 validators, and Everstake offered it from day one.

Rewards sold in under a minute. It didn’t find the traction we wanted, and Pye has since moved on to other products.

The launch video, 17 June 2026. Another team made the video. The widget and site in it are what I designed and built.

What I took from it

Speed only matters if it buys you evidence.

Three months was possible because design and frontend were one job. The prototype settled arguments early, and the blitzes made launch day quiet.

Good design made Speedstake easy to use. It couldn’t make the rates better. What I’d carry forward is putting the working prototype in front of real stakers as early as possible, so the whole team learns sooner whether the offer lands.

Links

See it for yourself.

NextPye