[{"data":1,"prerenderedAt":393},["ShallowReactive",2],{"blog-\u002Fen\u002Fblog\u002Fsix-months":3,"blog-twin-\u002Fen\u002Fblog\u002Fsix-months":223},{"id":4,"title":5,"author":6,"body":7,"cover":211,"coverAlt":211,"date":212,"description":213,"draft":214,"extension":215,"meta":216,"navigation":214,"ogImage":211,"path":217,"robots":211,"schemaOrg":211,"seo":218,"sitemap":219,"stem":220,"translationKey":221,"__hash__":222},"blog_en\u002Fen\u002Fblog\u002Fsix-months.md","Six months from brief to production","O3Studios",{"type":8,"value":9,"toc":205},"minimark",[10,19,24,31,119,123,130,133,149,153,160,163,167,170,185,188,191,201],[11,12,13,14,18],"p",{},"There's one line we repeat to the whole cohort: ",[15,16,17],"strong",{},"prototype by month 1, market by month 6",". Here's what that means in practice.",[20,21,23],"h2",{"id":22},"month-1-we-code-we-dont-pitch","Month 1 — We code, we don't pitch",[11,25,26,27,30],{},"No three-month ideation phase. If the idea isn't clear enough to start coding in month 1, it isn't ready. We frame the problem, we pick the stack, and ",[15,28,29],{},"we commit",". First deploy in week 4.",[32,33,38],"pre",{"className":34,"code":35,"language":36,"meta":37,"style":37},"language-bash shiki shiki-themes github-dark","# Typical structure of an incubated project, week 1\nmkdir o3studios && cd o3studios\ngit init\nbun create nuxt my-product\ngit push -u origin main\n# The repo exists before the first wireframe is done.\n","bash","",[39,40,41,50,72,81,96,113],"code",{"__ignoreMap":37},[42,43,46],"span",{"class":44,"line":45},"line",1,[42,47,49],{"class":48},"sAwPA","# Typical structure of an incubated project, week 1\n",[42,51,53,57,61,65,69],{"class":44,"line":52},2,[42,54,56],{"class":55},"svObZ","mkdir",[42,58,60],{"class":59},"sU2Wk"," o3studios",[42,62,64],{"class":63},"s95oV"," && ",[42,66,68],{"class":67},"sDLfK","cd",[42,70,71],{"class":59}," o3studios\n",[42,73,75,78],{"class":44,"line":74},3,[42,76,77],{"class":55},"git",[42,79,80],{"class":59}," init\n",[42,82,84,87,90,93],{"class":44,"line":83},4,[42,85,86],{"class":55},"bun",[42,88,89],{"class":59}," create",[42,91,92],{"class":59}," nuxt",[42,94,95],{"class":59}," my-product\n",[42,97,99,101,104,107,110],{"class":44,"line":98},5,[42,100,77],{"class":55},[42,102,103],{"class":59}," push",[42,105,106],{"class":67}," -u",[42,108,109],{"class":59}," origin",[42,111,112],{"class":59}," main\n",[42,114,116],{"class":44,"line":115},6,[42,117,118],{"class":48},"# The repo exists before the first wireframe is done.\n",[20,120,122],{"id":121},"months-2-3-iterating-in-public","Months 2-3 — Iterating in public",[11,124,125,126,129],{},"The product is live, nearly empty, and out there. We iterate with ",[15,127,128],{},"5 real users",", not with panels. The feedback that counts comes from actual use, not from forms.",[11,131,132],{},"By this point, the product must already:",[134,135,136,140,143,146],"ul",{},[137,138,139],"li",{},"Have a name",[137,141,142],{},"Have a domain",[137,144,145],{},"Have an onboarding that takes under 30 seconds",[137,147,148],{},"Have at least one real transaction completed end to end",[20,150,152],{"id":151},"months-4-5-polish-dont-pivot","Months 4-5 — Polish, don't pivot",[11,154,155,156,159],{},"This is where most startups drift. They pivot instead of polishing. At O3, the rule is simple: ",[15,157,158],{},"no pivoting before month 6",". Before that, we don't know what we have yet.",[11,161,162],{},"We polish. Performance, reliability, experience. Bugs become the absolute priority. Secondary features get cut without regret.",[20,164,166],{"id":165},"month-6-market","Month 6 — Market",[11,168,169],{},"By month 6, the product has its first real paying user, or its first concrete beneficiary if it's gov-tech \u002F ed-tech. That means:",[171,172,173,176,179,182],"ol",{},[137,174,175],{},"A purchase or signup flow that works 100% of the time",[137,177,178],{},"Simple pricing or a clear usage framework",[137,180,181],{},"One identified acquisition channel (one, not ten)",[137,183,184],{},"A support loop that responds within 24 hours",[11,186,187],{},"If those four points don't hold by month 6, we lost time somewhere in the previous five months. We look at where, we write it down, we learn for the next cohort.",[189,190],"hr",{},[192,193,194],"blockquote",{},[11,195,196,197,200],{},"This timeline isn't a marketing promise. It's what we've ",[15,198,199],{},"held to"," since the first cohort. When we miss, we write that too.",[202,203,204],"style",{},"html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":37,"searchDepth":52,"depth":52,"links":206},[207,208,209,210],{"id":22,"depth":52,"text":23},{"id":121,"depth":52,"text":122},{"id":151,"depth":52,"text":152},{"id":165,"depth":52,"text":166},null,"2026-05-11","The timeline we hold on every incubated product. Prototype by month 1, market by month 6.",false,"md",{},"\u002Fen\u002Fblog\u002Fsix-months",{"title":5,"description":213},{"loc":217},"en\u002Fblog\u002Fsix-months","six-mois","8fr1Tq0ruyyAtkRobxFnD1jhVN7riHJrXYoORlYjUQg",{"id":224,"title":225,"author":6,"body":226,"cover":211,"coverAlt":211,"date":212,"description":386,"draft":214,"extension":215,"meta":387,"navigation":214,"ogImage":211,"path":388,"robots":211,"schemaOrg":211,"seo":389,"sitemap":390,"stem":391,"translationKey":221,"__hash__":392},"blog_fr\u002Fblog\u002Fsix-mois.md","Six mois pour passer du brief à la prod",{"type":8,"value":227,"toc":380},[228,235,239,246,301,305,312,315,329,333,340,343,347,350,364,367,369,378],[11,229,230,231,234],{},"On répète une phrase à toute la cohorte : ",[15,232,233],{},"prototype dès le mois 1, marché dès le mois 6",". Voilà ce que ça veut dire concrètement.",[20,236,238],{"id":237},"mois-1-on-code-pas-on-pitche","Mois 1 — On code, pas on pitche",[11,240,241,242,245],{},"Pas de phase d'idéation qui dure trois mois. Si l'idée n'est pas assez claire pour coder le mois 1, c'est qu'elle n'est pas prête. On structure le problème, on choisit la stack, et ",[15,243,244],{},"on commit",". Premier déploiement la semaine 4.",[32,247,249],{"className":34,"code":248,"language":36,"meta":37,"style":37},"# Structure type d'un projet incubé, semaine 1\nmkdir o3studios && cd o3studios\ngit init\nbun create nuxt my-product\ngit push -u origin main\n# Le repo existe avant que le premier wireframe soit fini.\n",[39,250,251,256,268,274,284,296],{"__ignoreMap":37},[42,252,253],{"class":44,"line":45},[42,254,255],{"class":48},"# Structure type d'un projet incubé, semaine 1\n",[42,257,258,260,262,264,266],{"class":44,"line":52},[42,259,56],{"class":55},[42,261,60],{"class":59},[42,263,64],{"class":63},[42,265,68],{"class":67},[42,267,71],{"class":59},[42,269,270,272],{"class":44,"line":74},[42,271,77],{"class":55},[42,273,80],{"class":59},[42,275,276,278,280,282],{"class":44,"line":83},[42,277,86],{"class":55},[42,279,89],{"class":59},[42,281,92],{"class":59},[42,283,95],{"class":59},[42,285,286,288,290,292,294],{"class":44,"line":98},[42,287,77],{"class":55},[42,289,103],{"class":59},[42,291,106],{"class":67},[42,293,109],{"class":59},[42,295,112],{"class":59},[42,297,298],{"class":44,"line":115},[42,299,300],{"class":48},"# Le repo existe avant que le premier wireframe soit fini.\n",[20,302,304],{"id":303},"mois-2-3-itérer-en-public","Mois 2-3 — Itérer en public",[11,306,307,308,311],{},"Le produit est en ligne, vide ou presque, accessible. On itère avec ",[15,309,310],{},"5 utilisateurs réels",", pas avec des panels. Les retours qui comptent sont ceux qui viennent d'usage, pas ceux qu'on récolte par formulaire.",[11,313,314],{},"À ce stade, le produit doit déjà :",[134,316,317,320,323,326],{},[137,318,319],{},"Avoir un nom",[137,321,322],{},"Avoir un domaine",[137,324,325],{},"Avoir un onboarding qui tient en moins de 30 secondes",[137,327,328],{},"Avoir au moins une transaction réelle traversée de bout en bout",[20,330,332],{"id":331},"mois-4-5-polir-pas-pivoter","Mois 4-5 — Polir, pas pivoter",[11,334,335,336,339],{},"C'est là où la plupart des startups dérivent. On pivote au lieu de polir. Chez O3, la règle est simple : ",[15,337,338],{},"on ne pivote pas avant le mois 6",". Avant, on ne sait pas encore ce qu'on a entre les mains.",[11,341,342],{},"On polit. Performance, fiabilité, expérience. Les bugs deviennent priorité absolue. Les features secondaires sont coupées sans regret.",[20,344,346],{"id":345},"mois-6-marché","Mois 6 — Marché",[11,348,349],{},"Le mois 6, le produit a son premier vrai utilisateur payant — ou son premier bénéficiaire concret si c'est du gov-tech \u002F ed-tech. Ça veut dire :",[171,351,352,355,358,361],{},[137,353,354],{},"Un parcours d'achat ou d'inscription qui marche sur 100% des cas",[137,356,357],{},"Un pricing simple ou un cadre d'usage clair",[137,359,360],{},"Un canal d'acquisition identifié (un, pas dix)",[137,362,363],{},"Une boucle de support qui répond en moins de 24h",[11,365,366],{},"Si ces quatre points ne tiennent pas le mois 6, c'est qu'on a perdu du temps quelque part dans les cinq mois précédents. On regarde où, on note, on apprend pour la cohorte suivante.",[189,368],{},[192,370,371],{},[11,372,373,374,377],{},"Ce calendrier n'est pas une promesse marketing. C'est ce qu'on ",[15,375,376],{},"tient",", depuis la première cohorte. Quand on rate, on l'écrit aussi.",[202,379,204],{},{"title":37,"searchDepth":52,"depth":52,"links":381},[382,383,384,385],{"id":237,"depth":52,"text":238},{"id":303,"depth":52,"text":304},{"id":331,"depth":52,"text":332},{"id":345,"depth":52,"text":346},"Le calendrier qu'on tient sur chaque produit incubé. Prototype dès le mois 1, marché dès le mois 6.",{},"\u002Fblog\u002Fsix-mois",{"title":225,"description":386},{"loc":388},"blog\u002Fsix-mois","E_wxyMXQcSHc5dqY3CdnS5AgFSCXsAhbVVaQr3Q66sw",1787031774134]