Back to writings

What CampusSphere Taught Me About Timing, Distribution, and Product Design

6 min read

CampusSphere was the first application I ever launched.

The idea was simple: an interactive map of IIT Roorkee where students could leave comments, thoughts, jokes, recommendations, and random observations pinned to locations around the campus.

I built it in less than a week after learning React and basic backend development. Looking back, the product wasn't particularly polished, and many parts were held together by optimism and caffeine. Yet somehow, it crossed 400+ registered users in less than 24 hours.

A year later, I realized the number itself wasn't the interesting part. The lessons behind it were.

Timing Matters More Than You Think

When I launched CampusSphere, the academic session had just begun.

Most of the campus activity was centered around first-year students. Everyone was exploring the campus, joining groups, making friends, and trying new things. Curiosity was at its peak.

At the time, I thought people were signing up because the product was good.

In reality, timing did a lot of the heavy lifting.

A mediocre product launched at the right moment will often outperform a great product launched when nobody cares. CampusSphere happened to solve a fun problem at a time when students were actively looking for ways to explore and engage with campus life.

I didn't understand timing then, but I appreciate its importance now.

Distribution Is a Feature

One mistake many developers make is believing that building the product is enough.

I learned very quickly that it isn't.

After launching, I shared CampusSphere across as many WhatsApp groups as I could find. I also asked juniors to share it with their friends and give feedback. Some people were curious, some found it funny, and others simply wanted to see what everyone else was posting.

That small push created momentum.

The product wasn't spreading because it existed. It was spreading because people were seeing it.

Today, whenever I build something, I try to remember that distribution isn't separate from the product. If nobody discovers what you've built, it doesn't matter how good the code is.

Accidental Product Design

One of the funniest lessons came from a mistake.

The first screen users saw was the login or signup page.

I didn't have a deep understanding of onboarding, user flows, or product design at the time. I simply assumed every app should start with authentication.

If I were building it today, I would probably allow users to explore the map before asking them to create an account.

But that mistake produced an unexpected benefit.

Because everyone had to register first, I could clearly track user signups. That's how I knew the platform had crossed 400 users so quickly.

The experience was worse for users, but better for metrics.

It taught me that product design is often a series of trade-offs. What's good for growth isn't always good for users, and what's good for users isn't always easy to measure.

Growth Isn't the Same as Retention

The 400 users made me excited.

The drop-off that followed taught me a more important lesson.

After the first couple of days, activity declined sharply. I wasn't promoting it anymore, the product didn't have strong retention loops, and there wasn't enough reason for users to keep returning.

For the first time, I understood the difference between getting users and keeping them.

Acquisition is exciting.

Retention is difficult.

The Biggest Lesson

CampusSphere wasn't a startup success story.

It wasn't profitable.

It didn't become a campus-wide phenomenon.

But it changed something in my mind.

Before CampusSphere, building software felt like something experienced developers did. After CampusSphere, I realized that people are surprisingly willing to try things you build, give feedback, and tell you what works and what doesn't.

That realization was worth far more than the user count.

The project taught me that shipping imperfect things is better than endlessly planning perfect ones. It taught me that timing and distribution matter as much as code. And most importantly, it gave me confidence that I could build something, put it in front of people, and learn from the result.

For a first project, that was enough.