2026-10-05 19:19:45 +00:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< title > notplanned</ title >
< meta name = "description" content = "We build the features maintainers won't." >
< style >
: root {
color-scheme : light dark ;
--bg : #f4f2ec ; --fg : #111 ; --muted : #6a6861 ; --line : #cbc7bd ; --card : #fbfaf6 ;
--hot : #ff5a1f ;
}
@ media ( prefers-color-scheme : dark ) {
: root { --bg : #10100f ; --fg : #f3f0e8 ; --muted : #aaa69d ; --line : #393732 ; --card : #171715 ; --hot : #ff7a45 }
}
* { box-sizing : border-box }
html , body { margin : 0 ; background : var ( -- bg ); color : var ( -- fg ); font-family : ui-monospace , SFMono-Regular , Menlo , Monaco , Consolas , "Liberation Mono" , monospace }
body { min-height : 100 vh }
a { color : inherit }
. wrap { width : min ( 980 px , calc ( 100 % - 36 px )); margin : 0 auto }
header { height : 78 px ; display : flex ; align-items : center ; justify-content : space-between ; border-bottom : 1 px solid var ( -- line )}
. brand { font-weight : 800 ; letter-spacing : -.04 em }
. tiny { font-size : 12 px ; color : var ( -- muted )}
. hero { padding : 110 px 0 72 px }
h1 { font-size : clamp ( 54 px , 11 vw , 118 px ); line-height : .84 ; letter-spacing : -.085 em ; margin : 0 0 32 px ; max-width : 900 px }
. hero p { font-family : ui-sans-serif , system-ui , sans-serif ; font-size : clamp ( 20 px , 3.1 vw , 34 px ); line-height : 1.15 ; max-width : 700 px ; margin : 0 }
. strike { text-decoration : line-through ; text-decoration-thickness : .08 em ; text-decoration-color : var ( -- hot )}
. grid { display : grid ; grid-template-columns : 1.2 fr .8 fr ; gap : 18 px ; padding : 0 0 90 px }
. card { border : 1 px solid var ( -- line ); background : var ( -- card ); padding : 24 px ; border-radius : 18 px }
. label { font-size : 11 px ; letter-spacing : .12 em ; text-transform : uppercase ; color : var ( -- muted ); margin-bottom : 18 px }
. status { display : inline-flex ; align-items : center ; gap : 8 px ; font-size : 12 px ; border : 1 px solid var ( -- line ); border-radius : 999 px ; padding : 7 px 10 px ; margin-bottom : 24 px }
. dot { width : 7 px ; height : 7 px ; border-radius : 50 % ; background : var ( -- hot ); box-shadow : 0 0 0 4 px color-mix ( in srgb , var ( -- hot ) 18 % , transparent )}
h2 { font-family : ui-sans-serif , system-ui , sans-serif ; font-size : 30 px ; line-height : 1.05 ; letter-spacing : -.04 em ; margin : 0 0 18 px }
. copy { font-family : ui-sans-serif , system-ui , sans-serif ; color : var ( -- muted ); font-size : 16 px ; line-height : 1.5 }
. metric { display : grid ; grid-template-columns : 1 fr auto ; gap : 16 px ; padding : 12 px 0 ; border-top : 1 px solid var ( -- line ); font-size : 13 px }
. metric : first-of-type { margin-top : 24 px }
. value { font-weight : 700 }
. issue { display : block ; text-decoration : none }
. issue : hover h2 { text-decoration : underline }
. issue-meta { font-size : 12 px ; color : var ( -- muted ); margin-top : 24 px }
. flow { padding : 28 px 0 ; border-top : 1 px solid var ( -- line ); border-bottom : 1 px solid var ( -- line ); margin-bottom : 90 px ; display : flex ; gap : 12 px ; flex-wrap : wrap ; font-size : 13 px }
. flow span : not ( : last-child ) :: after { content : "→" ; margin-left : 12 px ; color : var ( -- muted )}
footer { padding : 0 0 44 px ; display : flex ; justify-content : space-between ; gap : 24 px ; color : var ( -- muted ); font-size : 12 px }
@ media ( max-width : 760px ) {. hero { padding-top : 76 px }. grid { grid-template-columns : 1 fr }. flow { line-height : 2 } footer { flex-direction : column }}
</ style >
</ head >
< body >
< div class = "wrap" >
< header >
< div class = "brand" > notplanned</ div >
2026-10-07 04:04:23 +00:00
< div class = "tiny" >< a href = "/claude/" > claude signal</ a > · a yolopreneur game</ div >
2026-10-05 19:19:45 +00:00
</ header >
< main >
< section class = "hero" >
< h1 > we build the features maintainers < span class = "strike" > won't.</ span ></ h1 >
< p > GitHub is full of demand hiding in < strong > not planned</ strong > , < strong > out of scope</ strong > , < strong > stale</ strong > , and < strong > won't fix</ strong > . We turn the good ones into tiny products.</ p >
</ section >
< section class = "grid" >
< article class = "card" >
< div class = "label" > game 001</ div >
< div class = "status" >< span class = "dot" ></ span > live · scouting</ div >
< h2 > Earn the first dollar from a feature somebody already asked for.</ h2 >
< div class = "copy" > No startup brainstorm. No pitch deck. Find a real request upstream declined, solve it externally, expose it to reality, and let the game decide whether it deserves another move.</ div >
< div class = "metric" >< span > incubation</ span >< span class = "value" > free</ span ></ div >
< div class = "metric" >< span > target</ span >< span class = "value" > $1</ span ></ div >
< div class = "metric" >< span > next move</ span >< span class = "value" > find tea</ span ></ div >
</ article >
< a class = "card issue" href = "https://github.com/anthropics/claude-code/issues/26252" target = "_blank" rel = "noreferrer" >
< div class = "label" > scout signal</ div >
< h2 > MCP access from Claude Code Task subagents</ h2 >
< div class = "copy" > A concrete user request in a hot repo, closed upstream as < strong > not planned</ strong > . Not automatically a business—just the kind of friction worth inspecting.</ div >
< div class = "issue-meta" > source ↗ github.com/anthropics/claude-code/issues/26252</ div >
</ a >
</ section >
< div class = "flow" aria-label = "notplanned loop" >
< span > scout friction</ span >
< span > check heat</ span >
< span > compose the smallest move</ span >
< span > launch</ span >
< span > reality selects</ span >
</ div >
</ main >
< footer >
< span > notplanned · build what fell off the roadmap</ span >
< span > game > company</ span >
</ footer >
</ div >
</ body >
2026-10-07 04:04:23 +00:00
</ html >