My bugs
A bug reporting portal is where users report bugs with screenshots and steps to reproduce, the engineering team triages each report by severity on a board, and every reporter can see whether their bug has been fixed.
Pattern: RequestsDescribe it to Pory
“Our users report bugs with screenshots. Engineering triages them by severity, and whoever reported a bug should be able to see if it's been fixed.”
My bugs
In plain English
A bug reporting portal is where users report bugs with screenshots and steps to reproduce, the engineering team triages each report by severity on a board, and every reporter can see whether their bug has been fixed. It follows the Requests pattern: someone submits, someone decides, it moves through statuses. Pory generates it from a plain-English description, with a login for each role (reporter and engineering) that shows only what that role should see, and flat pricing with unlimited users.
What it does
Bug reports used to be "the invoice thing is broken again" in a support email, with the screenshot promised and never sent. In Pory the reporter describes what happened, uploads screenshots, picks a severity, lists the steps to reproduce and names their browser. Engineering can start on it without a week of clarifying emails.
Bugs arrived through support, sales and the CEO's text messages, and the loudest one got fixed first. In Pory each report is a card showing its severity, in Reported, Confirmed, Fix in progress, Fixed or Can't reproduce, and engineers drag it along as they work. The tax-rate blocker gets attention before the blurry logo does.
Once a bug went into the tracker, the person who found it never heard about it again, so they reported it again. In Pory each reporter sees their own bugs with a progress bar from Reported to Fixed, including a Can't reproduce answer when that's the outcome. Duplicate reports drop, and so does "is this fixed yet?"
Pory generates a portal from these pieces and wires the permissions between them. The same parts run a grant round, a help desk, and a tenant portal — only the names on the pages change.
Collect
Signed-in or public, with typed fields and file uploads. A form files a record; it doesn't start an email thread.
An application page, a notice board, an open directory — pages and forms anyone can use without signing in, on your domain.
People create their own account and land in the role you chose for them.
Upload and view files on the record they belong to — not in a folder named FINAL v2.
Decide
Decision buttons for whoever may edit the status. Who decided, when, and why stays on the record.
“Where's my request?” answered as a progress bar on the submitter's own page.
Cards in columns. Drag a record to move it along.
Task lists ticked off per record, in its detail view, with progress — onboarding runs, inspections, opening duties.
Name who a record is for and it lands on their list, and nobody else's.
A reviewer's score, a coach's feedback, a clinician's note — kept on the record it belongs to, never lost in a thread.
Renewals, expiries and overdue work, in an in-app inbox and by email.
Share
Search, filters, sorting, inline add and edit — the spreadsheet, minus the sharing accident.
Portraits, names, and roles from a table, shown only to the roles allowed to see them.
Records on a month or week view, by date.
Records as cards or photos.
Open a unit, a pet or a listing to see its details and everything tied to it — requests, visits, offers. Share it by link; edit, change the status or add a related item from there.
Check-in details, benefits, updates — a page for a role to read.
Live figures over the records a viewer is allowed to see.
Control
Each person sees their own records, the ones assigned to them, their team's or the ones they manage. Fields can be hidden per role. Generated from your description, not set up field by field.
A sign-in link by email, by default. Password sign-in if you'd rather.
Your domain, your colours, your logo. Members see you.
Describe it in a sentence and send the invite. Unlimited users, flat price.