Trouble was built to address some of my own pain points. At the time, I was working in an IT support role and wanted a ticketing system that was simple to use, had only the necessary functionality, and used sensible defaults.

The frontend is based on Bootstrap. The backend is built on Django. Trouble remains a work in progress.

Ticket List

The ticket display uses a jQuery plugin called DataTables to load tickets with AJAX and allow sorting and filtering without triggering page loads.


Filtering of the ticket list happens in realtime as you type.

Mobile Ticket List

Trouble is responsive. It's challenging to adapt a data-heavy app such as this to a small screen. This shows my initial design for the mobile ticket list.


Trouble has three different data types: tickets, sites, and solvers. With just these three, users have all the tools they need to create, assign, and work tickets.

Navigation is simple. Each data type has an option for viewing and one for creating new objects. These are exposed through dropdown menus.

Ticket Detail

The ticket detail view shows the most important information at the top. Under that, users can view existing updates and add new ones using a tabbed interface. The ticket can be edited at the bottom of the page.