<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Klaudia Grzondziel</title>
    <description>The latest articles on Forem by Klaudia Grzondziel (@klaudiagrz).</description>
    <link>https://forem.com/klaudiagrz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3860723%2F17664281-c5ce-4e9b-9f01-8999849fc88d.jpg</url>
      <title>Forem: Klaudia Grzondziel</title>
      <link>https://forem.com/klaudiagrz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/klaudiagrz"/>
    <language>en</language>
    <item>
      <title>Recycling made easy: a Polish recycling assistant powered by Gemma 4</title>
      <dc:creator>Klaudia Grzondziel</dc:creator>
      <pubDate>Thu, 21 May 2026 18:55:21 +0000</pubDate>
      <link>https://forem.com/klaudiagrz/recycling-made-easy-a-polish-recycling-assistant-powered-by-gemma-4-j0a</link>
      <guid>https://forem.com/klaudiagrz/recycling-made-easy-a-polish-recycling-assistant-powered-by-gemma-4-j0a</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-gemma-2026-05-06"&gt;Gemma 4 Challenge: Build with Gemma 4&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I clearly remember this scene: my mom and I are dyeing our hair together. I'm holding a small plastic bottle that still has some dye inside, and I'm asking myself: where the hell do I throw this? I ask my mom – she has no idea either. Plastic bin, even though the bottle is contaminated with dye? Or is it mixed waste now?&lt;/p&gt;

&lt;p&gt;Sorting waste in Poland has improved a lot over the last few years. The system is based on six colourful bins that you'll see in any backyard:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bin&lt;/th&gt;
&lt;th&gt;Color&lt;/th&gt;
&lt;th&gt;What goes in&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;PLASTIC/METAL&lt;/td&gt;
&lt;td&gt;🟡 (yellow)&lt;/td&gt;
&lt;td&gt;plastic bottles, cans&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PAPER&lt;/td&gt;
&lt;td&gt;🔵 (blue)&lt;/td&gt;
&lt;td&gt;paper, cardboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GLASS&lt;/td&gt;
&lt;td&gt;🟢 (green)&lt;/td&gt;
&lt;td&gt;glass jars, bottles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BIO&lt;/td&gt;
&lt;td&gt;🟤 (brown)&lt;/td&gt;
&lt;td&gt;food scraps, garden waste&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MIXED&lt;/td&gt;
&lt;td&gt;⚫ (black/grey)&lt;/td&gt;
&lt;td&gt;mixed waste: contaminated or composite items&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TEXTILE&lt;/td&gt;
&lt;td&gt;🟣 (violet)&lt;/td&gt;
&lt;td&gt;clothes, shoes (separate collection mandatory since Jan 2026)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg4nya0hr6r2ibca1effm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg4nya0hr6r2ibca1effm.png" alt="Photo of Polish color-coded recycling bins" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Obvious stuff like cardboard or an old pair of socks is easy. But there are traps – you can't throw an old mug or a broken mirror into the glass bin, even though it seems to be the right choice. And then there's the hair dye bottle with dye still inside. The pizza box with grease on the bottom. The blister pack from your pills.&lt;/p&gt;

&lt;p&gt;Real debates are happening on the Polish internet about this stuff. Type "gdzie wyrzucić..." into Google and you'll see how much people struggle. I once watched two friends argue about where a used coffee cup goes — one swore it was paper, the other said mixed waste because of the plastic lining.&lt;/p&gt;

&lt;p&gt;Confusing? Hell yeah, it is! 😩&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;That's why I built a web app called &lt;a href="https://gdzie-wyrzucic.vercel.app/" rel="noopener noreferrer"&gt;&lt;strong&gt;Gdzie to wyrzucić?&lt;/strong&gt;&lt;/a&gt; [&lt;strong&gt;ENG: Where to throw it?&lt;/strong&gt;]. It's a Polish recycling assistant – you take a photo of an item with your camera and send it to a Gemma 4-backed AI assistant. As a response, it tells you which bin the waste goes in.&lt;/p&gt;

&lt;p&gt;The photos are not stored anywhere – they are processed in-memory by the API route, sent to Gemma 4 for analysis, and discarded immediately after the response is returned.&lt;/p&gt;

&lt;p&gt;The recycling rules live in a ~200-line &lt;a href="https://github.com/klaudiagrz/recycling-app/blob/main/app/lib/system-prompt.md" rel="noopener noreferrer"&gt;system prompt&lt;/a&gt;. What you see now is v4 – there were a lot of iterations and a lot of live testing along the way. At this point, my entire phone gallery has turned into one big collection of trash photos 🙈 And my neighbours probably think I've gone nuts, because I keep photographing "interesting" items from the backyard bin to see how Gemma will handle them 😅&lt;/p&gt;

&lt;p&gt;The app is Polish-only by design – Polish recycling rules apply to people in Poland, and the system prompt is built around Polish categories. I'm planning to add English and Ukrainian translations, though, because there are minorities living in Poland who could really use this, too. Until then, I hope the app is intuitive enough for a non-Polish speaker.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;To test the project, go to &lt;a href="https://gdzie-wyrzucic.vercel.app/" rel="noopener noreferrer"&gt;&lt;strong&gt;Gdzie to wyrzucić?&lt;/strong&gt;&lt;/a&gt;. The walkthrough is as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Take a photo of the wasted item or choose one from your gallery. Press the &lt;strong&gt;Aparat&lt;/strong&gt; or &lt;strong&gt;Galeria&lt;/strong&gt; button, respectively.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Analizuj&lt;/strong&gt; and wait ~15-30 seconds to get the sorting result. Alternatively, click &lt;strong&gt;Zrób ponownie&lt;/strong&gt; if you are not satisfied with the photo and want to retake it.&lt;/li&gt;
&lt;li&gt;The app returns the answer to which bin you should throw your waste, together with the explanation and some additional remarks (if any).&lt;/li&gt;
&lt;li&gt;If you want to try another waste item, press &lt;strong&gt;Sprawdź inny przedmiot&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For the English-speaking &lt;code&gt;dev.to&lt;/code&gt; users, I prepared a walkthrough video with some explanation:&lt;/p&gt;


&lt;div&gt;
    &lt;iframe src="https://www.youtube.com/embed/XmExQAeUdpg"&gt;
    &lt;/iframe&gt;
  &lt;/div&gt;


&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;All the code lives in the &lt;a href="https://github.com/klaudiagrz/recycling-app" rel="noopener noreferrer"&gt;recycling-app&lt;/a&gt; repository on GitHub.&lt;/p&gt;

&lt;p&gt;At this point, let me be honest with you – I vibe-coded this. I am a Technical Writer, not a Developer, and even though I have experience with git and done some small code updates in the past, this is the first bigger project I've built myself.&lt;/p&gt;

&lt;p&gt;It was a multi-agent work. I used Claude Code for the boilerplate code and for turning business logic into reality. I used Gemini's deep search to dig up current recycling rules from Polish government sources and eco-experts. I was the brain behind everything else – the idea, the business logic, the testing, the improvements, leading each next step, holding it all together. And Gemma is the heart of the project 💛&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Gemma 4
&lt;/h2&gt;

&lt;p&gt;The app sends the photo to Gemma 4 with a &lt;a href="https://github.com/klaudiagrz/recycling-app/blob/main/app/lib/system-prompt.md" rel="noopener noreferrer"&gt;detailed system prompt&lt;/a&gt; that encodes the current Polish recycling rules. Gemma looks at the image and returns a structured JSON: which bin, how to prepare the item, an explanation, and an extra note if relevant. The frontend turns that into a result card in the right bin colour.&lt;/p&gt;

&lt;p&gt;I went with &lt;strong&gt;Gemma 4 26B Mixture-of-Experts&lt;/strong&gt; (&lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt;) via Google AI Studio's free tier. The MoE architecture only activates around 4B parameters per token out of ~26B total. It's efficient enough to run on the free tier and smart enough to handle the actually hard cases.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06c5qavntdk8rzakrodm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06c5qavntdk8rzakrodm.png" alt="Gemma 4 26B A4B model listing on Google AI Studio" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The free tier means the demo runs 24/7 without costs. And because Gemma is open-weights, the same app could one day ship with Gemma 4 E2B or E4B running directly on the user's device. That's a path I'd like to explore.&lt;/p&gt;

&lt;h2&gt;
  
  
  Known limitations
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/klaudiagrz/recycling-app/issues/2" rel="noopener noreferrer"&gt;test phase&lt;/a&gt; revealed that some photos trigger an immediate error before Gemma is even reached. The failing photos share the same characteristics: detailed scenes, multiple objects, busy compositions, and possibly larger file sizes than simple isolated-item photos. I think that the issue is about image size or encoding, but I need to confirm it yet.&lt;/p&gt;

&lt;p&gt;Also, analysis takes 10–15 seconds. Free-tier cloud inference is slow. It is acceptable for the initial phase and the challenge, but I'd need to think about some other options in the future.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The roadmap is in the &lt;a href="https://github.com/klaudiagrz/recycling-app/issues" rel="noopener noreferrer"&gt;issue tracker&lt;/a&gt;. A few highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multilingual support for English and Ukrainian – many Ukrainians have moved to Poland in recent years, and there are also exchange students and expats living in Poland who would find an English translation handy.&lt;/li&gt;
&lt;li&gt;Interactive clarification – when Gemma isn't sure what's in the photo, let it ask the user a yes/no question instead of guessing.&lt;/li&gt;
&lt;li&gt;Suggesting reuse before recycling for books, clean clothes, working electronics, old furniture, and so on. Recycling is good. Reusing is better.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Closing sentence
&lt;/h2&gt;

&lt;p&gt;If you're in Poland, try out &lt;a href="https://gdzie-wyrzucic.vercel.app/" rel="noopener noreferrer"&gt;&lt;strong&gt;Gdzie to wyrzucić?&lt;/strong&gt;&lt;/a&gt;. If you spot a misclassification or a rule the app gets wrong, please open an issue – I'd love to keep improving it.&lt;/p&gt;

&lt;p&gt;Thanks to the &lt;code&gt;dev.to&lt;/code&gt; challenge for the deadline, to my colleagues and friends who tested the app, and to Gemma 4 for actually making it all happen 💛&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gemmachallenge</category>
      <category>gemma</category>
      <category>webdev</category>
    </item>
    <item>
      <title>5 types of engineers I met as a Technical Writer</title>
      <dc:creator>Klaudia Grzondziel</dc:creator>
      <pubDate>Fri, 08 May 2026 11:13:31 +0000</pubDate>
      <link>https://forem.com/klaudiagrz/5-types-of-engineers-i-met-as-a-technical-writer-1gak</link>
      <guid>https://forem.com/klaudiagrz/5-types-of-engineers-i-met-as-a-technical-writer-1gak</guid>
      <description>&lt;p&gt;Being a Technical Writer in an engineering world can be tough. We work closely with engineers, but we're not engineers ourselves. Our job isn't to code, but to deliver a product that's well-described and clear for the target audience. This requires us to go around and bother engineers with questions, often uncomfortable ones, and keep them away from what they want to do most – coding.&lt;/p&gt;

&lt;p&gt;In my career, I've met engineers with very different attitudes towards documentation. Ever wondered what engineers look like from a Technical Writer's perspective? Spoiler: it's a mixed bag. I've divided them into 5 main types, each illustrated with a meme below.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: I use "he" throughout this post for simplicity, but these types are gender-neutral – I've met all of them in every gender.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  1. Good boy
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnquaqjvzazgwggyk8i25.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnquaqjvzazgwggyk8i25.jpg" alt="A meme of a smiling golden retriever puppy with the text " width="577" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's our favourite boy! If he was a dog, he would definitely be a golden retriever. He's a perfect collaborator – always thoughtful, helpful, and truly engaged in the project. You're not afraid to ask him questions, knowing he won't judge you, but take your feedback as something valuable that will help improve the docs. He carefully reads your comments, takes an active part in brainstorming, and takes your feedback to heart, so that next time he publishes a document, it will be even better. I even remember fighting with my fellow Technical Writer colleague over who would work on the docs with our golden boy.&lt;/p&gt;

&lt;p&gt;Definitely the best type of engineer to work with!&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Mr. Better
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq26jkgalzd361am0fc6s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq26jkgalzd361am0fc6s.jpg" alt="A " width="578" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"Everyone can write, it's not a big deal", thinks Mr. Better. He ignores or rejects any review comments, and he's always sure that his docs are perfect and don't need any improvement. Prerequisites at the end of the document? "That's the intended design". A request to make the concept clearer? "I don't see the problem, it's clear enough". A suggestion to add more details? "I don't want to make it too long, it's already long enough". He's the one who always says, "I know how to write docs, I'll do it myself", not understanding that writing technical documentation is not only about putting words on a page, but also about structuring information, making it clear and concise, and considering the audience's needs. The result? A document full of jargon, unclear explanations, missing information, and a confusing structure that's more frustrating than helpful to the user.&lt;/p&gt;

&lt;p&gt;Probably the most demotivating person to work with.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Jon Snow
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo93l5nf19diqz4sl83vu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo93l5nf19diqz4sl83vu.jpg" alt="A meme of Jon Snow from Game of Thrones looking confused, with the text " width="707" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every company knows this guy. You approach him to ask a question about a project he's supposed to maintain, but as soon as you ask, he looks at you with a blank stare and says, "I don't know". You ask him again, maybe rephrase the question, but the answer is always the same: "I don't know". You start to wonder if he really knows nothing, or if he's just pretending so that you won't ask him to write docs.&lt;/p&gt;

&lt;p&gt;There's also another version of Jon Snow who knows nothing but pretends to know something. He confidently gives you an answer that sounds like it should be correct, but when you think about it, it doesn't make any sense. You ask him to explain it further, and he starts to ramble about something that's not even related to the original question. This type of Jon Snow is even more dangerous, because he can lead you to wrong conclusions and make you waste time chasing something that isn't true.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Minimalist
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7ksuv9eib5g79mzug1t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff7ksuv9eib5g79mzug1t.jpg" alt="A Mocking SpongeBob meme with the text " width="596" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Minimalist thinks that documentation is overkill. Code itself is enough. You approach the Minimalist with some questions about the feature he just shipped, hoping to update the docs. He looks at you like you're an alien. "We don't need documentation, the code is self-explanatory", he says. And if you push back? "If someone doesn't understand the code, they shouldn't use the feature".&lt;/p&gt;

&lt;p&gt;The funny thing is, ask him to explain his own code six months from now, and he'll stare at the screen with the same blank look as Jon Snow. But that's a future problem – right now, the code is &lt;em&gt;obviously&lt;/em&gt; clear, and writing it down would just be a waste of time.&lt;/p&gt;

&lt;p&gt;There's a softer version of this type, too: the one who admits he doesn't know how to write docs, or that he doesn't have time. That's fair – that's literally why tech writers exist! But more often, it's just an excuse. He thinks docs aren't important, that nobody reads them anyway, so why bother?&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Robot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpg6arbg4ctt13cwfl7yi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpg6arbg4ctt13cwfl7yi.jpg" alt="A meme of a humanoid robot with a blank stare and the text " width="507" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You open a diff and see a big, never-ending pile of docs. You scroll through them, and reaching the end takes you ages. You decide to give it a try and start reading the content, but you quickly realize that even though it's written in English, it's definitely not written in a human-readable manner. Everything is generated. It reads like &lt;em&gt;Lorem ipsum&lt;/em&gt; — and that's about all you get out of it. You decide to reach out to the author and ask some questions. As a response, you get a generated answer copy-pasted directly from ChatGPT:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Absolutely — I can update this section so the documentation is fully comprehensive and self-contained. Want me to handle that next?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You ask yourself: "Is there anybody out there? Or is it just me and this robot?".&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;

&lt;p&gt;Time for some honest self-reflection. Which type of engineer are you? A Good Boy, hopefully? Or do you recognize a bit of Mr. Better or the Minimalist in yourself? Or maybe you're a completely different type not mentioned here? Let me know in the comments, and feel free to share your own memes! 😁&lt;/p&gt;

</description>
      <category>watercooler</category>
      <category>technicalwriting</category>
      <category>discuss</category>
      <category>jokes</category>
    </item>
  </channel>
</rss>
