Setup a web microservice that can accept current state, user input, and returns state changes that result from the input. You can write that in PHP, Perl, Python, NodeJS, Ruby-on-Rails, etc... Make your user interface Javascript, maybe using React or Angular so the page never has to reload. You don't have to get super fancy either - even just using jQuery you could accomplish this, though React has some nice state handling features, and Angular is also really good with inferfacing with microservices. Yeah - I would do this 100% in Python, but here's the main reason I would consider this option: Audience. You mentioned that you didn't want to pick something obscure (Atari 800), and this would definitely expand your potential audience as well as give you direct experience coding a polyglot application.