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
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.
The flow in Figma, then the final design in code, from the first sketch to launch.
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.
The standalone Speedstake app: about 96% of its code.
Creative direction, the product and integration pages, five bug blitzes and the launch-day releases. About 93% of the website's code.
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.
The on-chain programs, the SDK, the orderbook and quote stores, and the launch video.
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.
- MarchDesign in Figma
- 20 to 24 MarPrototype on demo data
- From 25 MarIterate in code
- Late Mar to MayWire up live data
- AprilFive bug blitzes
- 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.
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.

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.
- ✓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 →
- Redeeming gave no sign that anything had happenedFixed
- Options stayed greyed out for ten seconds with no loading signalLogged
- “What’s a PT?” Just say redeem SOLFixed
- Nobody says “yield forward”. Say sell future rewardsFixed
- The back button did nothing on the position screenLogged
- No obvious way to disconnect a walletLogged
- Every amount should roll the same wayFixed
- Points showed on one step and vanished on the nextLogged
- “Learn more” pulled me away from why I cameFixed
- So much copy I got warier before clicking anythingLogged
- Signed with a thin orderbook, then nothing happenedFixed
- Choosing 100% rounded over the balanceLogged
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.
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.


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