Waxx
Kanban with workflows that actually mean something.
Define a reusable workflow template — stages, branching transitions, labels, custom fields — then spin up boards that follow it. Cards only move along the edges you drew, so the column layout is also the rulebook.
Wax on — draw the path
Cards flow where the graph permits
Wax off — ship the work
What's in the box
Real workflow modelling, not just three columns and good intentions.
Branching workflows
Each board's columns are a directed graph. Cards can only move along transitions you defined — both the UI and the server enforce it. Visual editor in the template draws the graph; backward edges loop out to the side.
Reusable templates
Stages, transitions, labels and custom fields live on a template. Boards clone the template at creation time and then drift independently; future template edits propagate by name to boards that haven't drifted.
Labels and custom fields
Tag cards with coloured labels, attach due dates, locations, free text, or pick-one selects. Toggle "show on card" to surface a field as a chip on the kanban tile.
Drag, drop, assign
HTML5 drag-and-drop with green / red drop highlights that match the workflow rules. Reorder within a column or drop into a new one — same gesture, same enforcement. Multi-assign per card.
Live multiplayer
Phoenix PubSub broadcasts every card change to other tabs viewing the same board. Edit a template stage and every board using it grows the new column in place.
Invite-only by default
App-level invites gate registration; board-level invites grant
membership on a specific board with a role (owner / editor / viewer).
Mint links from the UI or from mix phx.gen.invite.
Auto-archive what's done
Cards that sit in a terminal stage (no outgoing edges) longer than the board's threshold drop out of the view automatically — 7 days by default, per-board configurable, blank disables. Per-stage entry timestamp means title edits don't accidentally reset the clock.
Board history
Every card mutation lands in the activity log with actor and timestamp. Denormalised meta strings mean the log stays readable even after a stage is renamed or a card deleted. One click from any board.
Quiet labels when you need them
A per-user, per-board toggle collapses label chips to just their coloured dots — same information at a glance, less ink on the board. Sticks across sessions via a single user prefs jsonb column.
Subboards — second dimension
Split a board into rows. Stages run across the top, subboards run down the side. Drag a card into a row to assign it; new cards land in a "default" row until you move them. Same workflow rules apply across the whole grid.
From zero to a board in three steps
The shape of your work first, then the work.
-
01
Draw the workflow
Open
/workflow-templates, add a stage, click another stage to draw a transition. Skip-ahead arrows arc out; back edges loop. Add labels and custom fields while you're there. -
02
Create a board
Pick a template. Waxx clones its stages, transitions, labels and fields into a per-board copy you can tweak without breaking other boards.
-
03
Invite, drag, ship
Mint board invites for collaborators, drop cards into stages, watch updates land in real time. The graph keeps everyone honest.
Phoenix LiveView, all the way down
Server-rendered HTML, websocket diffs, colocated JS hooks for drag and drop, PubSub for fan-out, UUIDv7 primary keys so rows sort by creation time, daisyUI themes including six ported from neiam-co plus a blueprint palette. Open source.