Toptal acquires, enhancing custom software leadership

Convert Physical Business Cards to Mobile Contacts

17.06.2019 Daria Mickiewicz
Leave a Comment
Convert Physical Business Cards to Mobile Contacts

You receive business cards at conferences, events, or meetings. But often they get lost. Because it’s too tedious and time-consuming to tap that information into your phone each time you get a new business card. The trouble with a business card is that it’s made of paper, not bits.

Our Outreach SpeedUp app allows you to turn physical business cards into shareable digital contacts on iOS devices.

Let’s dive right in.

What does Outreach SpeedUp app do?

Outreach SpeedUp captures the card, arranges it and squeezes out information. It picks up name, email address and phone number fields.

The app syncs scanned cards information with the UniSender email service and Google Sheets.

It demands a sign up either via a Google account or locally.


  • Scan and store business cards.
  • Edit the information before it’s saved.
  • Manage contacts, categorize or delete them, or merge duplicate cards.
  • A simple interface, designed for multi-tasking on the go.
  • Export contact information directly to the UniSender email service and Google Sheets.
  • This scanner is available for iOS.
  • The app reads business cards in English and Russian.
  • The application is available in English and Russian.

Outreach SpeedUp architecture in a nutshell

This section delves in the business card reader architecture. First, let’s look at the following diagram because it illustrates the general architecture of Outreach SpeedUp app.


To create the Outreach SpeedUp app we have utilized MVVM software architectural pattern, that consists of model, view and view model.

The model represents the actual data (name, phone number, address, etc.). It holds the data, but not behaviors or services that manipulate the data. It is not responsible for formatting text to look pretty on the screen or fetching a list of items from a remote server.

The view is the structure, layout, and appearance of what a user sees on the screen. It displays a representation of the model and receives the user’s interaction with the view. It forwards the handling of these to the view model via the data binding that is defined to link the view and view model.

The view model is an abstraction of the view, exposing public properties and commands. The view model may also be responsible for defining logical state changes that affect some aspect of the display in the view, such as an indication that some operation is pending.

To implement this challenge, we used the following technologies:

  • Swift
  • RxSwift
  • Realm
  • Tesseract OCR
  • UniSender API

Outreach SpeedUp technology: how Tesseract OCR works?

Tesseract is an open source OCR engine with support for Unicode and the ability to recognize more than 100 languages out of the box.

Tesseract is good at recognizing multiple languages and fonts. We used as an embedded library. It worked well and we did not spend much time on development. But we had some issues with specific letters recognition. So we had to train Tesseract how to read these fonts properly.

Consider the following image which has some text in it that has to be extracted out:


The output from the OCR engine, once some processing is done will be something like this:

  • Angelina Strelchenko
  • +375293950604

The result

View the following video to see the results:

Ready to try Outreach SpeedUp app?

Proceed to the App Store and download a free version of the app. See how easy it is to transfer contact information from a physical business card into your iOS device. Scan it, save it and politely hand the card back. No more paper cards filling up your wallet.

If you are interested in any customization of the app, please contact us at

Please, rate my article. I did my best!

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)

Leave a Reply