Skip to content
Setu

Setu

Sharing Experience To Undergrad

0

Created on 14th February 2026

Setu

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.

Discussion

Builders also viewed

See more projects on Devfolio