Team Llama

Members:

  1. Kyal Sin Min Thet (LinkedIn: https://www.linkedin.com/in/kyal-sin-min-thet-7b69aa245)
  2. Ian Freda Hariyanto (LinkedIn: https://www.linkedin.com/in/ianfredahariyanto)
  3. Teoh Tze Tzun (LinkedIn: https://www.linkedin.com/in/teohtzetzun/)
  4. Jeffinson Darmawan (LinkedIn: https://www.linkedin.com/in/jeffinsondarmawan/)
  5. Pandu Caroko Adi (LinkedIn: https://www.linkedin.com/in/pandu-caroko-adi/)

Project Github Link

https://github.com/IanFH/TikTok

Inspiration

We wanted to make an e-wallet system that can be used anywhere, even in places where not everyone may be as tech savvy as those of us who use technology on a regular basis.

The convenience of e-wallet systems is something that we believe everyone deserves to enjoy, regardless of circumstances. However, it comes at a relatively high barrier to entry; users need to register with passports/identification, along with other online requirements such as e-mail, i-banking apps, etc. This could potentially deter users from under-served areas (perhaps due to limited availability of infrastructure and services such as banks) from integrating e-wallet payments into their everyday life, and this is what we hope to resolve through our e-wallet system.

What it does

(Insert name) is a simple, intuitive and hassle-free method of paying. The registration is as simple as making an account with only the most basic credentials. Register with your name, address, identification number and phone number, and you're ready to enjoy easy, fast and hassle-free payment from your mobile device.

How we built it

Our first feature was the implementation of a registration process and background check. To achieve our goal of simplifying registration, we decided to use as few credentials and identifying information as possible. Therefore, we recognized the need for validating users, especially to prevent duplicate and scam accounts. To do this, we propose to run a background check against a certified government database to ensure that the credentials of the user are legitimate. This was performed through the Authenticator class in validating user credentials as well as checking for requirements such as age and location.

As for our payment system, we used Stripe API to handle transfers between accounts.

In order to ensure fast and consistent payments, we decided to process transfers between accounts in bulk. This allows us to consolidate the net effects of a set number of transfers and make a bulk SQL query/update at the last moment, hence keeping SQL queries minimal to improve performance.

To allow for users in under-served areas, we also implemented a physical top-up system for users to visit a physical station to top-up their accounts.

Due to the use of an external API to handle transfers, we also took into account the possibility of partial successful payments. In the event that this happens, we also implemented a fail-safe procedure in which we perform that particular set of transactions sequentially instead of bulk processing them.

Challenges we ran into

The challenge of attaining a good balance between convenience and security. Using as few credentials as possible for customers to create an account and use our e-wallet undoubtedly lowers the barriers to entry for many customers, especially people from underserved communities. However, with only a few credentials and other security measures that are implemented like 2-Factor Authentication and facial verification, we may undermine the digital security of our e-wallet for our customers.

Accomplishments that we're proud of

One feature that we are proud of is the ease of use due to the simplicity of the registration process. We believe that this will encourage people in areas with limited infrastructure/technology to enjoy online payments and transfers.

Security is a quality that we strive for. Despite the simplicity of the registration process, we validate user credentials to ensure the security of the payment platform through preventing duplication and scam accounts. Moreover,

We also achieved a good balance between efficiency and consistency. We ensure that our payment/transfer processes do not compromise on data consistency by performing checks and implementing fail-safe procedures.

Scalability and Availability

We believe that this system can be extended to operate on a larger scale. Due to the bulk processing of transfers and payments by calculating net effects, we can further improve the performance and efficiency of this process by parallelizing the processes through multiple CPUs. This would allow our e-wallet to handle large amounts of transactions concurrently without any slowdowns.

What’s next for this project

We believe that the benefits of using e-wallet will be maximized if more customers in the same community or region are also using e-wallet services, to allow for seamless inwards and outwards transactions using e-wallet. To attract more customers in using our e-wallet product, we would like to develop the “refer-a-friend” system, where an existing customer will receive $2.50 when others use their referral code to make their accounts. This will increase the number of customers who use our e-wallet product.

Built With

Share this project:

Updates