Need help with shenzhen-go?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

448 Stars 43 Forks Apache License 2.0 803 Commits 19 Opened issues


Experimental visual Go environment

Services available


Need anything else?

Contributors list

"SHENZHEN GO" (working title)

Doc Status license

SHENZHEN GO (working title) is an experimental visual Go environment, inspired by programming puzzle games such as TIS-100 and SHENZHEN I/O.

SHENZHEN GO provides a UI for editing a "graph," where the nodes are goroutines and the arrows are channel reads and writes. (This is analogous to multiple "microcontrollers" communicating electrically in a circuit.) It can also convert a graph into pure Go source code, which can be compiled and run, or used as a library in a regular Go program.

SHENZHEN GO was unveiled at the 2017 Open Source & Games Miniconf.


Example Graph

Getting started

See the getting-started guides at

...for the impatient gopher

Choose one of:

git clone && cd shenzhen-go && go install
git clone && cd shenzhen-go && go install -tags webview
go get -u
go get -u -tags webview


This is not an official Google product.

This is an experimental project - expect plenty of rough edges and bugs, and no support.

For discussions, there is a Google Group and a Slack channel.


This project wouldn't be nearly as good as it is without the following:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.