Note: In the demo video, I scheduled a template for today, to show you what the email delivery process looks like in real time. But this project is useful in scheduling the templates for a future event, and the CRON (background) job sends the email at the very first minute of the special day for your contact.

You can easily schedule the template for an occasion in a year-advance. Assume, on 10th Oct 2024, you scheduled a birthday template for one of your contacts, whose birthday is on 7th Nov (who is residing in NYC which has a timezone of GMT -5). So, your personalized email template will be sent to your contact at the very first minute of 7th Oct 2024 (according to GMT -5). Isn't that great 🦋

Especially for sponsors: I have made dedicated videos/content for Epson and Ambassador in the GitHub readme. So, please refer that an this project demo.

Inspiration

In a world that moves at lightning speed, finding time for the small but meaningful gestures that nurture our relationships can feel like a challenge. The inspiration behind Wishy emerged from a heartfelt desire to make spreading joy and appreciation easier, no matter where our loved ones are. One of my key motivations was to ensure that you can wish your loved ones precisely at the stroke of midnight in their timezone—overcoming the barriers of time zones to be the first to share your love and admiration on their special day. This level of punctuality helps remind them that they are cherished, even in the simplest, most thoughtful ways.

But Wishy goes beyond just remembering dates. In today's world, true happiness often feels like a rare find. While countless efforts are focused on tackling big global issues like poverty and disease, I wanted to create something that could touch lives universally, cutting across boundaries, ages, and circumstances. Wishy is my way of spreading smiles to anyone and everyone, recognizing that a personalized wish can make someone's day brighter and turn an ordinary moment into something truly special. With Wishy, I believe that even a small, thoughtful reminder of love and appreciation can have a lasting impact, bringing warmth and positivity into our lives in a way that's both simple and deeply meaningful.

What it does

Wishy is a unique platform designed to automate sending wishes for birthdays, anniversaries, and festivals. It allows users to set up personalized messages that are automatically sent to loved ones on their special days. Users can customize templates, choose the type of greeting (SMS, email, etc.), and even schedule recurring reminders for ongoing events. Wishy keeps track of important dates so that users never have to worry about forgetting a celebration. Through Wishy, we’re not just delivering reminders; we’re delivering happiness, ensuring that every special moment is celebrated right on time.

Let's see a breakdown of things one can do on this platform:

🅰️Create contacts: According to the current plan, a defined number of contacts can be created. The address attached to the contacts is used to find the timezone according to their location so that they can wished at the very precise moment.

🅱️ Schedule birthday, wedding anniversary, and festival templates: For a contact, one can schedule a single type of template for a type of occasion. Only a single template for a birthday can be scheduled. The previous one has to be deleted before scheduling a new one. This can be easily done by clicking the icons in the UI.

Apart from this, there are many features like changing the plan, interacting with the Epson Connect API, and using Blackbird API & CLI, which all are displayed in the video demonstration.

Note that, in the demo, I forgot to mention the admin website that can be used by me only (https://versatilevats.com/apiworld2024/templates.html) to create/add new templates to the application so that everyone can use it.

How I built it

Wishy was built using a blend of cutting-edge technologies to ensure a seamless, reliable, and user-friendly experience. I utilized Node.js for the backend, enabling efficient data handling and real-time operations, and Knex.js to interact with the MySQL database, ensuring smooth data transactions. My front end was designed with Bootstrap to deliver a responsive, modern user interface. I integrated APIs for email and SMS services, ensuring that each wish reaches its recipient exactly as intended. We also employed security measures to safeguard user data and used cloud-based infrastructure to ensure high availability and scalability.

Challenges I ran into

Building Wishy came with its fair share of challenges. One major hurdle was ensuring reliable delivery across multiple time zones, as we wanted every wish to be timely, no matter where the user or recipient is located. Additionally, managing recurring reminders and handling different types of greetings required a flexible yet robust architecture. Another challenge was integrating multiple services (email, SMS) while maintaining a consistent user experience. Finally, ensuring data security and user privacy, especially in handling personal information like birthdays and anniversaries, was a critical challenge that we prioritized throughout the development process.

Not only these, it was my first time using Epson Connect API & Ambassador. Not only I manage to utilize both of them, but I did it gracefully, ensuring the project gels with these two services.

Accomplishments that I'm proud of

I'm incredibly proud of creating a platform that bridges the gap between intention and action in relationships. With Wishy, users can now effortlessly ensure that their loved ones feel valued and remembered on special days. I’m also proud of successfully implementing a reliable, timezone-sensitive scheduling feature that sends out wishes precisely when they matter. The seamless integration of SMS and email delivery is another accomplishment, allowing users flexibility in choosing how their messages are sent. Above all, we’re proud to have built a product that adds value to people’s lives by helping them cherish and celebrate their connections.

What I learned

The journey of building Wishy taught us the importance of empathy in technology. Creating a platform focused on human connection required us to understand the emotions behind each interaction. Technically, we learned a great deal about scheduling systems, timezone management, and API integrations. We also deepened our understanding of user privacy and data security, as handling sensitive information responsibly was a primary focus. This project underscored the importance of building software that not only functions efficiently but also enhances the lives of its users by fostering meaningful connections.

What's next for Wishy

As of now, I am more than happy with how Wishy turned out to be. But definitely, the following things can be added/introduced to the application to enhance its feature sets:

🟠 Add a payment wall for upgrading the plan 🟡 Adding voice message features to be sent to your contacts

🙏 Sponsor representatives, please look at the GitHub readme so that you can see the code and textual description all at the same place

Built With

Share this project:

Updates