Tell hash a trading idea.
It turns plain English into a strategy, backtests it against real history, and shows you honestly how it would have gone, wins and losses alike. This page is the living design for what we're building.
Clean, simple, easy to use
Clean screens, smooth transitions, easy from the first tap. Every flow is built to feel obvious, not learned.
Golden Cross
Golden Cross
Optimizing
Quiet Breakout
Golden Cross
RSI Dip Buyer
Mean Revert
Few animations, each with a job
Motion only where something is genuinely happening: the # communicating, money moving, work progressing. Everything else stays still. What we leave out matters as much: no parallax, no hover lifts, no shimmer waves, no page transition past a 150ms fade. The quiet is what makes the # feel alive. All demos below are live and respect prefers-reduced-motion.
The # vibrates while it's communicating with you, and stays still when it has nothing to say.
scale pulse 90ms / breathe 4.5sBuys the 20/50 crossover.
Motion marks the one moment that matters: a strategy coming into being. Creation only.
450ms spring + border flashA result is worth watching land, so numbers count up to it instead of appearing.
800ms ease-out · tabular-numsMovement means work is happening. Stillness means it is done.
1.6s sweep, only while runningYears of history arrive in one motion, so its weight lands before any number does.
per-column 12ms staggerThe data is the motion. The line draws itself, nothing decorative added.
900ms draw · endpoint pulseQuiet by default
The whole visual system, kept to a few rules. Everything here and in the app follows them. Flip the theme toggle to see the same tokens carry both modes.
The prompt is the product. Every screen exists to type into it or read what it produced. One idea per screen, one primary action.
Quiet by default. Color and motion appear only where something real happens: money, progress, the AI speaking. 90% of any screen is four neutrals.
Numbers are sacred. Every digit is mono and tabular, aligned, honest. Losses render as prominently as wins.
Mobile is the design. Desktop is the same components given room, never a different app.
Plain English. "Breeding variations, keeping winners", never "genetic hyperparameter search."
Two faces: a system sans for prose and UI (Geist Sans in the app), and the mono (Geist Mono) for the terminal side: numbers, commands, labels, the # itself.
4px grid. Screen gutter 16 (mobile) / 28 (desktop). Card padding 12–14. Section rhythm 20. List row gap 8. Stat grid gap 8–10.
Radius follows size: chips 999 · buttons & tiles 12 · cards 14 · prompt box 16 · phone shell 34. Nothing in between.
Borders, not shadows. 1px in two tones (border / border-soft) does all separation; shadow exists only under the device frames on this spec page.
Touch first. Targets ≥44px, primary action within thumb reach (sticky bottom bar), wide content scrolls in its own container. The page never scrolls sideways.
Neutrals do the work. Ground, card, border: a cool near-black ramp, or its light mirror. Every grey leans slightly cool, on purpose.
Emerald means profit, red means loss. Never decoration, never branding. If it's green, money went up.
One action color: the inverted foreground. White on black in dark, black on white in light. States are soft tints, never solid fills.
The same facts in the same order, on every surface. A strategy's name never names a symbol; symbols are only where it runs.
When there are many of something, show one and count the rest. A stack says "there are 41 of these" without spending a screen on them; tap to open the full list.
Same components, wider canvas
Nothing is redesigned. The tab bar becomes a top nav, cards become a grid, trade rows become a table. Two representative views below.
The two desktop mockups need a wide screen. Open this page on a desktop to see them.
Golden Cross
Golden Cross
Buys when the 20-day average crosses above the 50-day; sells on the reverse cross.