Tailor's Assistant

A tool to help with estimating work time
2019-07-10 / Kirstin Rohwer / CC BY-SA 4.0 / software, art, en, fav

This is my first open source desktop application software project (I’ve never before published any software that was neither a game nor a website).

logo with text

Tailor’s Assistant is designed to help me in my business as a tailor.

The problem from a tailor’s perspective

In contrast to the textile industry with their mass production, every workpiece I make as a tailor is unique. And that means, whenever a possible customer asks me for an offer, I probably haven’t made exactly the same thing ever before.

The price of a piece that I make is usually dependent on how long it took me to make it. To make my pricing as fair and predictable as possible, I write down (on paper) the minutes I needed for each step while working. When I’m finished, I add everything up and multiply the time I needed with my hourly price rate.

steps and minutes written on a piece of paper

When I get asked for an offer and haven’t made something very similar before, I make a list of the steps that are needed and try to estimate how long I will take for each step. But even with nearly 10 years of experience, I can’t remember how much time every possible step usually needs - there are just too many of them. And looking up all those steps from the past would take too long, because they are handwritten on many different pieces of paper.

So, being not only a tailor but also a programmer, I decided to throw some code at the problem…

The solution: Tailor’s Assistant

Tailor’s Assistant provides a database where I can record the time needed for every step of every workpiece I made in the past.

It provides a comfortable interface for input of the data to be recorded, and a similar interface for calculating a new offer, with statistics based on the times needed for the selected kinds of steps in previous workpieces.

Workpieces and offers are saved automatically and can later be reopened and edited or deleted at any time.

Tailor’s Assistant also provides a possibility to export the data of a workpiece or an offer to a text file, so I can print out a list of steps for each workpiece to keep with the other papers of a customer’s order.

For a more detailed description of the functionality, see the documentation below.

I also designed a cute logo for my software project - the little blue pincushion with googly eyes was really fun to draw and I hope it will continue to make me smile whenever I use my new assistant :D

logo: Tailor's Assistant

Download and system requirements

You can download the latest release, version 0.1.0, here.

Although I only tested it on Ubuntu 18.04, Tailor’s Assistant should be able to run on most current Linux systems. You will need to have Qt5 installed to be able to run Tailor’s Assistant. If you have Qt5 installed and it still doesn’t work, feel free to contact me so I can try to find out the reason.

License

Tailor’s Assistant is licensed under GNU GPLv3.

Development

The idea for this project has been sitting around in my head for several years. So when I needed to choose a software project to make for a university course this semester, I decided that the course would give me the right amount of external structure for this project.

For the university course, it was required that I write the software in C++ and use at least one external library. I chose to work with Qt, because it provides a lot of helpful functions for GUI programming and also has built-in support for database access. Tailor’s Assistant uses an SQLite database for storing its data.

Tailor’s Assistant was my first project of this kind, so I learned a lot during the development - but that also means the code is probably quite a bit more chaotic and complex than it would have become if I had already been used to building similar projects.

If you’re curious about it anyway, you can look at the source code here on github.

Detailed documentation for Tailor’s Assistant version 0.1.0

Some basic concepts and terminology:

A note about language: The UI is currently only available in German language - that’s why the German words from the UI are added to this text where needed, so that you can still use the software if you don’t understand German.

When Tailor’s Assistant is started, the main parts of the UI are disabled, except for the menu bar. The menu bar provides the following functions:

Record workpiece (Werkstück erfassen) menu:

Calculate offer (Angebot kalkulieren) menu:

Database (Datenbank) menu:

Help (Hilfe) menu:

Automatic saving

The data of a workpiece/offer are automatically saved to the database at several points during the input process, and also whenever a new/different piece is opened or when the program is closed.

Other functions in the UI:

Apart from input fields for putting in the data of a workpiece to be recorded (or an offer to be calculated), the UI provides some buttons for the following functionality:

Result view:

On the right side of the input area, a table of all steps in the current piece/offer is displayed. When editing an offer, there are columns containing different statistical values that can be used for estimating the price of a requested piece. For each step, there is:

Below the table, there is an input field for the hourly price rate (Preis in €/h), and the sums (Summen) of the calculated times are displayed, as minutes, hours (with 0.1 hour precision), and Euros at the given hourly rate. This gives a quick overview of the range in which the price for making the calculated piece will probably be.

Future perspective

I already have some ideas on how to improve Tailor’s Assistant in future versions, but I don’t know yet when I will find the time to implement them:


Comments?

Tweet to @flauschzelle, toot to @flauschzelle@chaos.social or e-mail me at mail@metakiki.net.
Also, if you enjoyed this, you might want to buy me a (metaphorical) coffee or donate via PayPal to show your support :)