Thoughts & Reflections

Just some things I've learned along the way - about coding, projects, and figuring stuff out as I go.

Why I Like Building Things from Scratch

I've been thinking about this lately - I really enjoy building stuff from the ground up. Whether it's a web app, a machine learning model, or just setting up a new project, there's something cool about starting with nothing and ending up with something that actually works.

I think it's about control and understanding. When you build something yourself, you know exactly how it works. You're not just copying code from Stack Overflow (though let's be real, we all do that sometimes). You're making real decisions about how things fit together, what tech to use, and how to fix problems when stuff breaks.

Take SmartEats for example. I could've just used some calorie tracking API and called it a day. But I wanted to actually understand how AI image stuff works. So I built the whole thing myself - taking the photo, running it through AI, storing the nutrition data, all of it. Was it harder? Yeah for sure. But now I actually get how these systems work, and that's way better than just having a working app.

The struggle of building from scratch is where you actually learn. You hit problems you didn't even know existed, and fixing them teaches you more than any tutorial ever could. Plus, there's something satisfying about saying "I made this" and meaning every part of it.

What RUClasses Taught Me About Real Users

Building RUClasses was probably the biggest learning experience I've had. Not because the tech was complicated (it's just a review platform), but because it was the first time hundreds of actual people used something I made. And real users are way different from what you imagine.

First off, people don't use your app the way you think. I spent forever making the search function perfect, thinking everyone would use it to find specific courses. Turns out most people just browse by subject and scroll through reviews. All that work I did? Barely mattered. What actually mattered was making the reviews easy to read and the UI simple.

Second, feedback can be rough but it's super helpful. Students would tell me straight up if something sucked or didn't make sense. At first it was hard to hear, but then I realized they're showing me exactly what needs fixing. Way better than just guessing.

The biggest lesson? Make stuff that solves real problems. RUClasses works because it gives students something they actually need - honest course reviews from other students. It's not some fancy AI thing or cutting-edge tech demo. It's just a useful tool that makes people's lives easier. And that's way more satisfying than any technical flex could be.

If I did it again, I'd talk to users way more before building features. Would've saved me tons of time and made a better product. Live and learn.

Free Hosting Struggles

Here's something nobody tells you when you're learning to code - hosting your projects is kind of a pain, especially when you're a broke college student who doesn't want to spend money on AWS or Heroku.

I use free hosting for pretty much all my projects right now. It works, but there are tradeoffs. The biggest one is speed. Free hosting puts your app to sleep when nobody's using it, so the first person to visit gets hit with like a 30-60 second load time while the server wakes up. Not ideal when you're trying to show off your project.

I've learned to just own it though. I put a notice on my demos warning people about the slow first load. Is it perfect? No. But it's honest and most people get it. Plus once the app is awake, it runs smooth. Just gotta set expectations.

On the bright side, dealing with these limits has made me better at coding. I've had to think more about optimization, caching, and how to make things run fast even with less resources. When you can't throw money at a problem, you gotta actually solve it with code. That's a pretty useful skill.

Would I pay for better hosting if I could? Probably. But for now, free hosting gets my projects online and that's what matters. I can always upgrade later when I'm not living off ramen.

Why I'm Building This Portfolio

I'll be honest, I didn't always see the point of having a personal website. I've got a GitHub with all my projects on it, what more do I need? But after talking to people who've been through the job search, I realized a portfolio site is pretty important.

Here's the thing - recruiters and hiring managers are busy. They're not gonna dig through your GitHub repos trying to figure out what you built. They want a quick overview of who you are and what you can do. That's what a portfolio site does. It's like your best work all in one place, presented in a way that's easy to understand.

Plus, a portfolio shows more than just coding skills. It shows you can present yourself well, that you get design and user experience, and that you care enough to put in the work. All that matters when someone's deciding whether to interview you.

Building this site has been good for thinking about what I've done. I had to figure out how to explain my projects clearly and what I want people to know about me. It's not just showing off code, it's telling a story about who I am as a developer and where I'm going.

So yeah, if you're a CS student or trying to break into tech, make a portfolio site. Doesn't have to be fancy. Just make it clean and make it you. Future you will thank you when you're applying for jobs.