Overview

As a growing technology company, Onymia was managing support requests, client communication, financial discussions, and project-related conversations across multiple channels.

Email threads became difficult to follow.

Internal discussions were disconnected from customer communication.

Reporting required manual effort.

Finding historical information often depended on who remembered where it was stored.

The business needed more than a ticketing system.

It needed a centralized operational platform.

To solve this, I designed and developed a custom ticket management platform using Django, tailored specifically to the company’s workflows, communication patterns, and reporting requirements.

Rather than adapting the business to an off-the-shelf helpdesk solution, the platform was built around how the company actually operates.


The Problem

Many ticketing systems focus exclusively on support.

The reality inside a growing technology company is more complex.

Support requests are connected to:

  • Clients
  • Projects
  • Financial discussions
  • Internal collaboration
  • Documentation
  • Attachments
  • Operational reporting

Existing workflows relied heavily on email chains and manual coordination.

This created several challenges.

Key Challenges

  • Conversations scattered across multiple systems
  • Limited visibility into ticket status
  • Difficulty tracking team workload
  • Lack of reporting and operational insights
  • Time-consuming client communication
  • No centralized historical record

As the number of clients increased, these problems became increasingly difficult to manage.


What I Built

Centralized Ticket Management

The platform provides a single location for managing all client requests.

Each ticket includes:

  • Client information
  • Status tracking
  • Priority management
  • Assignment workflows
  • Internal notes
  • File attachments
  • Complete communication history

Instead of searching through inboxes, teams can access everything from a unified interface.


Threaded Conversations

One of the most important requirements was improving communication.

Traditional ticket systems often separate internal discussions from customer communication.

The platform introduces threaded conversations that support:

  • Client-facing replies
  • Internal comments
  • Context preservation
  • Full discussion history

This ensures everyone involved has visibility into the complete lifecycle of an issue.


Email Integration

The platform automatically integrates with email workflows.

When team members interact with tickets:

  • Clients receive notifications
  • Communication remains synchronized
  • Discussion history is preserved
  • Manual email management is reduced

The goal was to keep communication structured without forcing users to leave their existing workflows.


File and Document Management

Support and project discussions often require documentation.

The platform includes attachment management directly within tickets.

Users can:

  • Upload files
  • Share documentation
  • Reference historical attachments
  • Maintain a complete audit trail

Everything remains attached to the relevant ticket rather than being lost in email threads.


Operational Reporting and Analytics

One of the biggest limitations of traditional support workflows is the lack of visibility.

The platform includes reporting tools designed around operational decision-making.

Monthly Performance Reporting

Management can view:

  • Tickets created
  • Tickets resolved
  • Response activity
  • Team workload
  • Status distribution

This transforms support data into actionable operational insights.


User Productivity Tracking

The platform tracks activity across team members, helping identify:

  • Workload distribution
  • Bottlenecks
  • Capacity constraints
  • Team performance trends

The objective isn’t monitoring individuals.

It’s understanding system performance.


Search and Filtering

As ticket volumes grow, information retrieval becomes critical.

The platform includes advanced filtering capabilities:

  • Client filtering
  • Status filtering
  • Date filtering
  • User filtering
  • Full-text search

Finding historical information takes seconds instead of minutes.


Financial and Business Context

Unlike generic ticketing systems, the platform was designed to support broader business operations.

Tickets can be connected to:

  • Clients
  • Financial discussions
  • Service requests
  • Operational workflows

This creates a more complete picture of the customer relationship.

The ticket becomes more than a support record.

It becomes a business record.


Architecture Approach

The platform was designed around three core principles:

1. Centralization

All communication and operational information should exist in one place.

2. Visibility

Management should understand what’s happening without requesting manual reports.

3. Scalability

The platform should support growth without requiring process changes.


Technical Architecture

The system was developed using Django and follows a modular architecture.

Backend

  • Django
  • Python
  • PostgreSQL

Frontend

  • Django Templates
  • Bootstrap
  • JavaScript

Infrastructure

  • Docker
  • Linux
  • Nginx

Features

  • Authentication and permissions
  • Ticket management
  • Threaded comments
  • Email notifications
  • File uploads
  • Reporting dashboards
  • Search and filtering
  • CSV exports

The architecture prioritizes maintainability and long-term extensibility.


Outcome

The final result is a centralized operational platform that combines support, communication, reporting, and client management into a single system.

The business gained:

  • Improved communication workflows
  • Better visibility into support operations
  • Faster information retrieval
  • Reduced reliance on email
  • Structured reporting
  • Historical traceability
  • Increased operational efficiency

Most importantly, information stopped living inside individual inboxes and became accessible to the entire organization.


Key Results

  • Custom ticket management system
  • Threaded client and internal conversations
  • Automated email notifications
  • File attachment management
  • Operational reporting dashboards
  • User productivity insights
  • Advanced search and filtering
  • CSV exports
  • Centralized client communication
  • Dockerized deployment architecture

Technologies Used

  • Django
  • Python
  • PostgreSQL
  • Bootstrap
  • JavaScript
  • Docker
  • Nginx
  • Linux

Final Thoughts

Many companies adopt ticketing systems because they need a place to track support requests.

But support is rarely the real problem.

The real challenge is managing information.

For Onymia, the goal was not simply to build another ticketing platform.

It was to create a centralized operational system where communication, reporting, and customer history could coexist in a structured and scalable way.

The result is a platform that supports both day-to-day operations and long-term business growth—while remaining fully owned and tailored to the company’s needs.