I spent two years helping run URIC. That’s how I knew exactly how much of it was held together by hand.

Static forms. Bulk emails. Excel sheets tracking hundreds of submissions. Judging on paper. For a competition pulling 600+ research papers from 78+ universities across 16 countries, every one of those was a place where things got lost.

Going around the problem

Nobody asked me to fix this. I wrote a formal proposal and took it to the Associate Provost for Research, Innovation and Academic Development directly.

Then I assembled and led a team of three — myself as project lead and developer, a database engineer, and a full-stack developer.

The design

A centralised portal covering the full competition lifecycle:

  • Participant registration and submission management
  • Admin dashboard with approval workflows
  • A digital judging platform, replacing paper scoring
  • Automated email notifications
  • Role-based access control across participants, judges, and administrators

Stack: Angular frontend, Java Spring Boot backend, PostgreSQL, with Supabase in the mix.

Outcome

The proposal went in that August, after nine months of design work. It wasn’t taken forward, and the project didn’t proceed.

I’m keeping it here anyway. The design work was real, the team was real, and the problem is still there. Identifying an institutional process failure from the inside, writing the proposal, getting in the room, and leading a technical team through a full system design is the part that transfers — the approval was never the only thing worth having.