Important
Work in progress: This project is currently in active development. Features and APIs are subject to change.
synth.textmode.art is a live coding environment for procedural text generation and ASCII synthesis. It builds on textmode.js to create a browser-based creative coding environment with real-time execution, share links, and moderation tools.
- Visual synthesis: Driven by
textmode.js, offering a rich set of ASCII/textmode graphics tools and a modern WebGL2 pipeline. - High-performance editor: Built on Monaco Editor (the power behind VS Code) with custom syntax highlighting and tailored type definitions.
- Local persistence: Automatically saves your work and settings to your browser's local storage.
- Responsive layout: Designed for both desktop and mobile devices, ensuring your sketches look great everywhere.
Note
Performance depends on the complexity of your scripts and device capabilities.
Visit synth.textmode.art to start coding immediately - no installation required.
- Start coding: Write your scripts in the integrated editors. The environment will auto-execute your changes by default.
- Explore examples: Check the
Examplesmenu to see what's possible and learn from pre-made sketches. - Customize: Use the
Preferencesmenu to toggle UI visibility, adjust font sizes, or change editor settings.
To run the project locally:
# Install dependencies
npm install
# Start client dev server (Vite)
npm run client:dev
# Start server dev (Fastify + Prisma migrate)
npm run server:dev
# Start runner dev server (Vite)
npm run runner:dev
# Build for production (contracts → client → server → runner)
npm run buildThis project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.
synth.textmode.art is built upon several incredible open-source projects. We are grateful for their work and explicit permissions to use their software:
- textmode.js - MIT License
- textmode.synth.js - AGPL-3.0 License
- textmode.filters.js - MIT License
- zod - MIT License
- React - MIT License
- Monaco Editor - MIT License
- Radix UI / shadcn/ui - MIT License
- Tailwind CSS - MIT License
- zustand - MIT License
- Lucide React - ISC License
- Sonner - MIT License
- yet-another-react-lightbox - MIT License
- lz-string - MIT License
- Fastify - MIT License
- Prisma - Apache-2.0 License
- Playwright - Apache-2.0 License
- discord.js - Apache-2.0 License
- Nodemailer - MIT License
- Vite - MIT License
- TypeScript - Apache-2.0 License
- Prettier - MIT License