🐝 Programming by Navigation with 🐝

Honeybee

Honeybee is a programming tool you can use to help you write Python code to analyze experimental data, like RNA-seq or microscopy data!

Give Honeybee a try!

Warning: Honeybee is a work-in-progress! Please email Justin at justinlubin@berkeley.edu for an interactive demo! ☺

It works in two steps:

  1. First, you write down your experimental workflow and goal.
  2. Then, Honeybee helps you work backward from your goal to write a program to analyze your experimental data.

Once you finish the first step (filling out the details of your experiment), the next step (navigating to an analysis program) works like this:

You’ll keep working backward until there are no steps left.

If you’re interested in Honeybee, please feel free to give it a try!

Video Demo

Learning Materials and Documentation

Coming soon!

Project Information

Justin Lubin is the primary researcher and developer for the Honeybee project, with assistance from Parker Ziegler, Marlena Preigh, and Eric Rawn. Justin is a computer science PhD candidate in PLAIT Lab at UC Berkeley advised by Sarah E. Chasins.

Honeybee is co-designed with the Nuñez Lab at UC Berkeley. Their involvement is invaluable in its shaping!

If you use Honeybee for a project, please cite our PLDI 2025 paper:

Justin Lubin, Parker Ziegler, and Sarah E. Chasins. 2025. Programming by Navigation. Proc. ACM Program. Lang. 9, PLDI, Article 165 (June 2025), 28 pages. https://doi.org/10.1145/3729264

We would also love to hear from you if you’re interested in Honeybee or have any questions! Please email Justin Lubin at justinlubin@berkeley.edu.

Privacy

Honeybee does not collect any personal data! ☺ We do, however, use GoatCounter (a privacy-friendly Google Analytics alternative) to collect completely anonymous usage statistics such as page views. You are free to use an ad blocker to block the collection of this anonymous data.

In particular, Honeybee does not upload any of your scientific data or analyses to a server. When you create a program with Honeybee, the authoring process happens entirely on your own computer, in your browser. After constructing a program in Honeybee, you can download it and run it on whatever machine you like to analyze your data. Honeybee does not run the program.