Start a project
Ticketing and helpdesk app

TickIt

A ticketing app for any team that takes in requests and works through them: bug reports for a product, repairs in a hotel, an office helpdesk, content changes for a website. Each project sets its own ticket types, workflow and form fields, and other apps can file tickets into it on their own.

Project admins hear about every new ticket by email and push notification. People sign in with an email and password or with Google, and the app installs on a phone or a computer like a native one.

ForTeams that take in requests and work through them
AgentsWork every ticket in a project, on a list or a board
ClientsSend tickets and follow their own
AdminsSet up types, workflows, fields and members
Projects

Every project at a glance

Each project card shows its closed, in-progress and open tickets and flags open urgent ones. The totals above it include the tickets assigned to the person signed in.

  • Every ticket is numbered with its project's prefix: HOTEL-1, HOTEL-2
  • A new project starts from a template for software, support or general work, or from a blank workflow
Workflow

A workflow per ticket type

Admins define each project's ticket types, the statuses each type moves through in order, and which status counts as done. A hotel's room issues go from Reported to Waiting for Parts to Fixed; a website's content changes go from Requested to Published.

  • Custom fields per type: text, number, date, a choice list, a checkbox or a longer note, required or optional
  • A type or status that has tickets can be deactivated, not deleted
  • A status cannot leave a workflow while tickets sit in it
Tickets

List and board

Tickets are worked from a sortable list or from a board with a column per status, where dragging a card to another column changes its status. Both filter by type, priority and client, and search covers titles, descriptions and ticket numbers.

  • Clients see only the tickets they sent; agents see every ticket in the project
  • New tickets go to the project's default assignee
  • Closed tickets leave the board and stay in the list
Detail

One panel per ticket

A ticket opens beside the list with its type, status, priority, custom fields and description, then comments and its full history. Every change to the status, type, priority, assignee, title or a field is recorded with who made it and when.

  • Descriptions and comments are written in a rich-text editor
  • Files can be attached to a ticket, and images open without a download
  • A ticket closes only from a final status, and can be reopened
Integrations

Tickets from other apps

Other apps can file tickets on their own — a “report a problem” button in another app's admin, for example — each with its own access key tied to one project. The ticket records who submitted it and the context the app sent along, such as the screen and the app version. A ticket resent after a dropped connection is recognised and not created twice.

  • Each key is shown once and can be replaced or switched off at any time
  • Each app can send at most 60 tickets a minute
  • A project can take tickets from any number of apps
How it's built
Backend & API
Laravel, PHP, Sanctum, Socialite, MariaDB
Frontend
Vue, TypeScript, Vue Router, Pinia, TanStack Query, TanStack Table
Interface
shadcn-vue, Reka UI, Tailwind, Tiptap, SortableJS
Notifications
Web Push, Resend, PWA