Categories
Capstone RAG

Couple Weeks In…

Hello 👋,

Let’s start off by discussing how my capstone project is going so far. Fortunately, my proposed project, Foodable, got approved, and I was assigned to it with two great teammates. In short, I’ve learned a lot. One of the more challenging aspects has been figuring out how to implement an efficient and highly scalable Retrieval Augmented Generation (RAG) method. Since this is cutting-edge in today’s tech stacks, there are so many ways to implement it, each with its own pros and cons. For our needs, we decided on MongoDB Atlas along with Atlas Vector Search, paired with AWS Bedrock for embeddings and language models. This setup promises high customizability and scalability. It will certainly come with its challenges, but based on research, it should pay off in the end.

As for the capstone course itself, it’s been pretty good. The course is structured in a way that assignments build on each other, which I find very effective. For example, the smaller Preliminary Design Documents, which we did individually, helped my teammates and me brainstorm and figure out the design for our application in the larger, more technical Design Document. However, a recurring issue has been due date extensions. These assignments aren’t small, even the shorter ones, and they’re usually due on Thursdays. But every project so far has had its deadline extended to Sunday. I think setting the due dates for Sundays from the start would align better with development sprint timelines and reduce requests for extensions.

Another exciting development in my life has been the job opportunities that have come my way since attending the OSU STEM Fair. If you haven’t attended that event before, it’s fantastic and packed with opportunities. Thanks to the fair, I’ve had interviews with multiple companies, many of which have progressed to second-round interviews, and I’m preparing for those now. Overall, my career prospects look promising, and I’m excited to see what happens next.

While researching RAG methods, I encountered the term “vector embeddings” frequently. They’re essentially the foundation of how RAG methods function. Creating embeddings relies on linear algebra, and although I like math, I haven’t studied beyond integral calculus since I’ve been focusing on CS classes to graduate. However, I’m genuinely interested in learning more about vector embeddings, semantic similarity, scalars, and related topics. Over winter break, I plan to take a freeCodeCamp course in linear algebra to broaden my understanding of large language models and machine learning. I believe anyone interested in these technologies should have a solid grasp of linear algebra.

Something else I’ve noticed is the use of generative AI for coding. I could talk about this all day, but if you’re interested in learning why it might make you a worse programmer, check out this article.

Lastly, I’d like to share a tip that has significantly improved my collaboration and teamwork. I’ve been part of both good and bad groups, and one area I’m working on is team communication. Sometimes, it can feel like everything rests on your shoulders—let go of that idea. You’d be surprised how much just being honest with your teammates (respectfully) and asking for help can lighten the load.

If you have any questions, please feel free to comment below

Categories
Capstone Uncategorized

Before it Starts

Hello 👋,

I want to start by saying that I’m really excited to begin the Computer Science capstone. I can’t wait to see all the new things I’ll learn and the connections I’ll make along the way. This is something I’ve been looking forward to, and I’m eager to get started and make the most of the experience.

I currently live in Albany with my wife because the rent prices in Corvallis are insane. I really don’t have time for hobbies; everything I’m doing this year is focused on making me a better Software Engineer and ensuring I can pay rent and afford food in this economy. This doesn’t mean I don’t have fun. For example, I’m currently configuring a more advanced Neovim setup and improving my Vim motions on my Arch Linux system, which I personally find very fun and rewarding. Some people might consider my time at the gym a hobby, but for me, the gym is non-negotiable, so I don’t view it as a hobby. If and when I have free time, the hobbies I’d enjoy would be hiking, playing games with friends (the type of game varies), and playing Nintendo Switch with my wife.

My story for getting into computer science is surprising to some, but here it goes. I started college in 2020 during what we all know and love as COVID-19. When I began, I was pursuing a degree in Kinesiology, also known as Exercise Science, with the goal of becoming a physical therapist (PT). I entered college with a lot of credit from being an International Baccalaureate (IB) graduate, which covered a decent portion of my core requirements, though I still had several classes left to take. As a result, the first two years were focused on completing those core credits, with some major-specific courses sprinkled in.

During my second year in Kinesiology, two main things happened:

  1. The course material and difficulty of many classes were no longer as interesting or challenging as they used to be.
  2. I began to love developing Discord bots and learning programming with Python.

Despite this, I continued with Kinesiology and, during the summer of 2022, landed a per-diem job at Good Samaritan as a Physical Therapy Aide. In this role, I worked side-by-side with physical and occupational therapists. Unfortunately, this only confirmed my disinterest in Kinesiology, leading me to take a huge leap of faith and switch to Computer Science. The first few classes completely opened my eyes to the possibilities of software engineering and the rest is history.

When I’m not working on an awesome project, I’m working at Beaver Town Movers as a Job Site Supervisor / Lead Mover. It’s a physically intensive job with flexible hours, and it’s usually fun and pays well. I’m truly grateful I found this job a year ago.

When I’m not working or spending time with my lovely wife, I’m also exploring new technologies. Currently, I find Amazon Web Services (AWS) fascinating. For my CS 406 course, I’m building an AWS project while pursuing my AWS certifications.

I might be a little biased, but my favorite project is one I proposed: Foodable. If we’re not talking about my project, then I’d have to say my two second favorites are the Language Immersion Virtual Environment (LIVE) and Lidar to 3D Sound Application for the Seeing-impaired. These projects fascinate me because they not only sound exciting to create but also have the potential to help people in the real world.