So what does Syme offer?
It sets up disposable EC2 nodes for collaborating on GitHub projects via ssh and tmux.

  1. Enter the name of a GitHub repo. (Authorize Syme via GitHub if you haven't already.)
  2. Enter your AWS credentials and names of GitHub users to invite.
  3. SSH into the instance once it's booted using the command shown and launch tmux.
  4. Send the login info to the users you have invited.

How does it work?
SSH public keys are fetched via GitHub profiles, so all collaborators must have a key pair with the public key uploaded to GitHub. You can add collaborators after the instance has launched with the add-github-key script. The Syme codebase is free software, so you are welcome to inspect its implementation and contribute improvements.
What is tmux?
It's a terminal multiplexer. You can think of it like a window manager; it lets you keep multiple textual "windows" open and switch among them. But more importantly it allows multiple users to connect and see the same thing, kind of like VNC screen sharing but dramatically faster. The first person runs tmux and others run tmux attach to join. There's a good introductory video to tmux available.
What can I run?
You will have passwordless sudo on a recent Ubuntu VM, so anything that runs there is fair game. It limits you to sharing programs that run inside a terminal, so you'll need to brush up on your Emacs or Vim skills. It also means it's a bit more complicated when you need a browser. Most browsers can't run inside tmux, so each collaborator will have to run their own browser on their local machine. By default only the SSH port is open, so you'll either need to tunnel a connection to your HTTP server using ssh -L 8080:localhost:8080 syme@N.N.N.N or open more ports in the "syme/$USERNAME" security group in your the AWS EC2 console.
Is it safe?
Your AWS credentials are kept in an encrypted cookie in your browser and aren't stored server-side beyond the scope of your request. Forwarded SSH agents are disabled since otherwise collaborators would be able to hijack them, so Git access should be done over HTTPS instead. This means you'll have to enter your password when you push. If you don't trust Syme with your full AWS credentials you can provide credentials to IAM account that only has permissions to launch instances. You need to authorize via GitHub, but this is only to verify your username; GitHub does not grant access to private data to Syme.
All this for free?
Sort of. You will be billed by Amazon for EC2 time (m1.small) until the instance is halted, which you can do through Syme or over SSH via sudo halt. But Syme itself doesn't cost anything. You may want to periodically check your AWS EC2 console to ensure you aren't billed for instances you intended to stop that stayed running due to problems with Syme. In particular this happens due to timeout errors.
Can it be customized?
Sure. Adding a .symerc script to any GitHub repository will let you run project-specific setup; for instance installing a database server. For customizations that apply to all instances you launch, you can create a .symerc GitHub repository under your account with a bootstrap script inside it. Finally, customizations can be applied on a per-language basis by adding shell scripts into the resources/languages directory of Syme's own codebase; pull requests for additional languages are welcome. All those scripts get run with passwordless sudo privileges after the repository has been checked out.

Syme is inspired by pair.io.