blog thumbnail
sigma-school

Say Goodbye to Email Ping-Pong: How MJ’s Project Reinvented Effortless Scheduling

Sigma School
23rd May 2025

Meet MJ: From Business Analyst to Future Software Engineer

MJ isn’t your typical developer. When he first joined Sigma School’s Full-Stack Bootcamp, he was a university student with a hunger to build something real, not just learn theory. 

Fast forward to today, he’s now an IT Business Analyst at Hilti Asia IT Services, equipped with a clear understanding of how technology fits into real-world business needs. His journey began with a simple goal: sto olve a problem people face every day, and do it through code.


Why Booking a Meeting Shouldn’t Be So Hard

We’ve all been there — playing email ping pong, trying to find a meeting time that works for everyone. MJ experienced this frustration firsthand. Traditional tools like Microsoft Outlook lack flexibility and personalization, especially when trying to share availability in a user-friendly way.

That sparked his mission: to simplify meeting scheduling for professionals, mentors, and small businesses. His goal? Let users send a single smart link so guests can view availability, choose a time slot, and even add their guests — all in just a few clicks.


Building Zcal Clone: MJ’s Feature-Packed Calendar App

Instead of reinventing the wheel, MJ did something clever — he cloned Zcal, a modern scheduling tool loved by many, to better understand how great systems work.

Tech Stack Used:

  • Frontend: React with Material UI
  • Backend: Node.js & Express
  • Database: PostgreSQL
  • Third-party Tools: Nodemailer (for emails), Zapier (for Google Calendar integration)

Users can:

  • Create meetings with multiple time intervals per day (e.g., 9-12, 2-5)
  • Share custom booking links with guests
  • Automatically send calendar invites and emails
  • Update profile and personalize booking pages

Real Challenges, Real Solutions: What MJ Faced Behind the Scenes

No project is complete without hitting a few roadblocks — and MJ had his fair share:

Time Intervals Logic

Allowing flexible booking intervals per day (not just a 9–5 block) was tricky. MJ solved this with a dynamic time-slot feature that lets users add multiple time ranges for each day.

Zapier Integration

Zapier was both powerful and painful. It didn’t always play nice with MJ’s app. But thanks to some guidance from his partner, Su and many hours spent debugging, he got it working — syncing bookings directly to Google Calendar.

Date, Timezone & Format Bugs

Handling date-time logic across time zones is a classic pain point. While ChatGPT helped brainstorm solutions, MJ still had to manually log and test data to get it right. Eventually, he cracked it — one console log at a time.


What MJ Learned: From Database Design to Developer Confidence

This project wasn’t just about shipping features. MJ learned some deep lessons that all developers face:

  • Plan your database early: MJ had to redesign his schema mid-way — a time-consuming but necessary fix.
  • Talk it out: Weekly discussions with his partner helped generate better ideas and “aha” moments.
  • Practice makes practical: Building a real-world app gave him confidence that he can solve problems and create impact.

Final Thoughts: More Than Just a School Project

MJ’s Zcal clone isn’t just a clone — it’s a testament to what you can achieve in just four weeks with the right mindset, mentorship, and motivation. His project didn’t just meet expectations — it exceeded them.

And as a special thank you, MJ gave a heartfelt shoutout to his mentor Haris, crediting him for his structured guidance, industry-focused teaching, and yes — a few good jokes along the way.

If you’re wondering whether you can go from zero to developer, MJ just showed you how it’s done.