S2AI is an open-source experimental project that allows two AI models to interact, reason, and respond together, powered by a React frontend and a Node.js + Express backend.
This project was built to move beyond tutorials and into real system design, provider orchestration, and frontend–backend integration.
- Build something from scratch
- Learn how AI systems are wired together
- Experiment with multiple AI providers
- Understand real-world backend architecture
- Create a usable, open-source learning project
This is not a SaaS, not a product, and not monetized. It’s a learning playground. The Full project is currently under Construction and don't know when realissed
- AI-1 generates a response
- AI-2 reviews / critiques / adjusts internally
- Only the final, public-safe output is returned to the user
- Provider logic is modular and extensible
- React (Vite)
- TypeScript
- React Router
- Tailwind CSS
- Context API (in-memory state)
- Node.js
- Express.js
- Modular services & controllers
- Provider-based architecture
- OpenAI
- Gemini
- Ollama (local models like LLaMA 3)
- Easy to extend with new providers
/frontend
└─ src
├─ app
├─ components
├─ pages
├─ context
├─ services
└─ utils
/backend
└─ src
├─ routes
├─ controllers
├─ services
├─ providers
└─ app.js
git clone https://github.com/your-username/S2AI.git
cd S2AIcd backend
npm install
npm run devRuns at:
http://localhost:5000
cd frontend
npm install
npm run devRuns at:
http://localhost:5173
You must provide your own API key from one of the supported providers:
- OpenAI
- Gemini
- Ollama (local)
Paste the key into the Settings section inside the app.
🔐 API keys are:
- validated by the backend
- kept in memory only
- never stored or logged
- Experimental project
- Prompts and logic are still being refined
- No authentication (by design)
- Not production-ready
- Focused on learning, not scale
- Provider-based system design
- Frontend vs backend responsibility
- API validation strategies
- Real debugging (not tutorial land)
- Why building beats watching
Feel free to:
- Fork the repo
- Improve prompts
- Add providers
- Refactor architecture
- Experiment freely
PRs and ideas are welcome.
Open-source. Use it. Break it. Learn from it.
At some point the question changed from “What tutorial should I watch next?” to “When am I going to build my own thing?”
This is that thing.