Inspiration
Starting university is a fragmented experience. Students have to navigate course selection, schedule planning, and social connections across completely separate tools. Course information is often difficult to interpret, planning is manual, and meeting relevant people depends largely on chance.
Nomad was built to address this gap by combining academic planning and social discovery into a single system. The core idea is that a student’s academic graph and social graph are inherently linked, and should be treated as such.
What it does
Nomad is a student platform that integrates academic planning, social networking, and communication.
On the academic side, it provides an interactive course planner where courses are represented as a prerequisite-aware graph. Students can explore dependencies, track progress, and understand how courses fit into their academic path.
On the social side, it includes a feed system, friend connections, and communities. Users can create posts, react, reply, and filter content by interests or communities. A recommendation system suggests people based on shared university, major, and interests.
The platform also includes messaging and calendar functionality. Users can communicate in real time and manage events or schedule proposals within the same system.
A global search allows discovery across users, courses, communities, and posts, while onboarding ensures that relevant data is collected early to improve personalization.
How we built it
Nomad is a full-stack application built with a modern web architecture.
Frontend:
- Next.js (App Router) with React and TypeScript
- Tailwind CSS with component primitives
- React Flow for graph visualization
Backend:
- FastAPI with Python
- Supabase for authentication, storage, and database
- Pusher for real-time communication
The frontend uses a custom API hook pattern for data fetching and mutations, with optimistic updates for interactions such as connections and reactions. The system maps API models to UI-specific view models to maintain flexibility in rendering.
Challenges we ran into
The main challenge was combining multiple complex systems into a single coherent product. Academic planning and social networking have very different interaction patterns, and integrating them without creating a cluttered experience required careful design decisions.
State consistency was another major issue. Features such as connection status had to remain synchronized across multiple surfaces, including feed, search, communities, and course views.
On the technical side, building a stable and readable graph layout for courses required implementing deterministic algorithms and handling edge cases such as cycles and incomplete prerequisite data.
Accomplishments that I'm proud of
The project goes beyond a simple prototype and functions as a cohesive platform with multiple interacting systems.
It successfully integrates:
- a prerequisite-based course planning system
- a social network with real interaction flows
- real-time messaging and updates
The recommendation system combines graph traversal and user similarity signals to produce meaningful suggestions. Additionally, the connection system was implemented consistently across all parts of the application, which required non-trivial coordination.
What we learned
We learned that building a strong product requires aligning technical systems with real user workflows. Simply adding features is not sufficient; the interactions between them define the overall experience.
We also gained experience designing graph-based systems, managing complex frontend state, and implementing real-time features in a scalable way.
What’s next for Nomad
Future development will focus on improving both the intelligence and depth of the platform.
On the academic side:
- more advanced schedule optimization
- multi-year degree planning
- integration with real university datasets
On the social side:
- improved recommendation systems
- stronger community and event features
The long-term goal is to evolve Nomad into a central platform that supports both academic planning and social interaction throughout a student’s university experience.
Built With
- dify
- fastapi
- nextjs
- openai
- pusher
- shadcn
- supabase
Log in or sign up for Devpost to join the conversation.