FXpress · AI Co-Pilot for Cross-Border Remittance · Storyboard
| Property | Value |
|---|---|
| 🏷️ Status | Complete |
| 🔖 Paths Covered | Send Now (Jenni) · Set Trigger (Kang) |
| 🎯 Purpose | Narrative walkthrough of each path — user action, canvas state, and Fexi interaction at every step |
The storyboard translates the two widget paths into a step-by-step narrative — showing what the user does, what the canvas presents, and how Fexi responds at each moment. It sits between the flow diagrams and the wireframes: more concrete than a flow, less detailed than a spec.
Because FXpress is a single canvas with modal layers rather than a multi-screen app, each "step" is a state of the canvas or a modal that opens over it — not a separate screen.
Both paths are implemented in the live build at *fxpress.netlify.app.*
| Canvas State | User Action | Fexi Interaction |
|---|---|---|
| Default canvas | User selects corridor (Philippines · PHP) and enters $250 | Fexi reads the rate on the card |
| Rate read | User reads the recipient amount (₱14,025), in the largest type on the canvas | Fexi: "Today's USD→PHP rate is higher than 25 of the last 32 days — near the top of the recent range for sending to the Philippines." |
| Send Now tapped | User taps the Send Now primary CTA | — |
| Provider hand-off (modal) | Modal opens, pre-filled with amount + currency; user picks GCash-capable provider | Pre-fill detail restates the canvas numbers |
| Hand-off | User taps Open (or Copy details) | — |
| Canvas State | User Action | Fexi Interaction |
|---|---|---|
| Default canvas | User selects corridor (South Korea · KRW), enters $300 | Fexi reads the current rate |
| Set Trigger tapped | User taps the Set Trigger for Best Rate secondary CTA | — |
| Trigger sheet (modal) | User reads the explainer, sets a 1,482.26 KRW threshold, reviews the Suggested Check-Back | Explainer: "Set the conditions... you can change or cancel any time." |
| Trigger saved | User taps Save Trigger | Fexi: "I'll flag it when USD→KRW reaches ₩1,482.26. You can edit or cancel anytime from your triggers." |
| Calendar reminder (modal, optional) | User taps Add Calendar Reminder → Download .ics | — |
| Back on canvas | The saved trigger renders in the canvas's triggers section, showing its target against the live rate and a status of Watching, Close, or Target reached | — |
A third path was explored in ideation — letting a power user inspect the underlying routing (networks, off-ramp partners, fees) before sending. It was scoped as an opt-in power-user surface and deliberately kept out of the widget, because research established that crypto must stay infrastructure, never experience. In the widget, the routing layer is entirely invisible: the user sees USD in and local currency out.
Each Fexi interaction is a content design decision as much as a UX one. The tone shifts subtly between the two paths — reassuring and human in Send Now, logical and confirmatory in Set Trigger — because the persona and context differ.