Build a Kotlin App in 2 Weeks — Challenge Accepted!

3 min read

Time keeps on ticking into the future and the technology keeps advancing. Nowadays, contactless payment methods have become more and more popular. And that’s just par for the course, as cash payments are already a thing of the last Thursday. Just think how inconvenient physical money is from a modern perspective.

Every day, you need to carry around cash for daily expenses and purchases. Sometimes, that fat wallet of yours can be really annoying and at the same time insecure. Once cash is lost or stolen, there’s not a darn thing that can be done to get it back. We won’t even talk about losing great sums of money.

However, if you lose a credit card or your wearable payment bracelet (in our case it’s a wristband), you can simply contact your bank and freeze it. Another disadvantage is that cash can be relatively heavy and bulky, especially when you get your change in massive amounts of coins. The space of your wallet is not infinite and so on and so forth.

The project that we’ve implemented helps getting rid of all these disadvantages by making a contactless payment. Initially, NFC Moments was intended for providing contactless payment in pubs across the USA, though this technology can be applied elsewhere across the whole world.

Have you ever been in a pub? Remember all those dozens of impatient drunk people badgering the poor bartender to get their drink as soon as possible? The thing is that a pub is a place where it’s necessary to serve customers as quickly as possible or people lose their buzz. And the process of payment may significantly slow down a bartender’s work. If you pay using your credit card, the transaction time can last for 4 minutes! And you’re not the single client as there are dozens of people waiting for their order. All these factors have contributed to the creation of the NFC project as it allows making a payment using your wristband with the transaction time reduced by 40 Times! Paying with a wristband, the transaction time will take no longer than 10 seconds. Isn’t that impressive?

Now let’s get an idea of how this project works. A bartender has a smartphone (that supports a contactless payment) at their bar count. So the bartender logs in to the venue application where he can see a catalogue of alcohol that’s being swilled in the pub. Using this app, they will be issuing an invoice for the clients. A client, in their turn, will have to download a user-application and synchronize it with their payment information. And that’s all folks! To make a payment, a user will only need to set a card to their smartphone. The next step is processing of the payment transaction from the user’s account to the venue’s (for payment processes we used Stripe).

Here’s how an app for the user looks like:

Kotlin app

What We Needed To Implement

  • Back-end implementation
  • iOS applications both for a user and venue
  • Android applications both for a user and venue written in Kotlin
  • Web dashboard for an owner


FIrst and foremost, we’ve implemented a web dashboard for pub owners. Using the dashboard, they can easily check/follow the profitability of their pubs. Besides, it’s the place where all the information about the employees, income, and so on is stored.

Besides, we implemented iOS and Android applications both for users and venues. At first, we had only an iOS application and the main task was to create the same cool app using Kotlin.

And guess what? It took us only 12 days to develop a fully-featured Android application.

Truthfully, it’s after this moment (pun intended), that we decided to completely switch to Kotlin. As far as mobile development is concerned, it’s amazing. We didn’t even need to create a new design for the Android app. We’ve simply extracted the current design from the iOS app and reused it, which saved the client a great deal of both time and money.

So how does the app for users work? Well, it’s really simple. You just add your payment information and synchronize your wristband with the app. Voila! Now you can easily pay for your drinks using just your wristband, or the sleeping drunk guy’s.

The app for venues is where user’s money will be coming in. Another cool feature of the app is that users can set a spending limit (for example, if you want to spend no more than 100 dollars overnight). In the event of expanding the limit, you’ll get a notification on your phone.


We fully implemented the project and developed a fast and cashless payment system. NFC significantly simplifies the payment process as well as reduces the transaction time to 10 seconds. That’s a huge achievement compared to the usual 4 minutes.

With the help of our project, you may forget about enormous queues in pubs as well as annoying and time-consuming payment transactions. Imagine a world where paying for purchases and buying drinks can be easily made by a simple touch. This world is also known as NFC.

We are very proud of our Android app written in Kotlin. So if you already have an iOS application and want to expand your business by developing apps for other platforms, we’ll gladly make your dream come true. And we’ll do it within the shortest amount of time!

Technologies we used:

  • Kotlin
  • GraphQL
  • Clean Architecture
  • Model-View-Intent

Editor's Choice

Post Image
6 min read

Software Engineering Culture and How we in JetRuby Develop It

Have you ever wondered what a software engineering culture is? What if we revealed that it’s one of the primary reasons your clients…

Post Image
6 min read

Save your information and nerves. Everything you need to know about the concept of Observability in Ruby.

  Engineering teams focus on observability.   Companies are increasingly adapting to diverse tech stacks, integrating observability in Ruby and other languages to…

Post Image
4 min read

Jetruby is an ISO-certified software development agency. What does it mean?

The scarcity of skilled engineers is a pressing issue for many tech companies, but not for us. Our base is growing at an…

Get the best content once a month!

Once a month you will receive the most important information on implementing your ideas, evaluating opportunities, and choosing the best solutions! Subscribe

Contact us

By submitting request you agree to our Privacy Policy