Skip to content

About

Who's free next week? A self-hosted, week-by-week capacity view for small agencies.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5,092 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CapacityLens

Who's free next week?

A 50-second walkthrough of the CapacityLens demo: an over-capacity day shows in red, a tentative booking is reassigned to a colleague, new work is booked by dragging across two days, the schedule zooms out to four weeks, a client, a project and a person are added, the new person is booked onto the new project, and the Overview shows free days per person for the weeks ahead.

Illustrative October 2026 walkthrough with fictional data. Dates and sample bookings in the current demo vary; check each person’s capacity indicators when moving work.

Every small agency answers that question badly. It lives in someone's head, a colour-coded spreadsheet, or a group chat at 5pm on a Friday. So work gets promised to people who are already full, the quiet capacity nobody noticed goes unsold, and the person who was going to be on holiday finds out about their new project the week before they leave.

CapacityLens puts the answer on one shared screen: people down the side, days across the top, the work and time off in between. Red means someone is booked for more than they can do that day. See who is busy, who has room and who is about to be buried, and move work before it becomes a problem.

It is free and open source (AGPL-3.0), with no paid tier and no hosted version. You run it on your own server, and the only cost is that server (server size).

Get started

Manage the hosting? Install it with one command on a host that runs Node 24, ending with opening the setup link. You manage HTTPS, backups and upgrades: install CapacityLens.

Own the company? Open the setup link, create the company, invite an Admin: set up your company.

Set the work? Add your people, clients and projects, then book the first work: get the schedule ready.

Just want to see your work? Accept your invitation and your week is on the first screen: see your work.

Doing all of it yourself? The whole setup on one page.

Try it in two minutes

For people comfortable with a terminal: the demo runs on your computer with sample data and no real sign-in, and needs the developer tools Node 24 and git. Its sample-account picker is cosmetic. Drag things about, book time off, break something: changes reset when you reload. Everyone else: watch the walkthrough above instead.

corepack enable
pnpm install
pnpm run dev:demo

Then open the Local address it prints (usually http://127.0.0.1:5173), then pick a company on Choose a company.

What you get

  • The weeks ahead at a glance: 1 to 8 weeks, filtered by discipline, client, project or activity.
  • Early warning: over-capacity days in red, plus a 14-day warning for trouble off screen.
  • Work you haven't won yet: tentative bookings, placeholders for roles you haven't filled, and external parties who don't count against your capacity.
  • Time off in the same picture: holidays, closures and each person's start and end dates sit beside the work.
  • How full everyone is: utilisation per person and across the weeks on screen.
  • Server-owned scheduling: a connection is required; failed requests show an error and retry controls.
  • Your own server: your data in one SQLite file you control, under AGPL-3.0.

What it deliberately isn't

CapacityLens does not track tasks, tickets, deadlines, budgets or timesheets, and it doesn't schedule anyone by the hour. If you need Jira, use Jira. This is the view you check before you open Jira.

There is no importer from spreadsheets or other tools: you enter your people, clients and projects in the app, and the JSON import only moves data between CapacityLens installations.

Install it

CapacityLens is currently supplied as a native Node.js release archive. Follow the installation guide, then configure HTTPS at a proxy on the same machine. Whoever manages your hosting handles ongoing maintenance. The operator guides cover configuration, backups, upgrades and monitoring. Docker support remains optional. Proxies in separate containers or on separate machines are not yet supported; use the native same-machine proxy setup for the first release. Sign-in is by password, and invitations and password resets need email delivery. See sign-in and access.

Documentation

Read the documentation online, open docs/index.html straight from a checkout with no server or build, or read the Markdown sources in docs-src/. What is CapacityLens? is the one-page introduction.

To update the site, edit docs-src/ and run pnpm run docs:build, then commit the sources and rebuilt docs/ together. Documentation checks verify that they match. GitHub Pages publishes the committed output only on a manual run of Publish documentation from main; neither a documentation merge nor a published release updates the live site. See the documentation contribution instructions.

Project status

CapacityLens is alpha software with a single maintainer. Beta will mean the upgrade path and the settings are stable. The database schema starts from one forward-only baseline migration; app:upgrade backs up an existing database before running pending migrations. Before you adopt covers status, getting your data out and support. See how it is tested and the release notes.

Contributing

React, TypeScript and Vite in the browser; AdonisJS and Lucid over SQLite on the server; a shared TypeScript domain package for the scheduling rules. Start with CONTRIBUTING.md, the architecture reference and the standing decisions.

Governance · Support · Security policy · Security review · ASVS 5.0.0 ledger · Changelog · Trademarks

Licence

CapacityLens is AGPL-3.0-only. Product names and logos are handled separately in TRADEMARKS.md.

Validation including E2E Frontend coverage CodeQL OpenSSF Scorecard OpenSSF Baseline Docker build Node.js 24 license: AGPL-3.0

Validation includes application/backend checks, native packages and Chromium, Firefox and WebKit E2E tests. Coverage measures frontend source files; backend coverage is not included.

About

Who's free next week? A self-hosted, week-by-week capacity view for small agencies.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages