Motion is reduced on this device. Use the chapters below to move through the story: Act I · Act II · Act III · Act IV · Act V

Cleverse Academy

In 2023, Cleverse Academy was founded to help career changers become software engineers, even without coding experience.

Here, their ideas could take shape as websites they built and were proud to call their own.

Preparing the Instructors

Cleverse engineers Men and Art planned and designed the first cohort’s curriculum.

Before teaching students, they rehearsed it inside the company—plan, feedback, practice, rehearsal—refining it with every pass.

The T.A.

In time, an engineering student joined Cleverse Academy as a T.A.

Their work ran through Front-end, Back-end, and the Final Project, helping the teaching at every stage.

Learning to Solve

During Front-end and Back-end, Tiger led students through problem-solving practice.

They worked through LeetCode problems such as Jump Game or Pow(x, n).

From an Idea to a Website

After Front-end and Back-end, students put their learning into Final Projects.

They began with their own idea, designed the front end in Figma and the database schema in Draw.io, then built their sites.

Regular instructor reviews kept the work to professional standards.

Every Change Had a Cost

Every review sent the code back for another change.

And every change sent a person back to the server to deploy it again with docker-compose.

And every change sent a person back to the server to deploy it again with docker-compose.

The Bug

Fix a bug.

Deploy it again.

Deploy it again.

Progress Carried a Burden

Build a new feature. Deploy it again.

he Automation Idea

To get rid of this repeated manual work, Tiger imagined a service that deployed the system automatically whenever code was pushed to GitHub.

Curiosity Chose Rust

Tiger chose Rust for the service out of curiosity, knowing it was a risk.

He had never used it in production.

Learning Rust took nearly all his time, leaving no working software.

The Promise He Missed

Tiger could not deliver the service he had promised the students.

Poor time management and misplaced priorities left instructors such as Art helping every group deploy by hand. The whole process became chaotic.

What Should Have Been Said

Looking back, Tiger should have communicated sooner, tracked progress, and recognised that he would not finish in time.

He could then have helped students deploy by hand earlier, while the situation was still manageable.

A Second Chance

Moving forward, Art accepted a new role elsewhere, and Tiger stepped in as Back-end Instructor.

A Request’s Journey

His second chance began by teaching what happened when someone opened academy.cleverse.com in a browser:

DNS resolved the name, TCP connected, HTTP reached Node.js and Express, Prisma queried the database, and JSON returned to the browser.

A Different Choice

After teaching Back-end to the second cohort, Tiger returned to the service.

This time, he chose Go. Docker had a native Go client. Tiger had used the language before, and Art was there to advise.

Every Command, Verified

Each deployment command carried a JWT with an asymmetric ES256 signature.

Students set their own public key on the service. It verified every command against that key before deployment.

Every 240 Seconds

Every 240 seconds, the service acted on the highest-priority verified deployment command.

What had been a manual loop became a rhythm the service kept.

The Audit Trail

Access logs were stored in /var/log/compose-deployment/.

They remained there for audit, debugging, and manual rollback.

Back to Building

cd-compose-deployment was finished and delivered to students in time.

Students, instructors, and T.A.s could focus on building each group’s website, giving students room to do their best work.

Final Project Presentation

It culminated in a hugely successful Final Project Presentation.

The students could finally present the websites they had built from their own ideas.