June 7th, 2021
2 minutes
A friend of mine was leaving to the US for pursuing higher studies in a week or so and I wanted to gift her something valuable so that she can use it frequently and tiny so that she can carry it along the way. And it also shouldn't be something that she already had. I started thinking about gifts that fit these criteria.
A key-chain?
She probably has that.
A pen?
Works only until the refill is not empty and it may become hard to find new refills if the pen is Indian-made.
A book?
Too generic!
Time was running out and I still hadn't completed the planning.
How about a greeting card?
Yeah, but, that's too generic as well! And it can't be used again and again.
But what if, I make the greeting card more personal and somehow make the card reusable and add more value to it? Yup, that's exactly what I wanted!
This was simple! Instead of buying a greeting card off the shelf, I could design the card all by myself! And so a day and a half later, it was ready. Easy-peasy!
While I was making the card personal, I was thinking about this part of the problem as well. I asked myself one question:
What makes a greeting card not reusable for the person who receives it?
Well a greeting card wishes someone with some words and that's where it ends being useful. Once the person is greeted with the words it is as good as a 2 year old newspaper (of course, except for the memory it carries). And also it is addressed to them so it can't even be passed on to someone else on another occasion.
Then it hit me! It is the static-ness of the information that was in the card that made it less valuable. Imagine how much more valuable it would have been if the words magically changed every time she opened the card! Well, it would be something out from the Harry Potter Saga if that happened on paper since we don't have the tech ready for that just yet.
But how close could I bring it to reality with a day remaining? I don't know magic, but I do know tech!
How could I make information dynamic on a piece of paper without any processing power on it? A URL on the card that takes her to a website where the information is dynamic? Yes! That would totally work! Except, typing a long URL is tedious. I made it easier by using a QR Code. So now whenever she scans the QR Code, it takes her to a website I made and shows her dynamic information.
For making the information dynamic. I built the website on pythonanywhere.com using Flask and Reddit's PRAW API. How it worked was, on every refresh or visit, it randomly picked a post from the subreddits I picked, like r/jokes, r/showerthoughts and r/aww and displayed it on the screen along with a greeting message addressed to her.
I realized I could take this further. Instead of statically addressing it to her, if I use a GET parameter for name and change whom the website addresses to, based on the URL, I could re-use this website to wish and greet others! A double win if you ask me! And so I did!
Now I want to wish you, the reader for taking your time to read this post! Pick your gift! Or take them all! 🤣