<?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>DEV Community: Mohit</title>
    <description>The latest articles on DEV Community by Mohit (@3z).</description>
    <link>https://dev.to/3z</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%2F2098399%2F3b7ac256-a78e-443d-93e7-81dda8332e2a.png</url>
      <title>DEV Community: Mohit</title>
      <link>https://dev.to/3z</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/3z"/>
    <language>en</language>
    <item>
      <title>Don’t change humanity. Open source.</title>
      <dc:creator>Mohit</dc:creator>
      <pubDate>Sat, 21 Mar 2026 07:03:52 +0000</pubDate>
      <link>https://dev.to/3z/dont-change-humanity-open-source-37g0</link>
      <guid>https://dev.to/3z/dont-change-humanity-open-source-37g0</guid>
      <description>&lt;h2&gt;
  
  
  Let’s clear something up.
&lt;/h2&gt;

&lt;p&gt;Open source is not a mission to save the world.&lt;/p&gt;

&lt;p&gt;It’s not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the next big startup&lt;/li&gt;
&lt;li&gt;a revolutionary framework&lt;/li&gt;
&lt;li&gt;a “this will change everything” moment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s just… code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Somehow, people think:
&lt;/h2&gt;

&lt;p&gt;“If I open source this, it should be impressive.”&lt;/p&gt;

&lt;p&gt;So they wait.&lt;/p&gt;

&lt;p&gt;“I’ll clean it first.”&lt;br&gt;
“I’ll refactor.”&lt;br&gt;
“I’ll make it production-ready.”&lt;br&gt;
“I’ll add more features.”&lt;/p&gt;

&lt;p&gt;And then…&lt;br&gt;
It never happens.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reality check.
&lt;/h2&gt;

&lt;p&gt;Most open source projects are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;small&lt;/li&gt;
&lt;li&gt;specific&lt;/li&gt;
&lt;li&gt;slightly messy&lt;/li&gt;
&lt;li&gt;solving one random problem&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Not everything is trying to become React.
&lt;/h2&gt;

&lt;p&gt;That script you wrote once?&lt;br&gt;
That basic CRUD app?&lt;br&gt;
That weird tool you made at 2AM because something annoyed you?&lt;/p&gt;

&lt;p&gt;Yeah.&lt;br&gt;
That’s open source material.&lt;br&gt;
Nobody is sitting on GitHub like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Hmm yes, this project did not advance humanity. Reject.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Relax.&lt;/p&gt;

&lt;p&gt;People care about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“does this solve my problem?”&lt;/li&gt;
&lt;li&gt;“can I use this?”&lt;/li&gt;
&lt;li&gt;“can I learn something from this?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“is this world-changing enough?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, your code being messy is not a disqualifier.&lt;br&gt;
Every repo has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;weird naming&lt;/li&gt;
&lt;li&gt;random hacks&lt;/li&gt;
&lt;li&gt;“temporary fixes” that stayed forever&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  You’re not special.
&lt;/h2&gt;

&lt;p&gt;Open source is not where perfect projects go.&lt;br&gt;
It’s where projects grow.&lt;/p&gt;

&lt;p&gt;You don’t need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the best idea&lt;/li&gt;
&lt;li&gt;the cleanest code&lt;/li&gt;
&lt;li&gt;the most scalable system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a repo&lt;/li&gt;
&lt;li&gt;a README&lt;/li&gt;
&lt;li&gt;and the courage to hit “public”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’re not publishing perfection.&lt;br&gt;
You’re publishing progress.&lt;/p&gt;

&lt;p&gt;Don’t change humanity.&lt;br&gt;
Open source.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>sideprojects</category>
      <category>startup</category>
    </item>
    <item>
      <title>DSA Doesn’t Make You a Better Engineer (Alone)</title>
      <dc:creator>Mohit</dc:creator>
      <pubDate>Wed, 31 Dec 2025 04:50:14 +0000</pubDate>
      <link>https://dev.to/3z/dsa-doesnt-make-you-a-better-engineer-alone-2fb4</link>
      <guid>https://dev.to/3z/dsa-doesnt-make-you-a-better-engineer-alone-2fb4</guid>
      <description>&lt;h2&gt;
  
  
  Let’s address the elephant in the interview room.
&lt;/h2&gt;

&lt;p&gt;DSA is a skill.&lt;br&gt;
Not a lifestyle.&lt;br&gt;
Not a personality.&lt;br&gt;
Not a substitute for having hobbies.&lt;/p&gt;

&lt;p&gt;Somehow, solving algorithm problems has turned into a moral flex.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I’ve solved 487 LeetCode problems.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Cool.&lt;br&gt;
Do you remember what you built last month?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Cult of Problem Counts
&lt;/h2&gt;

&lt;p&gt;There’s always that one person:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solves DSA before breakfast&lt;/li&gt;
&lt;li&gt;Tweets screenshots of green checkmarks&lt;/li&gt;
&lt;li&gt;Treats time complexity like astrology&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;“O(n log n) energy today.”&lt;/p&gt;

&lt;p&gt;Relax.&lt;/p&gt;

&lt;p&gt;Nobody is asking you to sort an array by hand at 2AM in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reality Check: DSA vs Actual Work
&lt;/h2&gt;

&lt;p&gt;At work, you mostly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read existing code&lt;/li&gt;
&lt;li&gt;Fix off-by-one bugs&lt;/li&gt;
&lt;li&gt;Rename variables&lt;/li&gt;
&lt;li&gt;Debug why this worked yesterday&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nobody says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Quick, find the longest palindromic subsequence before the API times out.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Interview Paradox
&lt;/h2&gt;

&lt;p&gt;Companies:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“We want problem solvers.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Also companies:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Please invert this binary tree you’ll never see again.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You pass the interview.&lt;br&gt;
You join the company.&lt;/p&gt;

&lt;p&gt;Day 1 task:&lt;br&gt;
&lt;em&gt;“Can you add a button?”&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  When DSA Actually Matters
&lt;/h2&gt;

&lt;p&gt;Let’s be fair.&lt;br&gt;
DSA is useful when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You work on performance-critical systems&lt;/li&gt;
&lt;li&gt;You deal with large-scale data&lt;/li&gt;
&lt;li&gt;You need to reason clearly under constraints&lt;/li&gt;
&lt;li&gt;You want to train logical thinking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s it.&lt;/p&gt;

&lt;p&gt;Not because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“FAANG requires it”&lt;/li&gt;
&lt;li&gt;“Everyone on Twitter/LinkedIn does it”&lt;/li&gt;
&lt;li&gt;“I might need DP someday (you won’t)”&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Healthier Way to Treat DSA
&lt;/h2&gt;

&lt;p&gt;Think of DSA like the gym.&lt;/p&gt;

&lt;p&gt;Good:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Builds strength&lt;/li&gt;
&lt;li&gt;Improves thinking&lt;/li&gt;
&lt;li&gt;Helps confidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bad:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comparing reps with strangers&lt;/li&gt;
&lt;li&gt;Making it your entire personality&lt;/li&gt;
&lt;li&gt;Judging others for not going&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do some.&lt;br&gt;
Stay consistent.&lt;br&gt;
Don’t become weird about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;DSA won’t save bad architecture.&lt;br&gt;
DSA won’t fix unreadable code.&lt;br&gt;
DSA won’t teach you communication.&lt;/p&gt;

&lt;p&gt;It’s a tool.&lt;br&gt;
Not a crown.&lt;/p&gt;

&lt;p&gt;Learn the concepts.&lt;br&gt;
Build real things.&lt;br&gt;
Come back to DSA when performance actually matters.&lt;/p&gt;

&lt;p&gt;Your codebase cares more about clarity than your longest streak.&lt;/p&gt;

</description>
      <category>dsa</category>
      <category>programming</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>DoodleMates: Building a Multimodal Creature Generator</title>
      <dc:creator>Mohit</dc:creator>
      <pubDate>Wed, 03 Dec 2025 07:40:11 +0000</pubDate>
      <link>https://dev.to/3z/doodlemates-building-a-multimodal-creature-generator-427</link>
      <guid>https://dev.to/3z/doodlemates-building-a-multimodal-creature-generator-427</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is my submission for DEV Education Track: &lt;a href="https://dev.to/devteam/announcing-the-first-dev-education-track-build-apps-with-google-ai-studio-ej7?bb=238626"&gt;Build Apps with Google AI Studio.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  I set out to build DoodleMates, an app that turns any photo and personality traits into a unique 3D doodle creature.
&lt;/h2&gt;

&lt;p&gt;The core functionality relies on a single multimodal API call. The key prompt I crafted was designed to leverage both image and text inputs:&lt;/p&gt;

&lt;p&gt;"Analyze the image’s aesthetic and colors, then generate a detailed 3D doodle-style creature sticker that reflects '[User’s Personality Notes]' and matches the image’s style."&lt;/p&gt;

&lt;p&gt;I utilized the Studio's multimodal capabilities and the Prompt Engineering interface to rapidly iterate on the visual style and consistency.&lt;/p&gt;

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

&lt;p&gt;Here is a quick look at the user experience, from input to output:&lt;/p&gt;

&lt;p&gt;Input: The user shares a photo and simple text notes.&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%2F2f444yhu664mcyfm7511.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%2F2f444yhu664mcyfm7511.png" alt=" " width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output: The generated, custom DoodleMate.&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%2F2ua3g0mvq60gvqwr6n4t.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%2F2ua3g0mvq60gvqwr6n4t.png" alt=" " width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience
&lt;/h2&gt;

&lt;p&gt;Working through the Google AI Studio track offered several key takeaways and surprises:&lt;/p&gt;

&lt;p&gt;💡 What I Learned&lt;br&gt;
True Multimodal Simplicity: I was surprised by how elegantly the model handles inputs that are fundamentally different (an image and a block of text) and processes them into a unified, creative output (a new image). I didn't need separate APIs for image analysis and generation.&lt;/p&gt;

&lt;p&gt;Prompt as Code: The process truly felt like "prompt engineering." Tweaking words like "3D sticker," "whimsical," or "charming" acted like visual parameters, allowing me to refine the product's aesthetic without touching any traditional code.&lt;/p&gt;

&lt;p&gt;🤯 What Was Surprising&lt;br&gt;
Speed of Prototyping: I was able to go from a simple concept to having a functional core engine for a highly custom, image-to-image application in less than an hour. The ability to test the API directly in the Studio environment made iterating on the perfect prompt incredibly fast. This rapid development capability is a game-changer for solo developers.&lt;/p&gt;

&lt;p&gt;If you're looking for a quick, creative project, using Google AI Studio for multimodal tasks is the perfect way to turn pixels into personality!&lt;/p&gt;

</description>
      <category>deved</category>
      <category>learngoogleaistudio</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>DoodleMates: Building a Multimodal Creature Generator</title>
      <dc:creator>Mohit</dc:creator>
      <pubDate>Wed, 03 Dec 2025 07:34:53 +0000</pubDate>
      <link>https://dev.to/3z/doodlemates-building-a-multimodal-creature-generator-500</link>
      <guid>https://dev.to/3z/doodlemates-building-a-multimodal-creature-generator-500</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is my submission for DEV Education Track: &lt;a href="https://dev.to/devteam/announcing-the-first-dev-education-track-build-apps-with-google-ai-studio-ej7?bb=238626"&gt;Build Apps with Google AI Studio.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  I set out to build DoodleMates, an app that turns any photo and personality traits into a unique 3D doodle creature.
&lt;/h2&gt;

&lt;p&gt;The core functionality relies on a single multimodal API call. The key prompt I crafted was designed to leverage both image and text inputs:&lt;/p&gt;

&lt;p&gt;"Analyze the image’s aesthetic and colors, then generate a detailed 3D doodle-style creature sticker that reflects '[User’s Personality Notes]' and matches the image’s style."&lt;/p&gt;

&lt;p&gt;I utilized the Studio's multimodal capabilities and the Prompt Engineering interface to rapidly iterate on the visual style and consistency.&lt;/p&gt;

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

&lt;p&gt;Here is a quick look at the user experience, from input to output:&lt;/p&gt;

&lt;p&gt;Input: The user shares a photo and simple text notes.&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%2F2f444yhu664mcyfm7511.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%2F2f444yhu664mcyfm7511.png" alt="Input" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output: The generated, custom DoodleMate.&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%2F2ua3g0mvq60gvqwr6n4t.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%2F2ua3g0mvq60gvqwr6n4t.png" alt="Output" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience
&lt;/h2&gt;

&lt;p&gt;Working through the Google AI Studio track offered several key takeaways and surprises:&lt;/p&gt;

&lt;p&gt;💡 What I Learned&lt;br&gt;
True Multimodal Simplicity: I was surprised by how elegantly the model handles inputs that are fundamentally different (an image and a block of text) and processes them into a unified, creative output (a new image). I didn't need separate APIs for image analysis and generation.&lt;/p&gt;

&lt;p&gt;Prompt as Code: The process truly felt like "prompt engineering." Tweaking words like "3D sticker," "whimsical," or "charming" acted like visual parameters, allowing me to refine the product's aesthetic without touching any traditional code.&lt;/p&gt;

&lt;p&gt;🤯 What Was Surprising&lt;br&gt;
Speed of Prototyping: I was able to go from a simple concept to having a functional core engine for a highly custom, image-to-image application in less than an hour. The ability to test the API directly in the Studio environment made iterating on the perfect prompt incredibly fast. This rapid development capability is a game-changer for solo developers.&lt;/p&gt;

&lt;p&gt;If you're looking for a quick, creative project, using Google AI Studio for multimodal tasks is the perfect way to turn pixels into personality!&lt;/p&gt;

</description>
      <category>deved</category>
      <category>learngoogleaistudio</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>DoodleMates: Building a Multimodal Creature Generator</title>
      <dc:creator>Mohit</dc:creator>
      <pubDate>Wed, 03 Dec 2025 07:34:53 +0000</pubDate>
      <link>https://dev.to/3z/doodlemates-building-a-multimodal-creature-generator-1ng0</link>
      <guid>https://dev.to/3z/doodlemates-building-a-multimodal-creature-generator-1ng0</guid>
      <description>&lt;p&gt;&lt;em&gt;This post is my submission for DEV Education Track: &lt;a href="https://dev.to/devteam/announcing-the-first-dev-education-track-build-apps-with-google-ai-studio-ej7?bb=238626"&gt;Build Apps with Google AI Studio.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  I set out to build DoodleMates, an app that turns any photo and personality traits into a unique 3D doodle creature.
&lt;/h2&gt;

&lt;p&gt;The core functionality relies on a single multimodal API call. The key prompt I crafted was designed to leverage both image and text inputs:&lt;/p&gt;

&lt;p&gt;"Analyze the image’s aesthetic and colors, then generate a detailed 3D doodle-style creature sticker that reflects '[User’s Personality Notes]' and matches the image’s style."&lt;/p&gt;

&lt;p&gt;I utilized the Studio's multimodal capabilities and the Prompt Engineering interface to rapidly iterate on the visual style and consistency.&lt;/p&gt;

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

&lt;p&gt;Here is a quick look at the user experience, from input to output:&lt;/p&gt;

&lt;p&gt;Input: The user shares a photo and simple text notes.&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%2F2f444yhu664mcyfm7511.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%2F2f444yhu664mcyfm7511.png" alt="Input" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output: The generated, custom DoodleMate.&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%2F2ua3g0mvq60gvqwr6n4t.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%2F2ua3g0mvq60gvqwr6n4t.png" alt="Output" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience
&lt;/h2&gt;

&lt;p&gt;Working through the Google AI Studio track offered several key takeaways and surprises:&lt;/p&gt;

&lt;p&gt;💡 What I Learned&lt;br&gt;
True Multimodal Simplicity: I was surprised by how elegantly the model handles inputs that are fundamentally different (an image and a block of text) and processes them into a unified, creative output (a new image). I didn't need separate APIs for image analysis and generation.&lt;/p&gt;

&lt;p&gt;Prompt as Code: The process truly felt like "prompt engineering." Tweaking words like "3D sticker," "whimsical," or "charming" acted like visual parameters, allowing me to refine the product's aesthetic without touching any traditional code.&lt;/p&gt;

&lt;p&gt;🤯 What Was Surprising&lt;br&gt;
Speed of Prototyping: I was able to go from a simple concept to having a functional core engine for a highly custom, image-to-image application in less than an hour. The ability to test the API directly in the Studio environment made iterating on the perfect prompt incredibly fast. This rapid development capability is a game-changer for solo developers.&lt;/p&gt;

&lt;p&gt;If you're looking for a quick, creative project, using Google AI Studio for multimodal tasks is the perfect way to turn pixels into personality!&lt;/p&gt;

</description>
      <category>deved</category>
      <category>learngoogleaistudio</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>CRUD Isn’t a Lifestyle: Stop Turning It Into a Spiritual Journey</title>
      <dc:creator>Mohit</dc:creator>
      <pubDate>Wed, 03 Dec 2025 06:32:24 +0000</pubDate>
      <link>https://dev.to/3z/crud-isnt-a-lifestyle-stop-turning-it-into-a-spiritual-journey-320a</link>
      <guid>https://dev.to/3z/crud-isnt-a-lifestyle-stop-turning-it-into-a-spiritual-journey-320a</guid>
      <description>&lt;p&gt;Let’s clear something up.&lt;/p&gt;

&lt;p&gt;CRUD is not a religious ritual.&lt;br&gt;
It’s not a PhD thesis.&lt;br&gt;
It’s not the final exam before you become a Senior Engineer™.&lt;/p&gt;

&lt;p&gt;It’s four actions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add a thing&lt;/li&gt;
&lt;li&gt;Fetch a thing&lt;/li&gt;
&lt;li&gt;Modify a thing&lt;/li&gt;
&lt;li&gt;Remove a thing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Yet somehow developers manage to turn this into an intergalactic architecture conference.&lt;/p&gt;

&lt;p&gt;Give someone a simple Express + MySQL task, and suddenly you’re staring at folders inside folders inside folders like you just opened a Russian nesting doll of “why?”&lt;/p&gt;

&lt;h2&gt;
  
  
  Symptom #1: The Onion Architecture That Nobody Asked For
&lt;/h2&gt;

&lt;p&gt;A normal person:&lt;br&gt;
“Can you save this user?”&lt;/p&gt;

&lt;p&gt;A developer with too much time:&lt;br&gt;
“Absolutely. First, let me introduce our 19-layer pipeline.”&lt;/p&gt;

&lt;p&gt;And now your humble CRUD is wrapped in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A controller&lt;/li&gt;
&lt;li&gt;A service&lt;/li&gt;
&lt;li&gt;A handler&lt;/li&gt;
&lt;li&gt;A repository&lt;/li&gt;
&lt;li&gt;A provider&lt;/li&gt;
&lt;li&gt;A manager&lt;/li&gt;
&lt;li&gt;A coordinator&lt;/li&gt;
&lt;li&gt;A mysterious *&lt;em&gt;utils *&lt;/em&gt; folder that everyone is afraid of&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All so we can put a name and email into a table that has… two columns.&lt;/p&gt;

&lt;p&gt;Congratulations, you have architected a sandwich.&lt;/p&gt;

&lt;h2&gt;
  
  
  Symptom #2: The ‘One Day We Might’ Disease
&lt;/h2&gt;

&lt;p&gt;MySQL today.&lt;br&gt;
Mongo tomorrow.&lt;br&gt;
Postgres in our dreams.&lt;br&gt;
Neo4j if our tech lead gets bored on a weekend.&lt;/p&gt;

&lt;p&gt;And because of that hypothetical fantasy migration:&lt;br&gt;
"&lt;em&gt;You now have a database abstraction thicker than a phone book.&lt;/em&gt;"&lt;/p&gt;

&lt;p&gt;But let’s be honest:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your schema isn’t portable&lt;/li&gt;
&lt;li&gt;Your queries aren’t portable&lt;/li&gt;
&lt;li&gt;Your team isn’t portable&lt;/li&gt;
&lt;li&gt;Even your tech lead isn’t portable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the database ever changes, you’re rewriting everything from scratch anyway.&lt;br&gt;
Your abstraction layer?&lt;br&gt;
That thing is going straight into the trash with the sprint leftovers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Symptom #3: Turning Validation Into a Broadway Production
&lt;/h2&gt;

&lt;p&gt;Form with three fields?&lt;br&gt;
Cool. Should take 10 minutes.&lt;/p&gt;

&lt;p&gt;But no.&lt;br&gt;
We get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input schemas&lt;/li&gt;
&lt;li&gt;Pre-schemas&lt;/li&gt;
&lt;li&gt;Post-schemas&lt;/li&gt;
&lt;li&gt;Meta validation pipelines&lt;/li&gt;
&lt;li&gt;“Error sanitizers”&lt;/li&gt;
&lt;li&gt;A whole philosophical debate about whether IDs are truly integers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Buddy.&lt;br&gt;
It’s an email and a password.&lt;br&gt;
Calm down.&lt;/p&gt;

&lt;h2&gt;
  
  
  Symptom #4: The Generic CRUD Base Class Catastrophe
&lt;/h2&gt;

&lt;p&gt;A developer discovers inheritance and suddenly every resource in the system must “extend” a universal CRUD class.&lt;/p&gt;

&lt;p&gt;At first it sounds genius:&lt;br&gt;
&lt;em&gt;“Everything will be reusable!”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Until every resource has slightly different rules, and now the base class looks like:&lt;br&gt;
&lt;em&gt;“If it’s a user: do this.&lt;br&gt;
If it’s a product: do that.&lt;br&gt;
If it's neither: pray.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You didn’t reduce duplication.&lt;br&gt;
You invented a glorified switch statement wearing a tuxedo.&lt;/p&gt;

&lt;h2&gt;
  
  
  So What Should CRUD Look Like?
&lt;/h2&gt;

&lt;p&gt;Brace yourself.&lt;br&gt;
This is controversial.&lt;/p&gt;

&lt;p&gt;Just write it.&lt;/p&gt;

&lt;p&gt;Yeah.&lt;br&gt;
Directly.&lt;br&gt;
In plain English.&lt;br&gt;
No mystical abstractions.&lt;br&gt;
No 47 folders.&lt;/p&gt;

&lt;p&gt;A route handles the request.&lt;br&gt;
A service does the work.&lt;br&gt;
The database stores the data.&lt;/p&gt;

&lt;p&gt;That’s all a CRUD needs to be.&lt;br&gt;
You wouldn’t put a fork inside another fork just to eat food.&lt;br&gt;
Don’t wrap CRUD in unnecessary layers.&lt;/p&gt;

&lt;h2&gt;
  
  
  But What If My App Grows?!
&lt;/h2&gt;

&lt;p&gt;Then you refactor.&lt;br&gt;
That’s the secret.&lt;br&gt;
There is no prophecy demanding you predict every possible future requirement like some backend fortune-teller.&lt;/p&gt;

&lt;p&gt;Write code that’s easy to improve, not code that tries to impress the ghosts of architects past.&lt;/p&gt;

&lt;p&gt;Good CRUD is boring.&lt;br&gt;
Boring is good.&lt;br&gt;
Boring means everyone understands it.&lt;br&gt;
Boring means your onboarding isn't a hazing ritual.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Structure Actually Helps
&lt;/h2&gt;

&lt;p&gt;Not all structure is evil.&lt;br&gt;
Use it when it reduces noise, not when it increases suffering.&lt;/p&gt;

&lt;p&gt;Good reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You have cross-cutting rules (logging, soft deletes, permissions)&lt;/li&gt;
&lt;li&gt;You genuinely reuse logic across multiple endpoints&lt;/li&gt;
&lt;li&gt;The logic is complicated enough that it deserves its own home&lt;/li&gt;
&lt;li&gt;You need real contracts, like in SDKs or shared libraries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bad reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“My code looks more enterprise this way”&lt;/li&gt;
&lt;li&gt;“I saw a YouTube video about hexagonal architecture”&lt;/li&gt;
&lt;li&gt;“Our app might scale”&lt;/li&gt;
&lt;li&gt;“It feels cooler”&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;CRUD is not where genius happens.&lt;br&gt;
CRUD is where clarity happens.&lt;br&gt;
It’s the salad of backend engineering: simple, healthy, and not worth reinventing.&lt;/p&gt;

&lt;p&gt;Save your creativity for parts of your system that actually deserve it;  Not for wrapping a basic insert operation inside a spiritual quest for architectural enlightenment.&lt;/p&gt;

&lt;p&gt;Make CRUD clean.&lt;br&gt;
Make CRUD readable.&lt;br&gt;
Make CRUD boring.&lt;/p&gt;

&lt;p&gt;Your team will thank you.&lt;br&gt;
Your future self will thank you.&lt;br&gt;
Your database doesn’t care, it just wants the data.&lt;/p&gt;

</description>
      <category>node</category>
      <category>express</category>
      <category>backend</category>
      <category>mysql</category>
    </item>
    <item>
      <title>He3.in – Research Workspace</title>
      <dc:creator>Mohit</dc:creator>
      <pubDate>Sat, 27 Sep 2025 18:23:00 +0000</pubDate>
      <link>https://dev.to/3z/he3in-research-workspace-mj6</link>
      <guid>https://dev.to/3z/he3in-research-workspace-mj6</guid>
      <description>&lt;p&gt;🌐 A modern collaborative platform for managing research papers. Users can create papers, add collaborators, and chat with AI to generate insights. Designed as an MVP but already functional with authentication, paper creation, collaboration, and additional feature listings.&lt;/p&gt;

&lt;p&gt;🔗 Live: &lt;a href="https://www.he3.in/" rel="noopener noreferrer"&gt;https://www.he3.in/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⛏️ Built with KendoReact components:  Card, CardBody, CardTitle, Button, ButtonGroup, Grid, GridColumn, Avatar, Dialog, Input, DropDownList, TabStrip and more!!!&lt;/p&gt;

</description>
      <category>kendoreactchallenge</category>
      <category>react</category>
      <category>webdev</category>
      <category>devchallenge</category>
    </item>
  </channel>
</rss>
