Setu
Sharing Experience To Undergrad
Created on 14th February 2026
•
Setu
Sharing Experience To Undergrad
The problem Setu solves
The Problem It Solves
Most alumni–student interactions today happen through informal and unstructured channels like social media, messaging apps, or open networking platforms. These systems lack identity verification, structured mentorship, controlled job postings, and privacy safeguards.
As a result:
Students struggle to find relevant and trustworthy mentors
Fake or misleading job opportunities can circulate
Institutions lack a centralized way to manage alumni engagement
Communication often becomes spam-driven or random
There is no structured tracking of events, opportunities, or engagement
SETU solves this by introducing a verification-first, role-based platform where every user and opportunity is authenticated before interaction.
What People Can Use It For
🎓 Students
Connect with verified alumni from their institution
Receive skill-based mentor recommendations
Apply to admin-approved job opportunities
Participate in professional discussions
Join alumni-hosted events
Communicate securely through connection-based messaging
🎓 Alumni
Mentor students in a structured environment
Share career insights and experiences
Post job opportunities (subject to admin approval)
Host institutional events
Contribute through donations
🛡️ Institutions / Admins
Verify and manage alumni and student records
Moderate job postings
Monitor engagement and activity
Maintain a trusted alumni network
How It Makes Tasks Easier and Safer
Safer Networking: Only verified users can access the platform.
Controlled Job Publishing: Jobs require admin approval, reducing fake listings.
Spam-Free Communication: Messaging is restricted to approved connections.
Relevant Mentorship: Skill-based recommendation percentages guide students toward suitable mentors.
Privacy Protection: Location visibility is limited to city/region level and only for connections.
Centralized Management: Institutions get a structured, trackable alumni engagement system.
Challenges I ran into
Challenges I Ran Into
1️⃣ Role-Based Access Control Complexity
One of the biggest challenges was implementing strict role-based access control.
Initially, some API routes were accessible across roles due to shared middleware logic. For example, students could technically hit endpoints that were meant only for alumni or admins.
How I solved it:
I restructured the backend by:
Separating routes clearly by role
Implementing role-check middleware after JWT verification
Adding explicit permission checks inside sensitive controllers
This forced me to think carefully about authorization at every layer instead of assuming authentication was enough.
2️⃣ Skill-Based Recommendation Logic
Another challenge was designing the recommendation percentage system.
The first version simply counted matching skills, but it produced misleading percentages and didn’t scale well.
How I solved it:
I redesigned the logic to:
Compare total student skills against alumni skills
Calculate overlap percentage more consistently
Handle edge cases like empty skill sets
I tested multiple scenarios to ensure the percentage felt logical and transparent.
3️⃣ Managing Relational Data in PostgreSQL
Since the project used PostgreSQL, handling relationships between users, connections, posts, jobs, and events required proper schema design.
I initially faced issues with:
Incorrect foreign key constraints
Deleting users breaking related data
Duplicate connection entries
How I solved it:
I redesigned the schema with:
Proper foreign key relationships
ON DELETE constraints
Unique constraints on connection pairs
This improved data integrity and prevented inconsistent states.
4️⃣ Connection-Based Messaging Logic
Ensuring that users could only message approved connections was trickier than expected.
At first, the backend didn’t properly validate connection status before sending messages.
How I solved it:
Before allowing a message to be created, the system now checks:
Whether a connection exists
Whether it is approved
Whether both users belong to the correct roles
This closed a potential security loophole.
Technologies used
