Content Library

This is a collection of additional content—how-to guides, code snippets, videos, essays, anything—to help you be productive with and deepen your understanding of Biff. It's just getting started, so there isn't much here yet!

Much of the content here is/will be broadly applicable to Clojure web dev, even if you aren't using Biff.

How-to guides & code snippets



This is a list of ideas I have for content I'd like to add to the library. Community contributions are welcome. Send me any Biff-related content you create and I'll add a link to it somewhere. Doesn't need to be polished; even a few lines of code pasted into a gist could be useful to someone.

How-to guides & code snippets

  • Using Electric
  • Container-based deployment
  • Debug middleware problems
  • Setting up an admin reporting dashboard with product usage stuff. Maybe with Metabase.
  • Common tasks with htmx/hyperscript/plain js/alpine.js
  • Scaling horizontally
  • Using Integrant
  • Replace Biff's built-in auth with firebase auth/Auth0
  • Make an app that receives email
  • Use the Stripe API
  • Modify an existing component/modify the auth plugin
  • Testing


  • Creating a new project
  • Deploying a new app for the first time
  • Workflow for developing a new feature
  • Develop-in-prod workflow


  • Understanding some different options for front-end stuff and when/how to use them (htmx, hyperscript, plain js, alpine.js, react etc)
  • Biff rationale + philosophy, including a discussion of libraries vs. frameworks
  • Comparison to other frameworks/approaches and discussion of what situations Biff is/isn't good for.
  • Why I like XTDB (mostly in comparison to postgres, maybe compare to datomic as well)
  • Yakread case study

Biff from scratch

A series of lessons that would show you how to put together a web application piece-by-piece, without Biff. Along the way you'll recreate (parts of) Biff.

Have a question? Join the #biff channel on Clojurians Slack.

Sign up for Biff: The Newsletter
Announcements, blog posts, et cetera et cetera.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.