ð€ AIãš1é±éã§WebããŒã¿ã«ãäœã£ãèšé² â Day 2: ããã³ã³æåŸ å€èšç®ããŒã«ã®å®è£

ã¯ããã« â Day 2ã§ã売ãç©ããäœã
Day 1ã§ãããžã§ã¯ãã®éªšæ Œãã§ãããDay 2ã¯ãã®ããŒã¿ã«ã®ååšæçŸ©ãã®ãã®ãäœãæ¥ã§ãã
Gravity Portalã®æ žã¯ããã³ã³æåŸ å€èšç®ããŒã«ãæ©çš®ã®ã¹ããã¯ïŒå€§åœã確çãã©ãã·ã¥ç¶ç¶çãåºçæ°ãªã©ïŒãããä»»æã®å転çã»äº€æçã§1åãããã®æåŸ å€ãç®åºããããŒã«ã§ãã
æ®æ®µããã³ã³åºã§ããã®å°ãæã€ã¹ããïŒãã倿ããããã«äœ¿ããã®ã§ãããããªããšGravity Portalã¯ããã ã®ããã°ãµã€ããã§çµãã£ãŠããŸããŸãã
ð° èšç®ãšã³ãžã³ã®èšèš â AIã«ãæåŸ å€ã®èšç®åŒããæãã
ãŸãèªåãæã£ãŠãããã®
ããšããšGoogleã¹ãã¬ããã·ãŒãã§ç¬èªã®æåŸ å€èšç®ã·ãŒããéçšããŠããŸãããæ©çš®ããšã®è€æ°ã®ã¹ããã¯èŠçŽ ãçµã¿åãããä»»æã®æ¡ä»¶äžã§ã®æåŸ å€ãç®åºããä»çµã¿ã§ãããã®ã¹ãã¬ããã·ãŒãã®èšç®ããžãã¯ãAntigravityã«ãTypeScriptã§èšç®ãšã³ãžã³ãšããŠå®è£ ããŠããšäŸé ŒããŸããã
AIãšã®å ±åèšèš
æåãAIã¯ãäžè¬çãªæåŸ å€èšç®ããææ¡ããŠããŸããããããã³ã³ç¹æã®èŠçŽ ïŒéã¿ã€ã ãæçäžã®åŒãæ»ã確çãæçæ¯çã«ããå䟡差ïŒãèæ ®ãããŠããŸããã§ããã
ããã§éèŠã ã£ãã®ã¯ãèªåã®ãã¡ã€ã³ç¥èãAIã«æ£ç¢ºã«äŒãããããšãã¹ãã¬ããã·ãŒãã®èšç®åŒã1ã€ãã€èŠããªãããAIã«TypeScriptã§åå®è£ ãããŸãããå ·äœçãªèšç®ããžãã¯ã¯ææããŒã«ã®æ žå¿éšåãªã®ã§å ¬éã§ããŸããããåçŽãªã倧åœã確ç à åºçãã§ã¯ãªãã倧åœã確çã»åºçã»ç¶ç¶çã»éã¿ã€ã ã»äº€æçã»æçæ¯çãšãã£ãè€æ°ã®å€æ°ãçµã¿åããã宿Šåãã®èšç®ãšã³ãžã³ãæ§ç¯ããŠããŸãã
æèš: AIã¯æ±çšçãªèšç®ã¯ã§ãããããã¡ã€ã³åºæã®ç¥èã¯äººéãæã£ãŠãããAIã«ãäœãèšç®ãã¹ããããæ£ç¢ºã«äŒããªããšãèŠãç®ã¯åããçµæãééã£ãŠããã³ãŒããçæãããã
ð 1000æ©çš®ã®ã¹ããã¯ããŒã¿ â ã¹ã¯ã¬ã€ãã³ã°v2
ããŒã¿ã®èª²é¡
èšç®ãšã³ãžã³ãã§ããŠããèå¿ã®æ©çš®ããŒã¿ããªããã°äœ¿ãç©ã«ãªããªããåœåã¯Googleã¹ãã¬ããã·ãŒãããæåã§CSVãèªã¿èŸŒãã§ããŸãããã1000æ©çš®ä»¥äžã®ããŒã¿ãæå管çããã®ã¯éçããããŸããã
ã¹ã¯ã¬ã€ããŒã®èªåå
Antigravityã«ãããã³ã³æ©çš®ã®ã¹ããã¯ããŒã¿ãèªåååŸããã¹ã¯ã¬ã€ããŒãäœã£ãŠããšäŸé Œãçµæãcollect-machines.mjsãšããã¹ã¯ãªããã宿ããŸãã:
- P-WORLDçã®å ¬éããŒã¿ããæ©çš®ã¹ããã¯ãèªåååŸ
- 1064æ©çš®ã®ããŒã¿ã
machines.jsonã«æ ŒçŽ - ãšã€ãªã¢ã¹æ€çŽ¢ïŒ1012ãã¿ãŒã³ïŒã§ãæ£åŒåç§°ãããããªããŠãèŠã€ããã
- GitHub Actionsã§é鱿¥æã«èªåå®è¡
ããŒã¿ã®è¥å€§ååé¡
1064æ©çš®ã®JSONãã¡ã€ã«ã¯çŽ13MBã«ãŸã§èšãäžãããŸãããããããããã€ãµã€ãºãå§è¿«ããåŸã«Cloudflare Pagesã®ãã¡ã€ã«ãµã€ãºå¶éïŒ3MiBïŒã«åŒã£ãããåå ãšãªããŸãïŒDay 1åç §ïŒã
æçµçã«ã¯GitHub Pagesã«åé¢ããVercelã®rewriteæ©èœã§ãããã·ããæ§æã«èœã¡çããŸããã
â¡ Proã®éçãUltraãžã®ç§»è¡ â ãã¹ãŠã®ç ©ãããããã®è§£æŸ
ã¹ã¯ã¬ã€ãã³ã°v2ã®éçºäžãããå£ã«ã¶ã€ãããŸãããAntigravity Proãã©ã³ã®ããŒã¯ã³äžéã§ãã
ã¹ã¯ã¬ã€ããŒã¯1000以äžã®æ©çš®ããŒãžãå·¡åããè€éãªHTMLæ§é ããããŒã¿ãæœåºããå¿ èŠããããŸãããšããžã±ãŒã¹ã®åŠçããšã©ãŒãã³ããªã³ã°ãããŒã¿ã®æ£èŠåââããåããæ·±ããªãã»ã©ãAIãšã®äŒè©±ã¯é·å€§ã«ãªã£ãŠãããŸããã
ãããŠãŸãã«äœ³å¢ãšããã¿ã€ãã³ã°ã§ããããŒã¯ã³äžéã«å°éããŸãããã®éç¥ãäŒè©±ããªã»ããããããããŸã§ã®æèããã¹ãŠå€±ãããããŸãæåãã説æãçŽãããã®ããã©ããããã¯ãAIãšäºäººäžèã§éçºããŠããæã«æãã¹ãã¬ã¹ãæããç¬éã§ãã
ãããææ ¢ã§ããªããââããæã£ãç§ã¯ãAntigravity Ultraãã©ã³ã«å³åº§ã«ç§»è¡ããŸããã
Ultraã®å¹æã¯åçã§ãã:
- ããŒã¯ã³äžéãäºå®äžãªããªã£ã â äœæéã§ãéåããã«éçºã»ãã·ã§ã³ãç¶ãããã
- ã³ã³ããã¹ãã®æ·±ããæ®µéã â ãããžã§ã¯ãå šäœã®æ§é ãææ¡ããäžã§ãçç¢ºãªææ¡ãããŠããã
- è€éãªãªãã¡ã¯ã¿ãªã³ã°ãäžçº â ããã®ãã¡ã€ã«ãšãã®ãã¡ã€ã«ã®äŸåé¢ä¿ãæŽçããŠããšèšãã ãã§å®äº
ProâUltraã®ç§»è¡ã¯ããå¶éã®äžã§å·¥å€«ããéçºããããå¶éãæèããªãéçºããžã®é²åã§ãããæ¥åžžã§ã¡ãã£ãšããã¹ãã¬ã¹ã ã£ããããŒã¯ã³æ®éãæ°ã«ããªããã®äŒè©±ãããªããªã£ãã ãã§ãéçºã®ãªãºã ãåçã«å€ãããŸããã
æèš: éçºããŒã«ãžã®ã±ããã¯æå€§ã®ã³ã¹ãå¢ãProã§ååã ãšæã£ãŠããã®ã¯ãUltraã䜿ã£ãããšããªãã£ããããäžåºŠäœéšãããšãããæ»ããŸããã
ð¥ïž UIã®é²å â iframeããReactãž
Phase 1: iframeçµ±å
æåã¯æ¢åã®éçHTML/JavaScriptçã®èšç®ããŒã«ãiframeã§åãèŸŒãæ¹åŒãæ¡çšããŸãããçç±ã¯åçŽã§ãæ¢ã«åããŠãããã®ãæéã§çµ±åãããã£ããããã
ããããiframeæ¹åŒã«ã¯åé¡ããããŸãã:
- ã¬ã¹ãã³ã·ã察å¿ãå°é£ïŒã¹ããã§ã®è¡šç€ºåŽ©ãïŒ
- èªèšŒæ å ±ã®åãæž¡ããé¢å
- SEOçã«iframeå ã®ã³ã³ãã³ãã¯è©äŸ¡ãããªã
Phase 3: ãµãŒããŒãµã€ãAPI + Reactã³ã³ããŒãã³ãå
æçµçã«Antigravityãšäžç·ã«ãã«Reactã³ã³ããŒãã³ãåã宿œ:
- èšç®ããžãã¯ã
/api/calculateã®ãµãŒããŒãµã€ãAPIã«ç§»è¡ - UIãReactã³ã³ããŒãã³ããšããŠåå®è£
- ClerkèªèšŒ + Stripe決æžãã§ãã¯ãAPIã¬ãã«ã§çµ±å
- èšç®çµæã®ã³ããŒïŒã·ã§ã¢æ©èœã远å
ãã®ç§»è¡ã¯Day 2ã ãã§ã¯çµããããDay 3ã4ã«ãããŠæ®µéçã«é²ããŸããããæçµçãªå§¿ã¯Day 2ã®èšèšã§æ±ºãŸã£ãŠããŸããã
ð æ©çš®æ€çŽ¢UI â ããããŸãæ€çŽ¢ãã®å®è£
1000以äžã®æ©çš®ãããŠãŒã¶ãŒãç®çã®å°ãèŠã€ããããã«ããããŸãæ€çŽ¢ïŒfuzzy searchïŒãå®è£ ããŸããã
ããŒã¯ã³å岿€çŽ¢
äŸãã°ã倧工 æºãããã§æ€çŽ¢ãããšããå€§å·¥ã®æºããè¶ éé§å€©ããããããããå ¥åæååãã¹ããŒã¹ã§ããŒã¯ã³åå²ããå šããŒã¯ã³ãæ©çš®åã«å«ãŸããŠããã°ããããšããæ¹åŒã§ãã
ãšã€ãªã¢ã¹å¯Ÿå¿
ããã³ã³æ©çš®ã¯æ£åŒåç§°ãé·ãããŠãŒã¶ãŒãç¥ç§°ã§æ€çŽ¢ããããšãå€ã:
- ããšãŽã¡ãâ ãCRã±ãŽã¡ã³ã²ãªã²ã³ãå§ãŸãã®çŠé³ãã
- ããŸã©ãã®ãâ ãSLOTåå Žçéæ³å°å¥³ãŸã©ãâãã®ã«ã
ã¹ã¯ã¬ã€ããŒã§ååŸããæ©çš®åããèªåçã«ãšã€ãªã¢ã¹ãçæããæ€çŽ¢å¯Ÿè±¡ã«å«ããããšã§ã1012ãã¿ãŒã³ã®ãšã€ãªã¢ã¹ã§çŽæçãªæ€çŽ¢ãå®çŸããŸããã
ð Day 2ã®ãŸãšã
| é ç® | çµæ |
|---|---|
| äœæ¥æé | çŽ10æé |
| 宿ãããã® | èšç®ãšã³ãžã³ãã¹ã¯ã¬ã€ããŒãæ©çš®æ€çŽ¢UIãiframeçµ±å |
| æ©çš®ããŒã¿ | 1064æ©çš®ããšã€ãªã¢ã¹1012ãã¿ãŒã³ |
| æå€§ã®èŠåŽ | éã¿ã€ã èšç®åŒã®ç²ŸåºŠïŒã¹ãã¬ããã·ãŒããšã®å®å šäžèŽïŒ |
| AI掻çšã®ãã€ã³ã | ãã¡ã€ã³ç¥èã¯äººéãæäŸãå®è£ ã¯AIã«ä»»ãã忥 |
ð¡ Day 2ã®åŠã³
1. ã売ãç©ããæåã«äœãããšã®éèŠæ§
èªèšŒããã¶ã€ã³ã¯åŸããã§ãå€ããããŸããããããã¯ãã®æ žãšãªãæ©èœã匱ããã°äœãå§ãŸããªããDay 2ã§èšç®ãšã³ãžã³ãæåªå ã§å®è£ ããå€æã¯æ£è§£ã§ããã
2. AIã«ããã¡ã€ã³ç¥èããäŒããæè¡
ããã³ã³ã®æåŸ å€èšç®ã¯äžè¬çãªããã°ã©ãã³ã°ç¥èã ãã§ã¯å®è£ ã§ããŸãããã¹ãã¬ããã·ãŒãã®èšç®åŒã1ã€ãã€èŠããããã®å€ã¯ããããæå³ã§ãããèšç®ããããšäžå¯§ã«äŒããããšã§ãAIã¯æ£ç¢ºãªã³ãŒããçæããŠãããŸãããAIã¯å®è£ ã®å€©æã ãããã¡ã€ã³ã®å°éå®¶ã§ã¯ãªãã
3. ããŒã¿ã®è¥å€§åã¯æ©ãã«å¯ŸåŠ
13MBã®JSONãã¡ã€ã«ããããã€ã劚ããäºæ ã«ãããŒã¿ãšã³ãŒãã®åé¢ïŒGitHub Pages + Vercel rewriteïŒã¯æåããèšèšã«å ¥ããŠããã¹ãã§ããã
ð ã·ãªãŒãºäºå®
- Day 1: æ§æ³ãšNext.jsã»ããã¢ãã
- Day 2: ããã³ã³æåŸ å€èšç®ããŒã«ã®å®è£ â ä»ãã
- Day 3: ããã°æ©èœãšåçåïŒStripe + åºåïŒ
- Day 4: AIã®èšæ¶ã®éç â ã³ã³ããã¹ããŠã£ã³ããŠãšã®æŠã
- Day 5: AIãæŽèµ°ããæ¥ â ã«ãŒã«éåãšä¿¡é Œã®åæ§ç¯
次å Day 3 ã§ã¯ãStripe決æžã®å°å ¥ãšåºåèšçœ®ããÂ¥580/æãã®å€æ®µèšå®ã«è³ããŸã§ã®æèéçšãå ¬éããŸãããæ¥œãã¿ã«ïŒ