BACK

Buzz


2025-05-20

Buzz is a full-featured social media platform where users can create, like, save, repost and comment on posts, enjoy real-time messaging and video/voice calls, share reels, and customize their profile with follow/unfollow functionality.

Key Features


Create, like & comment on posts

Real-time messaging & calls

Follow & unfollow users

Tech Stack


  • Java
  • Spring Boot
  • MySQL
  • React
  • Tailwind
  • Redux
  • MUI
  • Axios
  • Formik
  • Yup

Why I built Buzz


Buzz started as a “what's the hardest thing I can build without losing my mind?” kind of challenge. I was just getting into fullstack development during my first year of my Java Developer studies and figured: Why not try making a social media platform? I'd never touched React before, but I went for it anyway. No deadlines, no pressure - just me, IntellJ, VS Code, and a long list of features I Googled one by one. I wanted to experience everything: building REST APIs, handling auth, styling with MUI, and breaking things just to fix them again.

The process


Since this was my first Spring Boot/React project, getting the basic structure up and running took a bit of trial and error. I began with the backend - Spring Boot and MySQL - and made a big to-do list of all the features I needed (API endpoints, CRUD, auth, etc). Each item got its own Git branch, knocked it out, then merged back into main once everything was working. No chaos, no spaghetti, just one step at a time. Once the backend felt solid, I turned to the frontend. That’s where things got interesting. React was brand new to me, and I decided to go full monorepo, which felt very “pro” until I realized how much config it actually needed.

Problems


Oh, so many. On the frontend, I broke the build more times than I can count - usually by forgetting imports or putting className in the wrong place. I also fought CSS-in-JS like it personally offended me. Backend-wise? Classic CORS errors, dependency mismatches, typos in application.properties, and mysterious 404s from endpoints that definitely existed (but didn’t, because... wrong route). Every bug came with a free trip to Google and a lesson in patience. Eventually, I learned to love reading official docs instead of random blog posts, and that helped more than I expected.

Lessons learned


  • Don’t just “wing it”: Planning endpoints and user flows on paper first saved me tons of rewrites.

  • Feature branches are life: Isolating each feature in its own Git branch lets me go wild without breaking main.

  • Docs are your best friend: Reading the official guides (especially Spring Boot and MUI) made debugging 10x easier.

  • Turn bugs into lessons: Every typo, missing import, or broken build and “why isn’t this working” became a little lesson in patience and persistence, and now I view logs and stack traces not as annoyances but as roadmaps to the solution.
Next Recipedia Next