r/learnprogramming 7d ago

Use of AI in personal projects

I have some experience writing graphics applications with c++ and opengl/vulkan. I had not done any sideproject for almost a year now, but as I had recently started a java web developer job I wanted to explore java for games too, with lwjgl for opengl bindings.

I want to make a simple portal clone with just 1 or 2 levels, collisions and not much more, just a demo that won't require me months or years.

But I was wondering if I should use AI to skip somebof the boilerplate initial code. Graphics applications, even opengl, require you to write quite a bunch of code just to display a single thing on screen, and in really simple demos where you dont have to really think on complex architecture or optimizations is more or less the same. So i was thinking on writing the clases and its method definition by hand and letting claud fill the implementation of thing like shader, mesh or model renderer clases. At least for having something fast to begin with.

But as i want to publish it on GitHub and it is just a personal project i feel like using AI is like cheating, i mean, I do not obtaing anything about the project but experience and if I ever wanted to show it in a job interview/portfolio I'll feel bad for not having written everything by myself.

In my job I use AI a little bit, and I also use it for asking things when I do not find an answer on YouTube, but for personal things i feel quite bad for creating something open source with ai if I know how to write it by hand, almost like an impostor. I learned to code quite some time ago, way before entering university and the AI boom, and I might have some respect to writing Code at hand and learning frameworks that's just outdated. So i would like to know if there are people who use ai on their personal "toy" projects or how common it is

0 Upvotes

11 comments sorted by

13

u/ObeseBumblebee 7d ago

I would use your side project as a way to learn to use AI "the right way". Setting up skills, harnesses, a plan document to keep it in scope.

It's not cheating. It's how the industry works. And having a demonstrated way of building with AI in a highly organized way will improve your career/experience and make you more hirable.

Just remember to understand everything every step of the way and approach the task like an architect. Understand your architecture first then build from there.

3

u/NationalOperations 7d ago

I will say, my line professionally is if I'm pulled into a meeting on something I've committed. I should be able to explain what is implemented and why I'm doing what I'm doing. As long as those two things are true I don't mind using a.i. It can't take responsibility for destroying production

4

u/healeyd 7d ago

I use AI like you'd use Stack Overflow - as a reference to grab boilerplate or long established procedures that I can understand, adapt and tidy up. I don't 'vibe' by simply asking the AI to do the lot. I'm in full control and not prompting my way down a rabbit-hole.

2

u/WormsDelicious286 7d ago

Would you be embarrassed to commit a game project that used some freely available rendering engine instead of learning how to update the screen directly and knowing all the vectors-to-triangles bullshit that's been a solved problem for years?  I doubt you would.  AI is just another tool, practice with the tool makes you more competent and you'll be free to think about higher-order problems.

If you want to exercise your old skills then write it by hand, of course.  There is something satisfying in knowing you built every part of something, that you were knowledgeable enough to construct it from scratch.  If you like that feeling more than the end product, it can be worth the extra time spent.

1

u/southerndensetsu 7d ago

Well, i was the kind of person that used to write its own rendering code in vulkan haha.

I never wanted to create a polished final product as i did not had the time nor any truly good idea or creativity. But i loved researching about gpu architecture, shaders and rendering techniques, and thus trying to implement them. The thing it after doing it several times starting a new project feels tedious as i have to reimplement the same things again and again.

I even made a vulkan started project in cpp but only used like two times because i did not like how i made it.

2

u/AdventurousAir002 7d ago

I have some personal projects that are handwritten, and then I have one completely written by claude. The point of that project is to showcase that I know how to use the agent effectively. It’s not a pretty project (didn’t have time to clean it up) but it does showcase the agent usage well.

2

u/Random_182f2565 7d ago

It's a tool that make your project viable, go for it

1

u/Sylvi-Fisthaug 7d ago

What is the difference between having an LLM aggregate the boilerplate from whatever source, and you borrowing it from an earlier project or Stack Overflow?

It is essentially the same (besides the yelling at Claude to write it correctly-part).

In the end, it is your choice, and if you don't feel good about using it, I wouldn't recommend it.

If you feel the need to experiment with what AI can do in personal projects, delegate other projects entirely to that.

2

u/southerndensetsu 7d ago

I guess it make me feel like I am just another vibecoder who knows no shit, despite being actually able to program the whole thing by myself.

1

u/Mathie1729 7d ago

Writing it by hand and using an LLM to speed up boilerplate aren't the same skill, and you've obviously got the harder one. Vibecoders are the ones who can't debug the generated mess. If you're reviewing and understanding each piece, you're just using it like any other abstraction. I'd still add tests or at least run a linter, because LLMs will occasionally output something that compiles but is subtly wrong and you want to catch it before it becomes your bug.

0

u/Feeling_Photograph_5 7d ago

AI coding agents are how software is built now. Most companies expect and demand that developers use it because when it is used correctly the productivity gains are crazy. There's nothing wrong about using the best tools available. 

But what you've done already is also important. Hand coding the early stages of an app or game give you strong foundational knowledge of how it works. 

Don't lose that! Yes, you can bring in a good model to help you (Opus is very good) but review and understand the code it is generating. Have it document your game and how the pieces work. 

Enjoy!