Projects Jams Discord
Resources
Unwind Fishbowls Forums Newsletter
About
Manifesto About the Team
Log In

Visibility Jam

July 19 - 21, 2024
Join the Discord Guidelines

What does "visibility" mean?

Too many things in computing are invisible.

We have too little insight into our machines. We have no idea what our CPU is up to, what our operating system is up to, what our language runtimes are up to. Even the simple question of "what port is my program using?" requires arcane command line tools to answer.

This is not because that information is complicated or confusing. The information is there, but no one has made it visible.

Building high quality software, the Handmade way, requires us to understand our systems. But we cannot understand what we cannot see. Making things visible is the first step to making them better.

So for this jam, make something visible. Maybe it's a map of an unfamiliar codebase. Maybe it's a trace of your program's execution. Maybe it's a breakdown of a file format, a deep dive into an algorithm, or a tool to expose the inner workings of your OS. Whatever you choose, you have a weekend to make it happen.

Inspiration

The following projects are amazing examples of visibility in action. Some were even standout submissions from last year's jam!

For more inspiration, check out the #wishlist channel on Discord.

REDE shows you the internal structure of a regex engine as you execute it.
Escape Artist shows all the invisible ASCII escape codes in terminal output.
Graphviz can be used to make debug visuals for almost any data structure.
Red Blob Games shows you the inner workings of common algorithms.
Wireshark exposes all activity on your network devices.
vmmap allows you to see exactly how your address space is allocated.
Spall allows you to explore your program's execution at terrifying speeds.
Bugs can be very obvious when you render out the data. (Example: a random number generator.)
The Chrome Dev Tools can show you which elements are being repainted as you browse.
npmgraph shows you the full dependency graph of a JavaScript package, including its size on disk.
This Shadertoy helps visualize why floating-point error can cause problems in video games. (original tweet)

How to participate

Choose a project.

Think of something to make visible! If you want to brainstorm ideas or find a team to work with, join the Handmade Network Discord.

Jam.

After the jam starts, create a Handmade Network project. This project will act as your submission and can be used to share your work in progress.

Then get started! Share screenshots and videos in #project-showcase on Discord, or directly from your project page.

Submit your work!

Your Handmade Network project is your submission. Fill out the project description, making sure to explain the goals of the project and what inspired you to visualize it. Include plenty of pictures and videos!

Submissions are now closed.