Masoud Khalilian

Data Engineer | Software Engineer | Web Developer

Automated Proposal Acceptance System

Tech Used


How It Started

This was one of my first real projects—maybe even the first fully functional one I ever built. I developed it as part of my bachelor’s final project, which I’m proud to say earned a perfect score: 20 out of 20.

The idea for the system came from my own frustration. I was trying to find a professor to supervise my thesis, but every professor I contacted was either not accepting students or already had a full list. There was no way to know if your proposal had been seen, and the whole communication process between students and professors was confusing and chaotic.

So, I decided to turn the problem into a solution.

I approached the most intimidating professor I could think of—the one known among students as strict and formal. He also happened to be the head of the department, so he was well aware of the issues students were facing. I pitched him a system to simplify the professor-student communication and proposal process. He made a few suggestions, approved the proposal, and the project was on.

The system had three roles: Admin, Professor, and Student. It allowed students to see which professors were available and how many slots they had left. Students could send in proposals directly through the app, and professors could accept or reject them with a reason.

Even though the system was never deployed—partly due to university restrictions and partly because I didn’t push for it—I was still proud to have built something that solved a real problem. And I finished my final project with full marks and no complaints.

You’ll find some pictures of the project below.


What I Learned

I learned a lot. At the time, it felt like a major breakthrough. I finally understood how servers worked, how PHP and MySQL connect, and how to write raw SQL queries to manage data. While most people were using Entity Framework in C# back then, I dove deep into SQL—and that was both a challenge and a joy.

Looking back now, the code is full of hilarious mistakes and beginner blunders. But it worked—and that’s what mattered.

I even wrote basic HTML and CSS for the UI, which was a huge deal for me then. I remember during one of my first code reviews, the professor asked me to fix a styling issue with a scrollbar. It felt like a big moment—being tested on something I built from scratch.


Why I Still Talk About This Project

Simple: this project showed me what I’m naturally good at.

Even though I didn’t fully realize it at the time, I’ve always had a knack for identifying inefficient systems and building practical tools to improve them—tools that make life easier for people. This project was the first step in that direction.

It felt amazing to take something complicated—like contacting professors, waiting endlessly for replies, worrying if you used the correct email address—and simplify it into a few clicks.

That’s the kind of work I love to do.
That’s the kind of impact I want to keep having.

Abstract

This is an excerpt from the introduction of my original thesis document:

In Deep Survival, Laurence Gonzales writes about "Bureaucracy" describing it as something that forces us into repetitive, often meaningless actions without questioning their purpose. Over time, we end up trapped in the very system we never intended to be part of.

In our country, dealing with bureaucracy and paperwork has become a normal part of daily life. But just because something is common doesn’t make it right. So, the question is: what can a software engineer do about it? Is there a software-based solution? And if so, how can it be implemented?

This project begins by briefly examining this social issue, then proposes a potential solution, and finally presents a working prototype that demonstrates how we might tackle bureaucracy through technology.

The code is available on my GitHub, and I’ve added some screenshots of the project below.
https://github.com/masoud-khalilian/proposal-acceptance-system