Inspiration
JTV was originally created in 2003 as my undergraduate thesis at the University of Chile under the supervision of Professor Gonzalo Navarro. Its goal was to make the design and execution of Turing Machines intuitive through a visual notation instead of traditional transition tables.
More than twenty years later, I decided to bring the project back to life. Advances in modern web technologies and AI-assisted software development made it possible to completely redesign JTV as a browser-based application while preserving its original educational vision.
This project is also a tribute to Alan Turing and to the importance of making Theoretical Computer Science more accessible to students.
What it does
JTV is a visual Integrated Development Environment (IDE) for designing, editing, executing, debugging, and teaching Turing Machines.
Instead of manually defining states and transition tables, users build machines graphically using an intuitive notation based on connected instruction blocks.
The application allows users to:
- Design Turing Machines visually.
- Execute machines step by step or continuously.
- Observe tape evolution in real time.
- Debug machine execution interactively.
- Save and load machine definitions.
- Import legacy JTV projects.
- Use the tool entirely inside a modern web browser.
JTV is intended for students, educators, and anyone interested in Computability Theory.
How we built it
JTV was completely rebuilt as a Single Page Application using modern web technologies.
Main technologies include:
- Angular 21
- TypeScript
- PrimeNG
- HTML5 Canvas
- RxJS
- Signals
The application implements a complete execution engine capable of simulating Turing Machines while maintaining a responsive graphical interface.
AI played a fundamental role throughout development. OpenAI Codex acted as an engineering partner by assisting with architecture discussions, code generation, refactoring, debugging, testing, UI implementation, and migration of concepts from the original Java version to TypeScript.
Rather than generating the application automatically, AI significantly accelerated the implementation of a carefully designed architecture.
Challenges we ran into
The biggest challenge was not building a simulator from scratch—it was rebuilding a mature application while preserving more than twenty years of accumulated ideas.
Some of the main challenges included:
- Migrating an object-oriented Java desktop application to a modern web architecture.
- Designing a graphical editor that feels natural and responsive.
- Preserving compatibility with legacy JTV machine definitions.
- Reimplementing the complete execution engine in TypeScript.
- Balancing performance with a highly interactive user interface.
Another interesting challenge was learning how to collaborate effectively with AI throughout the software engineering process.
Accomplishments that we're proud of
We are especially proud of:
- Successfully modernizing a 20-year-old academic project.
- Building a fully functional browser-based Turing Machine IDE.
- Reducing redevelopment time from nearly one year to approximately 100 engineering hours through AI-assisted software engineering.
- Preserving the original educational philosophy while significantly improving usability.
- Demonstrating how AI can dramatically accelerate software engineering without replacing software design decisions.
- Creating a platform that can continue evolving for future educational use.
What we learned
This project demonstrated that AI is most powerful when it collaborates with experienced software engineers rather than replacing them.
Throughout development we learned:
- How to effectively integrate AI into an end-to-end software engineering workflow.
- The importance of maintaining architectural discipline while using AI-generated code.
- How modern frontend technologies can successfully support complex desktop-like applications.
- That rebuilding existing systems often requires more engineering judgment than creating new ones.
What's next for JTV
The journey is just beginning.
JTV is currently in the Quality Assurance (QA) stage. The next milestone is User Acceptance Testing (UAT), followed by its public release through the new official website.
Future plans include:
- Community repository of Turing Machines.
- Collaborative editing.
- Interactive tutorials.
- Automatic assessment for students.
- AI-assisted Turing Machine generation from natural language.
- AI explanations of machine execution.
- Educational integrations for university courses.
- Support for additional theoretical computation models.
Our long-term vision is to make JTV the reference platform for learning Computability Theory, combining visual programming, interactive simulation, and AI-powered educational assistance in a single open platform.
Built With
- angular.js
- canvas
- html5
- primeng
- signals
- typescript
Log in or sign up for Devpost to join the conversation.