This is a submission for the Gemma 4 Challenge: Write About Gemma 4
It started with a real need. Then came the idea. And then a vision — to turn t...
For further actions, you may consider blocking this person and/or reporting abuse
Hey Klaudia! Hope you are well!
Nothing wrong with that! Even as your first app, it's still impressive because most people who does not have programming background can't vibe code.
I saw @xwero comment he made where he mention specifically "Next time you create an app, don't stop with looking at the capacities of the LLM. Start thinking as big as you can. And then start stripping the parts away that are not essential to get to MVP status of the app.". It's a good idea and a good reminder to myself as well! Thought it is a good mention to you David and a good advice for new and ongoing devs.
Glad you are having a great experience on DEV! Good work once again!
While I think the challenge achieved two great things:
I think you should not praise the LLM that much.
The LLM in your challenge app does two things; helps you with the code and makes the core decisions. This means the LLM trapped you in using it permanently.
I think this is the greatest danger for people who start creating apps with AI, and for people that believe the AI hype.
I see no problem with an LLM helping you to create code. This is how experienced programmers achieve an higher output.
The danger is in letting an LLM make decisions the app depends on. Basically you made the LLM both the database and the logic of the app. The only thing you have control over is the system prompt. For an LLM that is just a guide, the main driver is the training it received.
Next time you create an app, don't stop with looking at the capacities of the LLM. Start thinking as big as you can. And then start stripping the parts away that are not essential to get to MVP status of the app.
In case of the challenge app my thoughts are; describe the throw away item with text, pictures, voice to get it in the right bin or the best method to get rid of it. The text option would be the one I focus on, because pictures and voice are supplementary.
There will be apps where pictures or voice will be the main input method, but then you put the app needs before the LLM needs.
Thank you for the thoughtful comment.
You're right about the LLM dependency – it crossed my mind that if Gemma is hidden behind a paywall, I will need to adapt the app and look for some other solutions. Maybe I will take my prompt and look for a different free model? Or look for sponsorship? Time will tell.
What I disagree with is the business logic. Mind that there are eco-enthusiasts who do not need such apps – they just follow the newest rules and are up-to-date. Some people never cared and will not start to care no matter what. But the majority of people just know something, know that there are more bins now, feel confused... they just want to put the waste into the correct bin and go back to their deals. An app that can quickly unload them from texting and researching could be a great help. Well, we can argue that a 15-30 sec wait time for an LLM answer is also not the fastest way 😅 But this is what I need to research on – how to make the analysis faster.
My comment was not about the viability of the app. If there is no app, you found a gap that needs to be filled.
My comment is more about the architecture of an app. Letting the AI do all the work makes your app useless. I can take your system prompt make it a skill, take a picture and input them both to any chatbot with the prompt; In which bin do I need to put the foreground item in the picture obeying the /skill:polish-recycle-rules.
This is why a lot of software products are scared of AI. The logic that the software companies put money into and expect gains from, can now be replaced by a markdown file and an LLM.
The progress that I think you made is:
I don't know how much of that you picked op explicitly, but every experience counts.
The big problem with your code is that the route is not protected. In the least malicious case they are going to hammer the /api/classify url until the LLM token limit is reached.
My comments are not meant to discourage you from using AI to create apps. But to show you if you are building an app in the world of today the value should be more than only the AI functionality.
Thanks for the follow-up. You're right that the
/api/classifyroute needs rate limiting – I already created an issue for it, and this is what I'll handle next (see: Issue #8).And yes, in theory, someone could take the prompt and paste it into any chatbot with an image. In practice, the value of an app is that users don't have to do that orchestration themselves. That's true of every app, not just AI ones. In the end, people just want to have a solution to their everyday issues; they don't care what's under the hood.
True, users don't care. But why use a separate app when a chatbot is enough?
When you are a maintainer of an LLM powered app, you are the one that takes on the token budget instead of the user.
In the time before AI your app could have been worth maintaining. But now I think the only gain you have is learning a bit a coding.
I'm struggling myself thinking about when it should be an app or when it can be a chatbot skill. Because LLM's can be multi modal, they are hard to beat when it comes to user input. This is a thing software designer have been gatekeeping by creating app interfaces.
While AI gives a chance to people to create their own apps, the truth is that individual apps are on the way out because of AI.
The only apps worth building are the ones that provide something AI can't do.
That's awesome you shipped something real. Building from genuine need beats most ideas—Unbuilt Lab actually surfaces those validated opportunities by scanning public demand signals across six dimensions, saves tons of validation time upfront.
This is just the kind of thing that gets me excited about the possibilities of AI. I mean, who wouldn't want to use technology to help the environment? The idea of analyzing images and providing personalized recycling guidance is just fantastic. It's amazing to think that this could be the starting point for something much bigger.
Yes, that's the plan! 😁 I'm super excited to think where it will all lead me! So many options, and so much still to learn! Thank you for the comment :)
You don't have to be an expert to start." ← This hit home. 🔥
Huge congrats on shipping your first app, Klaudia! The recycling assistant is such a practical, impactful idea. Proof that the best projects start with "What if…?" and the courage to try. 👏
This is such an inspiring story! I love how you turned a real-world problem into a tangible solution and did it while stepping completely outside your comfort zone. The fact that you, as a Technical Writer, built a functional recycling assistant using AI as your co-pilot is proof that curiosity + action > waiting for "perfect" credentials.
Quick question: How did you handle edge cases with image recognition (e.g., ambiguous waste items)? Would love to hear about your iteration process!
Thank you for your comment, Kiran!
Edge cases were exactly why I came up with this app. I ran a deep search of government and recycling experts' sites and encoded the results into the system prompt that Gemma reads. This was a milestone after which all the real-world tests passed 🙂 Before that, Gemma was as confused as Polish people about edge cases 😂 In total, the prompt went through ~20 iterations before I accepted it for the final launch 🙂
This is a nice reminder that building the first app is often less about the final product and more about getting past the fear of starting. Challenges like this help because they give enough structure to begin, but still leave room to experiment. The important part is that you shipped something, learned from it, and now the next build will feel much less intimidating.
i must say entries like this are rare and welcome to the club, Klaudia.
btw, did you push it to github? you should definitely mention the repo url in the post :)
Yes, the repo is here: github.com/klaudiagrz/recycling-app 🙂