Inspiration

We found that getting help for university courses is often harder than it should be. General tutoring services don’t always understand the exact assignments, teaching style, or expectations of a specific class. We realized that the best support usually comes from students on our own campus—people who have already taken the course, learned from the same professors, and succeeded in it. That inspired us to build TutorLink, a platform that connects students with peers who truly understand what they’re learning and can provide relevant, real‑world academic help.

What it does

TutorLink connects students with peer tutors through an easy‑to‑use booking platform. Students can browse available tutoring sessions, filter by course, time, price, and location, and book help in just a few clicks. Tutors can create profiles, manage their availability, and track upcoming sessions and earnings. The platform supports both online and in‑person tutoring, making it flexible for different learning preferences.

How we built it

We built TutorLink as a web application using React and TypeScript for the frontend, with Firebase handling authentication, database storage, and deployment. The interface was designed with Tailwind CSS and ShadCN components to create a modern and responsive user experience. We structured the app around two roles - students and tutors - and implemented dynamic dashboards, booking management, and real‑time data to simulate a fully functional tutoring marketplace.

Challenges we ran into

Learning completely new technologies

Most of us had never used tools like React, Firebase, and TypeScript before. Understanding how components, state, and routing work together was overwhelming at first. We spent a lot of time reading documentation and watching tutorials just to understand the project structure before we could even start coding real features.

Connecting frontend to backend

Moving from “mock data on the screen” to real authentication and database data was harder than expected. We had to learn how to:

  • Set up Firebase authentication
  • Design database collections
  • Fetch and display real user information
  • Handle errors and loading states

Designing the student vs tutor logic

A major design challenge was deciding:

  • Should users have one account or two?
  • How do we switch between student and tutor modes?
  • What data belongs to each role?

Time management & scope

We kept wanting to add more features (chat, real payments), but realized we had to focus on core functionality first:

  • Authentication
  • Browsing sessions
  • Basic dashboard
  • Booking flow
  • Ratings

Accomplishments that we're proud of

Building a fully working platform from scratch

We went from just an idea to a real website where users can browse tutoring sessions and navigate a dashboard. None of us had built a project this large before, so seeing everything come together—UI, logic, and hosting—felt like a huge achievement.

Implementing a professional user interface

We created a clean, modern dashboard with:

  • Student and tutor modes
  • Search and filtering
  • Session cards and booking views
  • Responsive design for mobile and desktop

Learning how to use React components and libraries like Framer Motion made the app feel like a real product instead of a school assignment.

Deploying the site successfully

Getting the app live on Firebase was a major milestone. We learned how to:

  • Build the project properly
  • Configure hosting
  • Push updates after code changes

Now we have a real URL that anyone can visit.

What we learned

Throughout Dev.0, we learned how a real web application fits together, including how the frontend, backend, and database connect instead of existing as separate pieces. We developed practical skills in React, TypeScript, and Firebase, and became more comfortable reading, modifying, and debugging large codebases. We also gained experience using professional tools like GitHub, deployment workflows, and project organization. Most importantly, we learned how to problem‑solve as developers by researching errors, reading documentation, and breaking big tasks into smaller steps. Overall, Dev.0 taught us how to think and collaborate like a real software team rather than just individual coders.

What's next for TutorLink

Next, we want to launch TutorLink as a platform actively used by Carleton students. Our focus is on growing a real user base through campus outreach and partnerships with student clubs and societies. We plan to enhance the experience with features like in‑app messaging, improved scheduling, and notifications to make connecting with tutors even easier. After establishing TutorLink at Carleton, we hope to expand to other universities and build a larger peer‑to‑peer learning community.

Ultimately, we aren't just building a scheduling tool; we’re building a self-sustaining community where help is always just one click away—starting right here at Carleton.

Built With

Share this project:

Updates