---
title: upi.link - Progress Update 1
author: Rohan Verma
type: post
date: 2019-02-17T12:38:24+00:00
url: blog/2019/02/14/progress-update-1-upilink
categories:
- upi.link
---
## What am I building, in a sentence?
๐upi.link: A programmable shortlink generator based on UPI (universal bank2bank payments service in ๐ฎ๐ณ) sharable via social media & chat.
## What did I complete till now?
### Highlights
#### Deployed at [upi.link](https://upi.link)
I used AWS Free tier to deploy this website to reduce cost for hosting this. It uses AWS Lambda
Functions to generate shortlinks which
are stored inside Redis with a TTL of 3 Days. Authentication is
implemented using a postgres backend along with secure cookies for sessions.
I will port the lambda functions I wrote for
shortlink generation out of AWS Lambda
to my custom backend written in Golang as authentication. This is because
I have seen that the cold start for Lambdas is pretty slow for my use case and takes about
5-6 seconds which for the users seems like 10 seconds.
The frontend is written using Nuxt.js which is a Universal app framework on top of
Vue and is similar to what Next.js is for React. This was a neccessity for this use case
as I need the links shared on social media as well as chat with
HTML OG (Open Graph) tags to be populated dynamically based on their content. The only other option
was to write a static website served through templating either in Go (Go templates)
or Python (Django/Flask using Jinja templates), but then I would not be able to utilize
the rapid development offered by Vue/Nuxt. Also, I can now separate my API and frontend, maybe
totally host the API proxied via Apex/Up
and the frontend via
S3 buckets to reduce the cost to host the site.
#### Created a roadmap
I shared this project with a few friends and groups and lots of feature requests
as well ideas propped up. To keep a track of all these I created a public
Trello Board. You can
email to the board for adding more feature requests.
### Features
#### Donation Campaigns
One of the major features this week, I added a campaign collection feature.
The first campaign to be hosted is the #BharatKeVeer
campaign which was launched to collect funds for contributing to the
wives of the CRPF Soldiers who lost their lives during the Pulwama terrorist attack.
#### Temp Link Generator
I updated the temporary link generator on the home page. Now you don't need to bother
with the Long Link and you can directly see the page.
#### Whatsapp/Telegram Share buttons
Buttons for sharing on Whatsapp and Telegram were added below the generated shortlink
#### UPI App compatible QR Code
QR code with the embeded Deeplinking Intent is now displayed on the
redirect page for people who open the link on their laptops/desktops
so that they can simply scan the link from their phone.
#### Emails via AWS SES
My SES request for sending emails was approved, I added the email button
behind authentication.
### ๐Misc
#### Progress Blogs
Well, this blog, honestly, I wanted to have a blog where I could track the progress on this
project but I did not want to have another setup on say Ghost/Wordpress. So again Nuxt came
to my rescue and now I just have to add a page to my Nuxt folder and it handles everything
else such as routing etc.
#### Recorded demo video ๐น
You can view this video on [youtube](https://youtu.be/USK4UOn1Xkw)