# concept
hash · living design concept

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.

01 · the screens

The screens, happy and unhappy

Screens 1 and 2 create a strategy, 3 and 4 watch it run, 4b shows losing and never-trading, 4c runs one strategy across several symbols, 5 optimizes, 6 is the shared board, 7 is someone else's strategy, 8 is your private list, and 9 is the # bar. One note on the bottom tab bar in these frames: in the shipped app it appears only when hash is installed to your home screen. In a browser tab the top bar carries icon nav instead, so we never stack a bar on the browser's own chrome.

9:41●●●
#hash
# 
Describe a strategy in plain English
buy NVDA when the 20-day average crosses above the 50-day, sell when it crosses back…
Golden cross on NVDA Buy AAPL dips (RSI < 30) SPY breakout after quiet weeks
Compose strategy
1 · Createlanding · type or tap a chip Typewriter hero, prompt box, example chips. The # here only breathes. It has nothing to say yet.
9:41●●●
#composing…
Buy NVDA when the 20-day average crosses above the 50-day, sell when it crosses back under.
Got it, a classic golden-cross strategy. I'll enter long on the 20/50 crossover and exit on the reverse cross. Here's your strategy:

Golden Cross

Buys when the 20-day average crosses above the 50-day; sells on the reverse cross.

NVDA Daily change ▾
Try a tweak
Add a 5% stop loss Use 10/30 averages Only in uptrends
Save & Run
#one question…
Buy PLTR when it dips 5% in a day, sell after it recovers.
#
I can't backtest PLTR yet, there's no data for it.
Closest symbols with full history from 2015. Pick one, or type another:
TSLA NVDA AAPL SPY
The dip-and-recover idea works the same on any of these. TSLA moves most like what you described.
Use TSLA instead
#composing…

Golden Cross

Buys when the 20-day average crosses above the 50-day.

Symbol · only symbols with data
NVDAdaily · 2015 → today
TSLAdaily · 2015 → today
AAPLdaily · 2015 → today
SPYdaily · 2010 → today
Timeframe
Daily Hourly 15 min
Done
2 · Composecomposing · dots show states Dot 1 is the happy path: # talks while the reply streams and the card materializes on commit. Dot 2 is an unavailable symbol: # asks back with real alternatives instead of showing an error. Dot 3 is the change sheet: only symbols and timeframes with data are offered, with their coverage ranges.
9:41●●●
#Golden Cross● running

Golden Cross

Buys the 20/50 SMA crossover, exits on the reverse cross.
NVDADaily$100k paper
backtesting… 64%2019 → today
Return
+38.2%
Win rate
58%
Trades
41
Max drawdown
−12.4%
Latest tradeslive
Mar 14NVDA+$2,14010:12L 112 @ 482.10+4.1%
Entry
$482.10
Mar 14
Exit
$501.90
Apr 02
Size
112 shares
Held
19 days
Side
Long
Fees
$2.40
Jan 30NVDA−$86014:36L 98 @ 538.40−1.6%
Entry
$538.40
Jan 30
Exit
$529.75
Feb 21
Size
98 shares
Held
22 days
Side
Long
Fees
$2.10
3 · Strategy: running/s/{slug} Shimmering progress, live equity draw, counting stats. Stillness returns when the run completes.
9:41●●●
#Golden Crosscompleted
Return
+61.7%
Final equity
$161,704
Run again
✦ Optimize
Publish to board
results public · rules private
Trading activity★ · streak line
win big win loss
All trades41
Nov 08NVDA+$5,42009:42L 120 @ 412.80+9.8%
Entry
$412.80
Nov 08
Exit
$453.25
Jan 12
Size
120 shares
Held
65 days
Side
Long
Fees
$2.60
Aug 21NVDA+$1,20511:05L 104 @ 445.60+2.3%
Entry
$445.60
Aug 21
Exit
$455.85
Sep 30
Size
104 shares
Held
40 days
Side
Long
Fees
$2.20
paper trading · not financial advice
#Golden Crosscompleted
Return
+61.7%
Final equity
$161,704
Run again
✦ Optimize
Trading activityA · streak grid
none win big win loss
All trades41
Nov 08NVDA+$5,42009:42L 120 @ 412.80+9.8%
Entry
$412.80
Nov 08
Exit
$453.25
Jan 12
Size
120 shares
Held
65 days
Side
Long
Fees
$2.60
Aug 21NVDA+$1,20511:05L 104 @ 445.60+2.3%
Entry
$445.60
Aug 21
Exit
$455.85
Sep 30
Size
104 shares
Held
40 days
Side
Long
Fees
$2.20
#Golden Crosscompleted
Return
+61.7%
Final equity
$161,704
Run again
✦ Optimize
P/L by monthB · monthly bars
winning month losing month
All trades41
Nov 08NVDA+$5,42009:42L 120 @ 412.80+9.8%
Entry
$412.80
Nov 08
Exit
$453.25
Jan 12
Size
120 shares
Held
65 days
Side
Long
Fees
$2.60
Aug 21NVDA+$1,20511:05L 104 @ 445.60+2.3%
Entry
$445.60
Aug 21
Exit
$455.85
Sep 30
Size
104 shares
Held
40 days
Side
Long
Fees
$2.20
#Golden Crosscompleted
Return
+61.7%
Final equity
$161,704
Run again
✦ Optimize
Win / loss sequenceC · trade ribbon
7 longest win streak 3 longest loss streak
All trades41
Nov 08NVDA+$5,42009:42L 120 @ 412.80+9.8%
Entry
$412.80
Nov 08
Exit
$453.25
Jan 12
Size
120 shares
Held
65 days
Side
Long
Fees
$2.60
4 · Strategy: completed/s/{slug} · dots show alternatives Click the dots to compare. The default streak line puts one square per trade in order: the streak look without empty calendar days, scrolling sideways when a strategy trades a lot. The alternatives are a daily grid, monthly bars, and a sized ribbon. The default slide also shows the Publish toggle, off by default: results go public, rules stay private.
9:41●●●
#Dip Buyercompleted
Return
−23.8%
Final equity
$76,190
Win rate
31%
Max drawdown
−31.2%
#
It buys dips, but the dips kept dipping.
Most first strategies lose; that's what paper money is for. The biggest leak: no exit when a dip becomes a slide.
Add a stop loss Wait for recovery signs Trade less often
Trading activity★ · streak line
Run again
✦ Optimize
paper trading · not financial advice
#Deep RSI Buyercompleted
Trades
0
Return
0.0%
#
Your rules never triggered, not once in six years.
RSI under 5 almost never happens on daily bars. The idea is fine; the threshold is too strict.
Try RSI under 30 Use hourly bars Explain RSI to me
Adjust & run again
4b · When it doesn't workthe two most likely first outcomes Dot 1 is a losing run: the curve runs red below your starting capital, the numbers stay honest, and # names the leak in plain English with fix chips. Optimize becomes the hero action. Dot 2 is zero trades: a flat grey line, and # explains why the rules never fired with one-tap ways to loosen them. Never a dead end.
9:41●●●
#Golden Crosscompleted

Golden Cross

Buys when the 20-day average crosses above the 50-day; sells on the reverse cross.
NVDATSLASPYDaily$100k paper
Performance by symboltap a row to filter
NVDA
18 trades
win 61% · pf 2.14
+$9,480
TSLA
14 trades
win 43% · pf 1.21
+$2,360
SPY
9 trades
win 67% · pf 2.60
+$3,905
Return · TSLA
+2.4%
Win rate
43%
Trades
14
Max drawdown
−9.4%
Trades · TSLA14
Sep 12TSLA+$1,81011:52L 108 @ 242.60+6.9%
Entry
$242.60
Sep 12
Exit
$259.40
Oct 03
Size
108 shares
Held
21 days
Side
Long
Fees
$2.30
Jun 20TSLA−$94010:24L 140 @ 268.10−2.5%
Entry
$268.10
Jun 20
Exit
$261.35
Jul 01
Size
140 shares
Held
11 days
Side
Long
Fees
$2.80
equity curve is portfolio-wide · stats & trades filtered to TSLA
4c · Multi-symbol strategy/s/{slug} · per-symbol filter One strategy, several symbols. The comparison rows are the filter: tap one (it works in this mock) and the stats and trades below follow it. The equity curve stays portfolio-wide. TSLA is selected here: profitable overall but with the weakest win rate, which is exactly the insight this view exists for.
9:41●●●
#Golden Cross · Optimizegen 3/5

Optimizing

Breeding 12 small variations of your strategy each generation and keeping the winners. Better settings usually emerge by generation 3–4.
36 of 60 backtests~2 min left
Variantsranked live
V7
Best so far
SMA 18/46 · stop 4%
+81.2%
V12
Gen 3
SMA 22/44 · stop 5%
+76.4%
V3
Gen 1
SMA 20/55 · stop 6%
+74.5%
·
Your original
SMA 20/50 · no stop
+61.7%
V9
Gen 2
SMA 9/21 · stop 2%
−2.3%
Use best variant (when done)
5 · Optimize/s/{slug}/optimize · genetic experiment Genetics without the jargon: "breeding variations, keeping winners." Your original stays pinned (dashed) so improvement is legible. Best variant wears the ★. One action at the end: adopt it.
9:41●●●
#Leaderboardall time ▾
1
Quiet Breakout
SPY · 1d · 87 trades · by anon-4f2
+94.6%
win 61%
2
Golden Cross
NVDA · 1d · 41 trades · you
+61.7%
win 58%
3
RSI Dip Buyer
AAPL · 1h · 214 trades · by anon-9c1
+48.9%
win 66%
4
Momentum Rider
TSLA · 1d · 63 trades · by anon-77a
+31.2%
win 49%
5
Mean Revert
QQQ · 15m · 402 trades · by anon-b03
−4.1%
win 44%
ranked by return % · min 10 trades · published runs only
6 · Leaderboard: all users/leaderboard One global board across everyone. Rows show an anonymous author handle; yours says "you". Tapping any row opens the public run view (screen 7): trades yes, recipe no.
9:41●●●
#Quiet Breakout#1

Quiet Breakout

by anon-4f2 · completed backtest · 2019 → today
SPYDaily$100k paper
Strategy rules are private
Only performance is shared. The prompt and rules belong to their creator.
Return
+94.6%
Win rate
61%
Trades
87
Max drawdown
−9.8%
All trades87
Jun 11SPY+$3,84509:35L 210 @ 585.20+3.4%
Entry
$585.20
Jun 11
Exit
$605.10
Jul 08
Size
210 shares
Held
27 days
Side
Long
Fees
$4.10
Apr 22SPY−$1,02015:48L 195 @ 612.40−0.9%
Entry
$612.40
Apr 22
Exit
$606.90
May 05
Size
195 shares
Held
13 days
Side
Long
Fees
$3.90
7 · Public run view/b/{run} · someone else's Full transparency on results: equity, stats, every trade, with the recipe locked. No run or edit actions here; those exist only on your own strategies.
9:41●●●
#My strategies

Golden Cross

NVDA · 1d
Buys the 20/50 SMA crossover, exits on the reverse cross.
completed+61.7%

RSI Dip Buyer

AAPL · 1h
Buys when hourly RSI drops under 30, sells at 55.
● optimizing · gen 2/5

Mean Revert

QQQ · 15m
Fades 2-sigma moves on 15-minute bars.
completed−4.1%
+ New strategy
8 · My strategies: private/mine Only you see this list; nobody can browse another user's strategies. Ongoing optimizations surface here too. The magnifier in the top bar opens the # bar (screen 9).
9:41●●●
# run golden esc
Do
Run Golden Cross
backtest · NVDA · daily
Optimize Golden Cross
breed 12 variants × 5 generations
Jump to
Golden Cross
yours · NVDA · daily · completed
+61.7%
Quiet Breakout
board · #1 · SPY · daily · anon-4f2
+94.6%
Or just ask
#
"why did it lose money in November?"
#
"make it less risky"
search · command · or just talk
9 · The # bartap the # in any frame above Try it here: click the # or magnifier in any frame's top bar and you land on this screen. In the app it opens in place, one gesture from anywhere. The # comes alive and a single input resolves three ways as you type: Do (run, optimize, new), Jump to (your strategies and the board), or just ask in plain language. Enter runs the top hit.
02 · motion language

Few animations, each with a job

The rule: motion only where something is genuinely happening. The AI speaking, money moving, work progressing. Everything else stays still. All demos below are live; everything respects prefers-reduced-motion.

#
The talking #

The brand glyph is the AI's voice. While the model streams, it pulses word by word like speech, following the text as it arrives. Idle, it breathes slowly. It never talks when nothing is streaming.

scale pulse 90ms / breathe 4.5s
Golden Cross

Buys the 20/50 crossover.

Card materialize

When the model commits a strategy, the card scales in and its border flashes emerald once: the moment it starts existing. Creation events only.

450ms spring + border flash
+0.0%
Counting numerals

Stats never just appear. They count up to their value on load and on every update. Tabular mono means zero layout jitter while counting.

800ms ease-out · tabular-nums
Working shimmer

Progress bars sweep light while a backtest or optimization is actually running. The shimmer stops the instant work completes. Stillness means done.

1.6s sweep, only while running
Streak cascade

The activity heatmap fills column by column, left to right, in about 700ms. Six years of trading replaying in under a second.

per-column 12ms stagger
Equity draw-in

The equity line draws left to right, green above your starting capital and red below it, switching at the crossing. During a live run the endpoint dot pulses softly. The data is the motion.

900ms draw · endpoint pulse

Also kept from the home page: the typewriter hero and blinking caret. Deliberately not used: page transitions beyond a 150ms fade, parallax, hover lifts, skeleton shimmer waves. The quiet is what makes the # feel alive.

03 · design language

Quiet terminal, loud results

The visual system in four rules-of-the-house. Everything on this page, and in the app, derives from these. Flip the theme toggle to see the same 12 tokens carry both modes.

Philosophy

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."

Type

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.

Title26/700 page
Screen title19/700
Card title15.5/700
Body text for reading13/400 · 1.5–1.6 lh
Secondary / summaries12.5 muted
Section label10–11 mono upper .12em
+$2,140 · 58% · 41mono tabular, always
Space & shape

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.

Color rules
ground card action profit loss

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.

In practice
Save & Run +4.1% −1.6% ● running completed
Display contract

The same facts, in the same order, on every surface. A strategy's name never contains a symbol and its rules are symbol-agnostic. Symbols are where it runs, shown as chips or a small meta line.

Strategy row: name · symbols · timeframe · return % · win rate · trades.

Trade row = a transaction, in time order. The whole row is one baseline grid, so all three columns align on both lines. Left: entry date over entry time. Middle: symbol over the position line L 112 @ 482.10. Direction is a quiet bold letter, not a badge; a colored box outweighed its importance, and Side is spelled out in the detail. Right: $ over %. Tap expands six cells: Entry, Exit, Size, Held, Side, Fees, with dates faint under the prices.

Mar 14NVDA+$2,14010:12L 112 @ 482.10+4.1%
Entry
$482.10
Mar 14
Exit
$501.90
Apr 02
Size
112 shares
Held
19 days
Side
Long
Fees
$2.40
Stacks, not lists

When there are many of something, show one. The latest item sits on top, the edges of the rest peek beneath, and the count says how deep the pile goes. A stack tells you "there are 41 of these" without spending a screen on them; tapping opens the full list.

Trades 41
Jan 12NVDA+$5,420 09:42L 120 @ 412.80+9.8%
04 · desktop expansion

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.

heyhash.ai/s/golden-cross
# CreateMineBoard completed

Golden Cross

Buys when the 20-day average crosses above the 50-day; sells on the reverse cross.
NVDADaily$100k paper
Run again
✦ Optimize
Return
+61.7%
Win rate
58%
Max drawdown
−12.4%
Profit factor
1.84
SideSymbolDatesEntry $Exit $SharesP/L %P/L $
LONGNVDANov 08 – Jan 12412.80453.25120+9.8%+$5,420
LONGNVDAAug 21 – Sep 30445.60455.85104+2.3%+$1,205
LONGNVDAMay 02 – May 19470.30459.0099−2.4%−$1,340
LONGNVDAMar 14 – Apr 02482.10501.90112+4.1%+$2,140
LONGNVDAJan 30 – Feb 21538.40529.7598−1.6%−$860
Optimization · gen 3/5
V7SMA 18/46 · stop 4%+81.2%
V12SMA 22/44 · stop 5%+76.4%
V3SMA 20/55 · stop 6%+74.5%
yoursSMA 20/50 · no stop+61.7%
Trading activity · 6 yrs
D1 · Strategy on desktopdesktop layout of screens 4 and 5 Equity + trades take the main column; optimization progress and the streak heatmap live in the rail. Optimize on desktop is a panel, not a separate page.
heyhash.ai
# CreateMineBoard composing…
Buy NVDA when the 20-day average crosses above the 50-day, sell when it crosses back under.
Got it, a classic golden-cross strategy. I'll enter long on the 20/50 crossover and exit on the reverse cross. Here's your strategy:
Try a tweak
Add a 5% stop loss Use 10/30 averages Only in uptrends
Refine it, or just say "run"…

Golden Cross

Buys when the 20-day average crosses above the 50-day; sells on the reverse cross.

NVDA Daily change ▾
Data available
NVDA · 2015→AAPL · 2015→SPY · 2010→
Save & Run
D2 · Compose on desktopdesktop layout of screen 2 Chat on the left, the strategy card pinned right where it updates live as you refine. The # talks in the nav: same glyph, same voice, any screen size.