Skip to content



Repository files navigation

Tech Talk

An opinionated Markdown-based technical slideshow tool with a built-in terminal that just works.


  • Write your slides with Markdown
  • Built-in terminal (both local or via SSH)
  • Supports presenter mode with notes & timer, cloned displays, etc.
  • Simple, self-contained executable for Winows, Mac & Linux
  • PDF export with your browser's built-in print to PDF
  • Trivial to customize and distribute within your company


Start by downloading a release or your company's variant. You probably want to put it into /usr/local/bin/tech-talk on Mac / Linux. On Windows you can save tech-talk.exe anywhere as it is fully self-contained / portable.

# See a demo slideshow

# Use your own slides

# Use SSH to connect to some server for the terminal
tech-talk -host user@hostname

# Custom ports are also allowed
tech-talk -host user@hostname:port

# Windows users must pass an authentication method as an internal SSH
# mechanism is used instead of OpenSSH. Keys are recommended over passwords.
tech-talk -host user@hostname -pass cleartext-password
tech-talk -host user@hostname -key id_rsa
tech-talk -host user@hostname -key my-key.pem

# Mac / Linux users can force the use of the internal SSH client and use the
# same options that Windows users would use from above.
tech-talk -ssh internal ...

Then go to http://localhost:4000/ to view.


Sending around boilerplate or configs to everyone sucks. Build your own self-contained executable with your company's theme and let people focus on making great talks.

First you'll want to install Go and Glide (e.g. curl | sh). Then:

mkdir -p $GOPATH/src/
cd $GOPATH/src/
git clone
cd tech-talk
$GOPATH/bin/glide install

Now, make your customizations!

Once you are ready:

# Build for your OS and test

# Or, cross-compile, e.g:
GOOS=linux GOARCH=386 ./

# Automated release (cross-compile to supported platforms):

Remember to run ./ each time you make a change, and your browser may cache items so Cmd+Shift+R or Ctrl+Shift+R to force a refresh are useful.

Now you can upload your executables somewhere like Google Drive and share them within the company.


This project is possible because of the amazing work done by many people in the following projects, many of which are used with slight modifications or custom settings:

So, how does this beast work? Simple, really. It starts both a web server and Socket.IO server, renders an index page with Remark.js using the user-supplied Markdown, which in turn contains an iframe with a terminal that uses the socket to communicate with a PTY running either a login shell or ssh session. For the internal SSH client there is no client-side PTY but instead a couple pipes through an SSH connection.



Markdown slideshows with a built-in terminal that just works






No packages published


  • JavaScript 97.4%
  • Go 1.9%
  • Other 0.7%