Crypto is still young, and part of making it feel normal is making it social. Three products from my time at OKX: an assistant that trades with you in chat, Orbit, a social layer for traders, and Crypto Rewind, a year in review you play back like a playlist.
A live agent service for big orders, rebuilt so an AI could run it for everyone.
Big orders were paying a worse rate than they needed to.
A lot of people use Simple Buy because it locks in a quote within seconds, even though the rate is worse than a regular spot trade. On small amounts, nobody notices. On large ones, it gets expensive.
For some users we already handled this with live agents, who offered a better rate over chat. There were only so many agents, though, and a global rollout needed something that could give the same personal treatment at a scale a human team can't.
The assistant doesn't wait in a corner of the app to be found.
It shows up once an order is large enough for the better rate to matter, at roughly fifty thousand dollars. Nobody gets offered a premium service on a fifty dollar trade. The sheet also says upfront that it only speaks English and Simplified Chinese, which is much easier to hear at the door than halfway through a trade.



When it's someone's money, the bot doesn't get to improvise.
I designed the system prompt that runs the assistant. A hallucinated rate, a vague phrase or a misread intent could cost someone thousands, so I built the prompt in five layers. Each one answers a different question, from who the assistant is to the guardrails it can't cross and the few-shot examples it learns from.
Who is it, and what is it for?
Role: Senior trading consultant Goal: Execute high-value trades securely, with a premium experience that builds confidence. Tone: Assuring and natural. Use contractions. Large orders are normal here, so never say "massive", "extreme" or "huge". Say "substantial" instead.
Without a persona, a model falls back to a generic assistant voice. That sounds unsure at exactly the moment someone is moving a lot of money.
How should it talk to this person?
Default state (start of chat, simple language) Plain English. "Shall I lock in a preferential rate for you now?" Expert state (user says "bps", "fill or kill") Switch to trading vernacular. Treat them as a peer.
The assistant mirrors the user's own vocabulary. Beginners don't get buried in jargon, and experienced traders don't get talked down to.
What must it always, and never, do?
1. Confirm both sides of the pair before quoting. 2. Never assume a currency. If they type "$50k", ask: "Is that 50,000 USD, SGD or USDT?" 3. Confirm instead of guessing: "To confirm, you'd like X?" 4. Market orders only. Redirect anything else to a firm quote.
This is the safety layer. It keeps the assistant inside what the product can actually execute, and stops a confident guess from turning into a costly trade.
What happens off the happy path?
Trigger: urgent or fearful language ("stuck", "lost money", "!!")
Action: Stay human. Drop all jargon. No empty apologies. Acknowledge the urgency and ask for the order ID.
Models are weakest with emotion. This override changes the assistant's whole register in a service recovery moment, so it helps first and sounds polished second.
What does good look like?
I want to buy $50,000 of Solana.
I can certainly help. Since this is a substantial amount, I'll secure a preferential rate. Is that $50,000 in USD, SGD or USDT?
Offloading 50k USDT to ETH. Slippage?
Liquidity is deep. I can fill the full amount with minimal slippage, likely under 10bps. Want a firm price?
Transfer stuck!! I'm losing money!!
I understand the urgency. Please send the order ID and I'll check what's holding it up right now.
Few-shot examples give the model ground truth to copy before it meets a real user. One per persona, so every layer above has a worked example.
Good conversation design is a mix. AI for speed, and a human hand on the moments that need care.
Like the rest of UX, the craft is in knowing which is which. I mapped every touchpoint in the chat. The welcome message, the line confirming what you want to do and the order card are hand-written, because that's where people need reassurance before a large trade. The card also matches order cards everywhere else in the app, so it feels familiar. The model handles everything after that: changes of mind, follow-up questions, the same thing explained another way. The assistant stays fast and flexible, and the moments that build trust stay human, intuitive and empathetic.
The welcome, the intent check and the order card. Written and reviewed by a person.
Follow-ups, changes of mind and clarifications. Quick to respond, and still inside the guardrails.
Testing ran two ways, and the red-teaming taught me more.
I benchmarked the prompt against a standard set of queries, checking every answer against the content guidelines and the conversation structure. Then I red-teamed it, trying to talk it into limit orders and vague trades to see whether the guardrails held. Three rounds of prompt iteration came out of it.
| What I saw | What changed | Result |
|---|---|---|
| It kept calling large orders "massive", which makes people nervous. | Alarmist adjectives banned. It now mirrors the user's own register. | Consistent persona |
| Vague amounts slipped through. "$50k", no currency. | The no-assumptions rule became a hard stop: USD, SGD or USDT? | Always asks |
| It offered order types we hadn't built, like limit orders. | What it can execute is hard-coded. Anything else gets a polite redirect to a quote. | Market orders only |
A social layer inside the OKX app, where traders post, follow each other and share their trades.
In a crypto feed, everyone sounds like an expert.
The hard part of Orbit was helping people tell who's worth listening to, without rewarding whoever took the biggest gamble last week. I worked on onboarding, the feed and the two versions of a profile: Orbiters, who can post, create groups and share trades, and everyone else.
An Orbiter's profile puts their track record up front, pulled from what they actually did on OKX. Upgrading is framed around what you'll be able to do, so it reads as an invitation rather than a status symbol.




Measured in the three months after launch, before I left OKX.
OKX's 2024 year in review. Your year of trading, played back in three parts.
People liked seeing their own data. They just didn't finish, and they didn't share.
I audited the 2022 and 2023 campaigns, went through user feedback and spoke to the designers and PMs who ran them. Three problems kept coming up.
Page after page of figures got repetitive, and people left halfway.
Many didn't want their trading performance on social media.
Legal and Marketing feedback landed late, so copy churned until launch.
One concept kept the story, the tone and the translations together.
Rewind turns the year into a playlist in three parts: your assets, how you traded, and a trader persona at the end. The line gave Legal and Marketing something to sign off early, and gave every writer and translator the same brief.
The tone lives in space metaphors. Good years are "out of this world". Bad years matter just as much, because plenty of people lost money in 2024. They get "You're only getting ready for your next takeoff", which is honest without rubbing it in.



The share card shows who you are as a trader, not what's in your wallet.
Each person ends on a persona, like Crypto Comet or Market Maestro, with a rarity tag and a line about why they earned it. There are no balances on it, so it's easy to post. The copy shipped in multiple languages, including Chinese, Arabic and Russian, where it also had to work right to left and with much longer words.

Goal line. Every goal was set against the year before, adjusted for user growth.
I also worked on the 2025 edition before I left OKX, and it went on to win a Red Dot award.
I'd love to hear what you're working on.
Buildlr · Construction tech