Every task carries its
own paper trail.
Project management with testing built in, not bolted on. Who moved a task, when, and what changed is recorded on the task — not in someone's memory and not in a spreadsheet on the side.
- Sign-in
- Email + code
- Seats
- Unlimited, free
- Free plan
- 1 project
7 of 20 done · 2 overdue · 1 awaiting test
- APP-118Discount code ignored at checkoutReady for test
- APP-124Confirmation email templatesIn progress
- APP-131Payment screens — visual passIn review
One project, six ways to look at it
The view changes. The work doesn't.
A board answers “what state is everything in”. A graph answers “what's blocking what”. Those are different questions, and forcing one layout to serve both is why people end up keeping a spreadsheet on the side.
Board
Drag work across seven states. Multi-select to change fifty tasks at once.
Timeline
Dated work against a calendar, with milestones as labelled markers.
Calendar
Tasks and milestones projected from their own dates — one home per date.
Graph
The dependency graph. A board shows state; this shows what blocks what.
Quality
Bugs, test cases, and runs against a named build.
Chat
Threads, pins, search and files, scoped to the project's members.
How work is organised
Client, project, delivery stream.
An agency running six customers shouldn't have one flat list of projects and no way to answer “what are we doing for ABC?”. Three levels, each of which earns its place.
Client
The company you do the work for. Groups their projects, rolls up progress, and holds the contacts who can sign in.
Optional — internal work needs no client.
Project
One thing you ship. Its own board, key, milestones, members and chat.
Task keys are permanent: WEB-42 stays WEB-42.
Delivery stream
App, Web and Landing under one E-commerce project — each with its own board and release date, shown together.
Two levels, not a tree nobody can navigate.
Labels are a separate axis, and deliberately so: they say what a task is — bug, feature, chore — not where it lives. A delivery stream is a container with its own members and dates; a label is a property of a task. Conflating them gives you one board holding three release schedules.
Built for IT teams
Testing isn't a separate tool.
A bug is a task. That one decision means attachments, comments, history, watchers, search and the board all work on it with no parallel implementation to keep in step — and testers and developers share one queue instead of reconciling two.
The fix-and-retest loop
- 1
Tester · Reports a bug
Steps, expected, actual — plus a screenshot or screen recording.
- 2
Developer · Fixes and marks ready
Names the build it landed in. The reporter is notified.
- 3
Tester · Verifies — or reopens
A reopen needs a note. The count is kept, so regressions surface.
Severity and priority, separately
Impact and urgency are different questions. A trivial-severity bug on the checkout page can still be urgent, and conflating the two loses that.
Test cases and runs
Write the checks you repeat every release, group them into suites, and execute them against a named build. A failed case opens a bug report prefilled and links the two.
Sprint 12 regression · build 2.4.1-rc3 · 12/19 passed
Evidence, not descriptions
Screenshots paste straight in with Ctrl/⌘V. Video keeps its seek bar. Android builds attach too, so a tester can hand back the exact .apk that misbehaved — with its SHA-256 to verify against.
Client portal
Show the customer progress, not your board.
Clients get their own view: a single completion figure, stages as plain bars, and the updates your team actually wrote. Internal statuses collapse to three words — complete, being worked on, not started.
Nothing is visible by default
Publish by exception. Adding a client shows them nothing until you tick items — the opposite arrangement leaks the first time somebody forgets.
Descriptions and assignees never leave
A client sees titles, states and dates. Implementation notes and who's doing what stay internal.
A channel of their own
Clients can message the team. They can't reach project chat at all — enforced in the access check, the list query, and a database trigger.
What the client sees
Stages
Access
Two layers of roles that compose.
Organisation roles set the floor, project roles set the ceiling. An org admin is a manager on every project without being added to each one; a guest sees only what they were invited to.
Project roles — manager, contributor, viewer — layer on top. Chat membership is derived from project membership rather than maintained separately, because the two drift apart the first time someone leaves a project and nobody thinks about the channel.
Pricing
Priced on what you store, not who you invite.
Per-seat pricing turns every new colleague into a decision, and the predictable result is teams working around the tool. Invite everyone. What's metered is storage, organisations and projects — and only the account that owns them pays.
Free
Enough to run one real project and decide properly.
$0forever
- 200 MB storage
- 1 organisation
- 1 project
Lite
Most teamsA team running a handful of things at once.
$12per month
- 5 GB storage
- 5 organisations
- 15 projects
Pro
No ceiling on how you organise the work.
$29per month
- 15 GB storage
- Unlimited organisations
- Unlimited projects
Need more room?
Add storage from 1 GB to 100 GB on any paid plan, billed monthly alongside it. Your allowance is pooled across everything you own — 5 GB on Lite is 5 GB in total, not 5 GB per organisation.
Billing attaches to whoever owns an organisation. People you invite are never charged, however many you add, and a lapsed card drops you to Free limits rather than locking you out — your work stays yours to read and export.
Your data
Boring where it counts.
Project history, client conversations and uploaded builds are not things you want to think about twice. Here is what happens to them.
No passwords
Sign in with a six-digit code by email. There is no password database to leak and nothing to reuse from someone else's breach.
Uploads can't execute
Files are served with inert content types and a sandbox policy, so nothing anyone uploads can run in another person's browser. Attachments are scanned for malware before they are stored.
Clients see only what you publish
Nothing is visible to a customer until you tick it. Internal discussion and task detail never cross, and it's enforced in the database as well as the app.
Encrypted in transit and at rest
TLS everywhere, and files and database encrypted on disk.
Every change is recorded
Who moved a task, when, and what changed sits on the task itself — not in someone's memory.
Export whenever
Your projects, tasks and files are yours. Leaving is a download, not a support ticket.
Questions
Before you install it.
Do I need to install anything?
No. CatzPRM is hosted — sign in and start. There is nothing to deploy, patch or back up, and the mobile app talks to the same account.
Are we charged per person?
No. Invite as many people as you like at no cost. What's metered is storage, organisations and projects, and only the account that owns them pays — so adding a colleague never changes your bill.
What happens if a payment fails?
You drop to Free limits, not out of the product. Existing work stays readable and exportable; you just can't grow until the card is fixed. Cancelling keeps your plan until the period you already paid for ends.
Why passwordless?
There is no password database to leak, no reset flow to phish, and nothing for anyone to reuse from another breach. You get a six-digit code by email; it's hashed with a server-side pepper, rate limited, and burns after five wrong attempts.
Can clients see our internal discussion?
No. Clients rank below every internal role, so the ordinary access checks already exclude them. Project chat is private to the project's members, and a database trigger refuses to put a client in an internal channel even if application code tried.
Can we get our data out?
Yes. Projects, tasks, comments and files are exportable, and the API is the same one the apps use — nothing is held back to make leaving difficult.
Does it work offline or on a phone?
There's a Flutter app for iOS and Android covering the things you do standing up — your assigned work, filing a bug with a photo, chat, notifications. Timeline, graph and test runs stay on the desktop, where there's room for them.
How does it handle a team that isn't doing QA?
Every QA field is optional and issue type defaults to task. If you never file a bug you'll never see a severity picker.
Try it on something real this week.
The free plan is a whole project, not a countdown. Put actual work in it, invite a colleague, and see whether it survives contact with how your team really operates.
- No card to start
- Invite your whole team at no extra cost
- Bugs, testing and client updates included
- Your data exportable whenever you want it