• Hackathons
  • Features
  • Blog

d|Code Challenge

Calling all the computer vision wizards to hack the mail post IDTag used by CTT.

  • 84 Participants
  • 50,200 Invested
  • 0 Uninvested


  • Software & Services

CTT is a Portuguese company which operates as both the national postal service of Portugal and a commercial group with subsidiaries operating in banking, e-commerce, and other postal services.

All mail that passes through the Portuguese mailpost machines is printed with a single fluorescent 4 state bus. Behind that bus is a code identified as the object's IDTag used to track the object throughout the mail post journey.

The IDTag is a set of characters that contains some information related to the object's bus, namely the date it was barred, the equipment, the priority, among other information and which obeys a specific mail standard. The identification of the bus IDTag thus allows the mail post delivery system to immediately retrieve information related to the object, without the need to use any IT system or a network connection.

4-State Code

The bus used has 75 bars and is of the 4-State type, its specific use for identification of postal objects.

Each bus can have 4 states. So it is possible to make the following identification of the status of each bar:

  • Tracker (T) —Small, centered bar
  • Ascender (A) —Medium and top bar
  • Descender (D) —Medium bar below
  • Full Height (F) —Long bar

4-State Code

Within type 4 States codes, the standard used is the S18C (applicable in the case of 75 bars), which uses the Reed-Solomon scheme for the detection of errors and corrections. This standard determines the information contained in the lDTag, as well as the number of possible characters for each information and the position of each information within the lDTag.


  • DD CEN/TS 15844-1:2010 Postal services. ID-tagging of letter mail items. ID-tag structure, message and binary
  • DD CEN/TS 15844-5:2010 Postal services. ID-tagging of letter mail items. 4-state encoding specification for small letters


The challenge proposed is the development of a mobile application to read the code with the respective identification of the lDTag using the camera available on any mobile device. The application should be able to identify all the information available on the code and show it on the application screen.

To be acceptable to receive the prize, the solution must meet the following requirements:


  • Compatible with Android or iOS mobile devices.
  • Android 8 Oreo or iOS 12 minimum version.

Programming language:

  • The code must be independent of the device and will be valued if it does not use the native language. If solutions without native code are presented, solutions with native code are not considered.
  • Solutions with native code will have to be evaluated case by case.
  • App that can easily integrate via APIs / other service

Is is mandatory that the mobile application works in three scenarios:

  • When the postman is in the field there is no network connection and the purpose is to read and decrypt the codes when they’re delivering the post.
  • In the post office, with or without internet connection.
  • In the warehouse, where there is no internet connection.


  • Pictures should be able to decode with ambient light
  • No additional device should be used to improve the quality of the photo
  • The photographs must be kept in the APP for consultation and there must be a possibility to delete the photograph / folder of the photographs when they are no longer needed, as well as the information (IDTag and bus code) associated with them. The location of the recording of the images must be well identified, in order to change if there is a change of device


  • It should be possible to decode the Bus with photographs taken by the mobile device and to display the decoded information (FDTA code).
  • It is mandatory to decode/read the code on the mobile device without any additional help from the server/backend side and without a network connection.
  • It must be possible through the identification of the bus code to obtain the respective IDTag using the S18C standard and the display of the IDTag.
  • The information that makes up the IDTag must be presented in a simple and readable form (for example the date, the equipment, etc.)
  • The bus code as well as the IDTag must be stored in the device for consultation and associated with the photograph taken.
  • Fast decoding of the bus and return of the IDtag and bus code (less than 30 seconds).

Source Code:

  • The winner team should provide access to the source code for further use or consultation.


  • Individuals who have reached the age of majority in their jurisdiction of residence at the time of entry (most countries set the age of majority at 18 including the US, UK, Germany);
  • Teams with a maximum of 5 members;
  • Organizations such as companies, startups or other. Is is mandatory that the system works in three scenarios: