© 2025 — Ahmed Shaban

© 2025 — Ahmed Shaban

16:05
Icon

Contact

Icon

Contact

Let's Get in Touch!

NoClue - Student connection

NoClue - Student connection

NoClue - Student connection

A Distributed Classroom Collaboration App

A Distributed Classroom Collaboration App

No Clue is a distributed classroom assistance application designed to simplify communication and collaboration among students. Developed by Ahmed Shaban and Jayden Walker, the project was created as part of a Distributed Systems course at Robert Morris University.


The system combines real-time messaging and file-sharing functionality within a client-server architecture built in Python (Flask + SocketIO). The goal was to provide an intuitive, scalable, and efficient platform for students to exchange information and study materials without depending on third-party communication apps.

No Clue: From Concept to a Real-Time Classroom Collaboration App


The Thought That Started It All

The idea for No Clue started with a simple question: what if every class had its own open study group, a space where students could talk, ask questions, and share notes without feeling awkward? I noticed that most classmates relied on random group chats or scattered tools, and collaboration always ended up disorganized. That small thought became the start of a bigger learning experience — one focused not on business or profit, but on connection and engineering curiosity.

Building the First Version

When my teammate Jayden and I began working on No Clue for our Distributed Systems class, our goal was to understand how communication works between computers. We built a simple distributed system using Python sockets that allowed users to send messages and share files directly over a network. I handled the file-sharing logic, setting up ports, message handling, and concurrent connections so that multiple users could interact at once. The project was fully open-source and designed to test real networking concepts like client-server communication, message routing, and data transfer reliability. Even though the first version had errors and minimal design, it worked, and it was surprisingly scalable for a class project.

Learning from the First Build

That first version taught me the foundations of how distributed systems operate. I learned how data moves between nodes, how to manage sockets and threads, and how to handle synchronization between users. But beyond the technical lessons, I realized something deeper: systems like this need to feel natural to users, not just work technically. That thought marked the point where I started to merge my software engineering mindset with a product management perspective, thinking about how people would actually use what I built.

Rebuilding and Experimenting

After the class ended, I decided to revisit No Clue during the summer. This time, I wanted to learn new skills while improving the project just for fun. I rebuilt the system from scratch, adding authentication, password validation, and even a small Wordle-based two-factor challenge as an experiment. I also implemented QR code generation, so each study group could be joined instantly by scanning a code, bringing both usability and a distributed concept together. On the technical side, I integrated session management, password hashing using Werkzeug, and a REST API for real-time chat. The UI was also upgraded with HTML, CSS, and Flask templates to create a more interactive experience.

Looking Ahead

Right now, No Clue is still a personal project. A space for me to keep learning, experimenting, and improving. My next goals are to explore cloud scalability, add notifications, and integrate the platform with learning management systems. One day, I hope to bring it back with a stronger value proposition. Maybe something that connects students through technology built with purpose and simplicity.

Icon

Contact

Let's Get in Touch!