What We Learned From Building Our Own Ticketing Platform

What We Learned From Building Our Own Ticketing Platform 9

Since Design Pickle’s founding, we’ve managed all of our 250,000+ design requests using a ticketing platform designed for customer support requests. 


And for four years, it worked really well for us.


Until it didn’t. 


You see, customer support requests just aren’t the same as design requests. Design requests aren’t simple questions that can usually be answered in a few back and forth messages. Fulfilling design requests involves a whole team that needs to be aware of client preferences, brands, document delivery, reporting, the order in a client’s queue, and skills required to fulfill the request. 


More and more, we began to compromise our workflows based on what our ticketing platform was and wasn’t capable of. Instead of innovating processes, we found ourselves coming up with workarounds that would fit in with the software.


When improvements were suggested, we’d respond with “Unfortunately, we can’t do that because the ticketing software won’t let us,” or “That’s not possible because the API doesn’t support that.”


It was frustrating as a product team to keep saying no over and over again to things that if we were able to build them, would have improved the business. 


Oh, and the 200+ users on a per-seat pricing model was adding up quickly


For a couple of years, we kept throwing around the idea of replacing our ticketing software with our own solution. But the task always seemed daunting and was typically pushed back on the roadmap to “some other time.”


But soon enough, we realized that there was no way that the ticketing platform could scale to accommodate the company’s vision. It was simply bursting at the seams as we grew. It was time to tackle the project — time to create our own ticketing platform.


So we charged onwards to replace our off-the-shelf ticketing software with something we could finally fully access and customize.


And guess what? We did it!


For the past two months, we’ve successfully been running on our own platform.


Looking back, we learned a few lessons that we’d like to pass on to anyone who’s considering tackling a project of similar scope.


Buy, Then Build


What We Learned From Building Our Own Ticketing Platform 10


If we’d built this entire solution from the very beginning, it wouldn’t have worked out as well as it did today. I’m really happy the founding team made the decision to purchase the initial ticketing software.


When you’re first starting up, it can be tempting to build custom everything to get it just the way you want it. But apart from it being expensive and time-consuming, as a startup, your workflow is definitely subject to change. 


You can take a bit of the risk off of your plate by buying an existing system that meets 80% of your needs, and then use custom integrations and automation software (like Zapier) to take care of the remaining 20% of your workflow. 


Even once you’ve survived the first contact with your customers and have careful processes in place, it may still be worth it to keep buying the software. If it ain’t broke, right? You’ll know it’s time for an upgrade when your purchased software starts pigeonholing you into decisions you know aren’t best for the company.


Have a Transition Period if Possible

What We Learned From Building Our Own Ticketing Platform 11

We were lucky that we could continuously roll out features so our design team could test them as we went along.


However, that didn’t always work since the old software was still fully accessible during the transition period. No one was using the new software.


We needed to get people on board to test the new platform so we opted for a transition period where both systems could be used in parallel for a few weeks. 


During this period, we were able to unearth some issues, requirements, and use cases we weren’t aware of upon roll-out.


We then had the choice to either keep using the two systems in parallel at a degraded experience to the customer or do the proverbial “ripping off the band-aid.” 


We opted for the latter. When the band-aid did come off, we were busy with support and feature requests for a few days there, but everyone on the team handled it like champs. Plus, many of the issues had already been solved during the transition. 


You’ll Overlook Small Things Here or There. That’s OK. 

What We Learned From Building Our Own Ticketing Platform 12

Sure, we missed a couple of details here and there that were quickly caught and passed on to us by our excellent customer success team. Everything was quickly remedied in less than a day.


The most important thing was that we got all the big stuff… the stuff that if that didn’t work, chaos would ensue. And that’s the stuff that really, really mattered. 


There’s Always More To Do

What We Learned From Building Our Own Ticketing Platform 13

Even after the initial roll-out, there will always be more improvements to make. The work won’t stop as soon as you push to production. 


There will be bug fixes. There will be feature requests. There will be people still used to the old way of doing things. You just gotta roll with it and come up with a plan to get a little better every day.


Have a Single Place to Gather Feedback

What We Learned From Building Our Own Ticketing Platform 14

We created a single place where all change requests, bug reports, and other concerns could be directed. It made the transitional and initial roll-out processes much more manageable. 


Let Customers Know

What We Learned From Building Our Own Ticketing Platform 15

If you’re making a huge change to something in your system, it can be wise to alert customers of the upcoming change and possible downtime. That way, if something were to happen, they’d know why.


Asking them to report any issues can also be helpful. 


…But Try Not to Affect Their Experience

What We Learned From Building Our Own Ticketing Platform 16

Ideally, your customers shouldn’t even know something changed on the backend. 


If you can, plan your rollout so that downtime and possible issues for customers are minimized. 


There Will Always Be Things You Don’t Know

What We Learned From Building Our Own Ticketing Platform 17

If we were to have gathered 100% of everything that all 280+ employees of Design Pickle do in our system, we would have never completed this project. 


Even with weeks of requirements gathering, things can always change before roll out or lack the context needed to clearly execute the feature.


Stay flexible and roll with the punches. And oh yeah, do a little happy dance once it’s all over!


This was one of the largest software projects Design Pickle has taken on to date. We’re very proud of how it turned out and grateful to the engineers who helped make this a reality.


We’re excited about the future possibilities that are enabled by this change. Get ready for a lot of new and exciting features to come out in the next few months.


Stay up to date with product changes


Stay tuned to the blog for announcements of major feature releases. You can also keep an eye on our changelog or even submit your own feature request

No comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Live Covid-19
United States 34,401,840
Cases: 34,401,840
Deaths: 617,091
Recovered: 28,694,861
Active: 5,089,888
India 29,911,240
Cases: 29,911,240
Deaths: 387,161
Recovered: 28,798,710
Active: 725,369
Brazil 17,883,750
Cases: 17,883,750
Deaths: 500,868
Recovered: 16,183,849
Active: 1,199,033
France 5,755,496
Cases: 5,755,496
Deaths: 110,724
Recovered: 5,555,389
Active: 89,383
Turkey 5,365,208
Cases: 5,365,208
Deaths: 49,122
Recovered: 5,228,419
Active: 87,667
Russia 5,316,826
Cases: 5,316,826
Deaths: 129,361
Recovered: 4,869,972
Active: 317,493
United Kingdom 4,630,040
Cases: 4,630,040
Deaths: 127,976
Recovered: 4,299,835
Active: 202,229
Argentina 4,258,394
Cases: 4,258,394
Deaths: 88,742
Recovered: 3,868,105
Active: 301,547
Italy 4,252,095
Cases: 4,252,095
Deaths: 127,253
Recovered: 4,035,692
Active: 89,150
Colombia 3,917,348
Cases: 3,917,348
Deaths: 99,335
Recovered: 3,644,287
Active: 173,726
Spain 3,757,442
Cases: 3,757,442
Deaths: 80,652
Recovered: 3,544,205
Active: 132,585
Germany 3,729,753
Cases: 3,729,753
Deaths: 90,954
Recovered: 3,603,000
Active: 35,799
Iran 3,095,135
Cases: 3,095,135
Deaths: 82,965
Recovered: 2,748,320
Active: 263,850
Poland 2,878,767
Cases: 2,878,767
Deaths: 74,828
Recovered: 2,650,476
Active: 153,463
Mexico 2,475,705
Cases: 2,475,705
Deaths: 231,151
Recovered: 1,969,137
Active: 275,417
Ukraine 2,229,523
Cases: 2,229,523
Deaths: 52,016
Recovered: 2,151,463
Active: 26,044
Peru 2,026,729
Cases: 2,026,729
Deaths: 190,202
Active: 1,836,527
Indonesia 1,989,909
Cases: 1,989,909
Deaths: 54,662
Recovered: 1,792,528
Active: 142,719
South Africa 1,810,164
Cases: 1,810,164
Deaths: 58,590
Recovered: 1,640,849
Active: 110,725
Netherlands 1,678,983
Cases: 1,678,983
Deaths: 17,726
Recovered: 1,601,923
Active: 59,334
Czechia 1,666,025
Cases: 1,666,025
Deaths: 30,280
Recovered: 1,632,840
Active: 2,905
Chile 1,511,275
Cases: 1,511,275
Deaths: 31,392
Recovered: 1,439,182
Active: 40,701
Canada 1,408,123
Cases: 1,408,123
Deaths: 26,054
Recovered: 1,369,844
Active: 12,225
Philippines 1,359,015
Cases: 1,359,015
Deaths: 23,621
Recovered: 1,277,715
Active: 57,679
Iraq 1,287,465
Cases: 1,287,465
Deaths: 16,885
Recovered: 1,200,103
Active: 70,477
Sweden 1,084,636
Cases: 1,084,636
Deaths: 14,537
Recovered: 1,046,065
Active: 24,034
Romania 1,080,256
Cases: 1,080,256
Deaths: 32,326
Recovered: 1,045,122
Active: 2,808
Belgium 1,079,084
Cases: 1,079,084
Deaths: 25,132
Recovered: 1,007,785
Active: 46,167
Pakistan 948,268
Cases: 948,268
Deaths: 21,977
Recovered: 892,319
Active: 33,972
Portugal 865,050
Cases: 865,050
Deaths: 17,065
Recovered: 819,688
Active: 28,297
Cookie Notification
This site uses cookies to ensure that we give you the best experience on our website. If you continue to without changing your Cookie Settings, we'll assume that you are happy with it.
See our Cookie Policy
Change Cookie Settings
Ok, I like Cookies!
Cookie Notification
This site uses cookies to ensure that we give you the best experience on our website. If you continue to without changing your Cookie Settings, we'll assume that you are happy with it.
See our Cookie Policy
Change Cookie Settings
Ok, I like Cookies!