A Next.js-based website that evolves itself automatically using AI.
This project is an experiment in autonomous software evolution. The website is equipped with a mechanism to update its own codebase, content, and features driven by AI models (Claude, AI 2, etc.) running on a schedule.
Twice a day (at 6:00 and 18:00 JST), the system:
- Analyzes its own performance (via Google Analytics).
- Reviews the current codebase and feature set.
- Generates a new prompt to improve itself.
- Implements changes directly to the codebase.
- Deploys the updated version to production.
- Frontend: Next.js 15 (App Router), React 19, Tailwind CSS
- Infrastructure: Google Cloud Run (Containerized Deployment)
- Database: Neon (PostgreSQL)
- AI Orchestration: GitHub Actions
- AI Providers: OpenRouter (accessing models like Claude 3.5 Sonnet, AI 2)
The self-evolution process is handled by GitHub Actions workflows located in .github/workflows/:
ai-evolve-ai1-skill-cli.yml: Scheduled workflow for the generic/free tier evolution.ai-evolve-ai2-skill-cli.yml: Scheduled workflow for the premium/specific model evolution.
These workflows execute scripts in scripts/ to:
- Fetch analytics data (
fetch-analytics.js). - Generate a prompt based on recent changelogs and analytics (
generate-prompt.js). - Execute the AI coding agent to modify the source code (
ai-evolve.js). - Verify the build (
npm run build). - Commit and push changes if the build passes.
- Node.js 20+
- npm
-
Clone the repository:
git clone https://github.com/yuga-hashimoto/self-evolving-website.git cd self-evolving-website -
Install dependencies:
npm install
-
Run the development server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
While this website is designed to evolve via AI, human contributions are welcome! Please check CONTRIBUTING.md for details on how to propose changes manually.
This project is licensed under the MIT License.