we built the heart desire of every student

we built the heart desire of every student in z/campuslife

I recently downloaded Version 1.0 of Acadeva from the Firebase App Tester. Yeah, as expected, it did not really work fine anymore. A lot of things were rough. Some pages lagged. Some things felt incomplete. But the interface and some functionality were still there.

Then I understood how far weโ€™ve come.

I just kept opening screen after screen quietly. Looking at old ideas. Old layouts. Old decisions. It almost felt like opening a time capsule from a version of ourselves that was trying so hard to build something useful without fully understanding the weight of what we were entering.

All those improvements and milestones before hitting our major roadblock: disorganisation.

Yeah, we went out to solve a problem and somehow created ours.

One that looked even more painful because of the amount of trust that had gradually come upon us over time. Students were bringing their materials into Acadeva because they believed it could genuinely help people academically. Every upload carried trust inside it. Every PDF was somebody trying to contribute to something bigger than themselves.

But we did not know how to organise them.

At first, it looked easy. Just upload materials and sort them manually. What was I thinking ๐Ÿ˜‚

Then the books started coming in.

More lecture notes. More handouts. More past questions. More textbooks. Different departments. Different naming patterns. Different formats. Different lecturers. Different schools.

We tried manually then we started using Large Language Models to extract some meta data but that did not still work. I would explain why on the release post on our blog. https://acadeva.xyz/blog (May 11)

We were drowning in PDFs.

I ran to Confidence Banny, the Director of Academics in our Faculty. Together, I and his team laboured for weeks trying to structure things properly. We renamed files manually. Matched materials to courses manually. Tried to enforce consistency manually.

But the books just kept coming in.

And slowly we started realising something uncomfortable.

The more Acadeva grew, the more obvious our cracks became.

At that 1.7 moment, we realised that adding more features or improving other parts of the app while the study section remained confusing was not taking us anywhere. We could add beautiful interfaces. We could add AI features. We could improve speed and animations. But deep down we knew the heart of the platform was still struggling with structure.

I spent my whole Christmas and New Year patching the app. 

While people were celebrating, travelling, resting or entering the new year with peace of mind, I was inside logs, databases and failed experiments trying to understand how this thing was going to survive scale.

Every time Confidence made a suggestion, it quietly exposed our flaws.

And the painful thing was that most of the time, he was right.

I knew in my heart where the problems were. I had brought them up to the team many times before. But knowing a problem exists and having the ability to solve it are two different things entirely.

The real question now was: how was this overhaul going to happen?

How do we categorise over 3000 books into courses automatically?

How do you make a system understand that two differently named documents may belong to the same academic path?

How do you organise chaos without creating more chaos?

That was the beginning of two months of intense work.

And honestly, those months changed us.

Because while this was happening, we still had to maintain the existing platform during one of the hottest examination periods in school. Students were actively depending on the app while we were trying to rebuild its foundation underneath.

A lot of times things went wrong.

Students complained a lot. When I came to sit for exams, some students would walk up to me and tell me straight to my face that Acadeva was trash. Well, that only happened on rare occasions. Others were afraid to say it directly and instead watched, applauding the mess that was unfolding in real time.

Some complaints were painful because they were true. Sometimes the search results were messy. Sometimes materials were difficult to find. Sometimes the wrong content appeared under the wrong course due to tired human beings.  

We tried our best to keep up with everything at once.

There were days where fixing one thing created three new problems somewhere else. There were moments we genuinely wondered whether we had underestimated the scale of what we were trying to build.

 

The first stage of the work was gathering enough data to create a system that could automatically detect a course from a book or note.

Over the next few weeks, the system slowly started taking shape.

Very slowly.

The first trials were honestly bad. Efficiency was poor. Accuracy was poor. Sometimes the system confidently classified completely unrelated materials together and we would just stare at the results wondering what exactly it thought it was doing.

But little by little, things improved.

We started understanding patterns hidden inside academic materials. Course codes. Departmental language. Lecturer behaviour. Repeated keywords. Structural similarities between documents. Tiny signals that looked insignificant individually but became powerful together.

A lot of consideration had to be put into both efficiency and accuracy because we quickly realised something dangerous: a smart system that is wrong frequently becomes frustrating very fast.

And so we kept refining.

Some nights stretched into mornings. Some mornings immediately became afternoons without anybody noticing. Sometimes we would solve one difficult problem and celebrate for five minutes before another issue appeared immediately after.

But gradually, Acadeva started becoming smarter.

And for the first time, it felt like we were no longer manually fighting the flood of materials. It felt like we were finally building infrastructure capable of handling growth.

โ€œYour taste is why your work disappoints you.โ€
โ€” Ira Glass

That quote stayed in my head a lot during this period.

Because one of the hardest things about building is seeing the vision clearly in your mind while reality struggles to catch up to it. You know what quality looks like. You know what the experience should feel like. And because you know it so well, every flaw becomes louder to you than it appears to everyone else.

There were moments I genuinely struggled to advertise Acadeva confidently because deep down I knew it could be far better.

Not aesthetically.

Structurally.

And maybe that became the turning point for us. We stopped trying to decorate weaknesses with more features and started confronting the weaknesses directly.

Painfully. Slowly. Properly.

Looking back now at Version 1.0, I donโ€™t just see an old app.

I see evidence of people trying. I see mistakes that taught us difficult lessons. I see ambition growing faster than structure.

And somehow, despite all the stress, confusion, complaints and endless PDFs, I also see proof that we refused to stop.

Now May 11 is close.

And this release means more to us than people may realise.

Because behind every improvement students will notice is a story filled with pressure, rebuilding, mistakes, learning and persistence.

Wiseman Umanah would say โ€œtargets must be metโ€.

This update is not just about new features.

It is about finally bringing order to something that almost collapsed under its own growth.

โ€œArt is never finished, only abandoned.โ€
โ€” Leonardo da Vinci

We are still building. Still improving. Still learning.

But on May 11, we release a version of Acadeva that carries the lessons of every difficult night behind it.

1 Reply
Upvote ยท +15

Related discussions


1 Comments