<?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: Ritam Pal</title>
    <description>The latest articles on Forem by Ritam Pal (@ritampal26).</description>
    <link>https://forem.com/ritampal26</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%2F3492734%2F1a793738-6168-473c-ab90-9a38aa85cda9.jpeg</url>
      <title>Forem: Ritam Pal</title>
      <link>https://forem.com/ritampal26</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ritampal26"/>
    <language>en</language>
    <item>
      <title>How I Built 14 Interactive Visualizations Using Google AI Studio</title>
      <dc:creator>Ritam Pal</dc:creator>
      <pubDate>Tue, 16 Dec 2025 06:18:46 +0000</pubDate>
      <link>https://forem.com/ritampal26/how-i-built-14-interactive-visualizations-using-google-ai-studio-3il4</link>
      <guid>https://forem.com/ritampal26/how-i-built-14-interactive-visualizations-using-google-ai-studio-3il4</guid>
      <description>&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%2F4i9y28c7aaalomtbwji4.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%2F4i9y28c7aaalomtbwji4.png" alt="Landing Page" width="800" height="553"&gt;&lt;/a&gt;&lt;br&gt;Hello !!
  &lt;/p&gt;

&lt;p&gt;Hey!! How are you?? I recently participated in the Google Deepmind X Kaggle hackathon, and thought why not share my experience in here, I really enjoyed building StructViz AI, and although we had to submit a write-up in just 250 words, I thought it was quite less to express my encounters with the bugs, features I had built, so hop on with me!!&lt;/p&gt;




&lt;h2&gt;
  
  
  The Discovery: A Late-Night Scroll That Changed Everything
&lt;/h2&gt;

&lt;p&gt;It was a dull evening, when I stumbled across the &lt;strong&gt;Gemini 3 Pro Vibe Coding Hackathon&lt;/strong&gt; announcement. As a final-year CSE student, I'd been preparing for technical interviews and struggling with the same problem countless times: &lt;em&gt;understanding data structures from static textbook diagrams&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The hackathon promised something intriguing—&lt;strong&gt;Google AI Studio's vibe coding&lt;/strong&gt; where you describe what you want and Gemini generates working code. The deadline was tight: December 5-12. Just one week.&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%2Fhnyf3shfeagoqvl0ba00.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%2Fhnyf3shfeagoqvl0ba00.png" alt="Philipp's post" width="706" height="838"&gt;&lt;/a&gt;&lt;br&gt;Philipp's post
  &lt;/p&gt;




&lt;h2&gt;
  
  
  The "Aha" Moment: Why DSA Visualization?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Problem I Knew Too Well
&lt;/h3&gt;

&lt;p&gt;Like 70% of CS students, I'd spent hours staring at diagrams of binary trees, trying to mentally simulate rotations in AVL trees, or visualizing how A* pathfinding actually works. Existing tools like VisuAlgo helped, but they lacked something crucial: &lt;strong&gt;interactive AI guidance&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Gemini 3 Pro Opportunity
&lt;/h3&gt;

&lt;p&gt;Reading about Gemini 3's capabilities, some features jumped out:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multimodal Input:&lt;/strong&gt; Upload a hand-drawn tree diagram? Voice commands?&lt;br&gt;
&lt;strong&gt;Advanced Reasoning:&lt;/strong&gt; Explain &lt;em&gt;why&lt;/em&gt; an algorithm chose a specific path&lt;br&gt;
&lt;strong&gt;Native AI Studio Integration:&lt;/strong&gt; Build apps through natural language&lt;/p&gt;

&lt;p&gt;The vision crystallized: &lt;strong&gt;What if you could draw a data structure on paper, upload it, and watch AI animate it step-by-step while explaining every decision?&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Planning: From Wild Idea to Structured Plan
&lt;/h2&gt;

&lt;p&gt;I created a priority matrix, brainstorming with Perplexity, Gemini, my brain (surprisingly):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Must-Have:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Binary Tree, Stack, Queue, Linked List&lt;/li&gt;
&lt;li&gt;Basic animations with playback controls&lt;/li&gt;
&lt;li&gt;Gemini AI Tutor integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Nice-to-Have:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AVL Tree, Trie, Hash Table&lt;/li&gt;
&lt;li&gt;Sorting algorithm visualizations&lt;/li&gt;
&lt;li&gt;Advanced graph algorithms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Stretch Goals:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pathfinding (A*, Dijkstra)&lt;/li&gt;
&lt;li&gt;Dynamic Programming tables&lt;/li&gt;
&lt;li&gt;Geometric algorithms (Convex Hull)&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  The Build: Days of Code, Coffee, and Chaos
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Day 1: First Steps with AI Studio
&lt;/h3&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%2Fbbctoefcwp794dhxt7xb.png" alt="Prompt 5" width="800" height="361"&gt;Couldn't find my first prompt, so see this
  


&lt;p&gt;My first prompt was to make a skeleton structure, maintaining good folder structure, code quality, and type safety—basically, I talked to Gemini like a senior engineer briefing an intern. The kind of detail where you specify everything because you've been burned before by assumptions.&lt;/p&gt;

&lt;p&gt;Watching Gemini generate a working component in seconds was surreal. But then came the first challenge: animations looked like PowerPoint transitions from 2003. Choppy, lifeless, and frankly embarrassing for something claiming to be "interactive."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evening Progress:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Binary Tree with basic insert/delete&lt;/li&gt;
&lt;li&gt;SVG-based rendering&lt;/li&gt;
&lt;li&gt;Animations were janky (fixed by switching to Framer Motion)&lt;/li&gt;
&lt;/ul&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%2Fqieklzejhf9d4pqmavcn.png" alt="Queue visualization" width="800" height="425"&gt;Queue visualization, it was the 2nd visualization I added
  


&lt;p&gt;I established a pattern: prompt → test → refactor → repeat. I made in detailed prompts, with each and every detail as a Senior Engineer would say to an Intern, specifying each details, checking and reading it and then feeding it to AI Studio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wins:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stack visualizer (with "browser history" demo)&lt;/li&gt;
&lt;li&gt;Queue visualizer (with visual conveyor belt)&lt;/li&gt;
&lt;li&gt;Linked List with pointer animations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Crisis:&lt;/strong&gt; The GSAP Timeline Bug&lt;/p&gt;

&lt;p&gt;Around 11 PM, the Linked List "Play" button decided to stop working. Not crash—just... nothing. Click. Silence. The timeline existed but refused to play. Four hours of debugging later, I discovered the timeline wasn't being initialized properly on component mount. The fix was embarrassingly simple once I found it. This taught me a valuable lesson: when AI-generated code breaks, the bug is usually in the handoff between what AI generated and what I modified.&lt;/p&gt;


&lt;h3&gt;
  
  
  Day 2: Expansion and the React Router Disaster
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ambition kicked in.&lt;/strong&gt; I added AVL Tree, Segment Tree, and Trie visualizers.&lt;/p&gt;

&lt;p&gt;Then I made a critical mistake: &lt;strong&gt;adding routing.&lt;/strong&gt;&lt;/p&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%2F13vro2go16bc4t3zoeio.png" alt="Routing error" width="800" height="360"&gt;Routing error
  


&lt;p&gt;&lt;strong&gt;The Error:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Minified React error #31
Objects are not valid as a React child
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This cryptic message greeted me for four straight hours. The screen went blank. Not a single component rendered. The browser console mocked me with stack traces pointing to... minified React internals. Helpful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hours Lost:&lt;/strong&gt; 4&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Pivot:&lt;/strong&gt; I ripped out React Router entirely. Every route, every Link component, every fancy navigation transition—gone. Replaced it with a simple useState managing which visualizer to show. The app worked again in 15 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson:&lt;/strong&gt; Don't over-engineer under time pressure. That fancy routing system? Not worth it when the deadline is in 5 days and you have 10 more visualizers to build. Sometimes the scrappy solution is the right solution.&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 6: The Advanced Features Push
&lt;/h3&gt;

&lt;p&gt;Err, don't ask me where did Day 3, 4, 5 go(I had other work, no, I was not procrastinating !!)&lt;/p&gt;

&lt;p&gt;Building A* and Dijkstra side-by-side was the most fun I had all week. Watching them race across the grid—Dijkstra expanding uniformly like a shockwave, A* beelining toward the target with laser focus—was genuinely exciting. I added maze generation algorithms (recursive division, Prim's), wall drawing with click-and-drag, and draggable start/end nodes.&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%2Fi36cs2ctsxh1al0kwxs7.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%2Fi36cs2ctsxh1al0kwxs7.png" alt="Pathfinding" width="800" height="381"&gt;&lt;/a&gt;&lt;br&gt;Pathfinding
  &lt;/p&gt;

&lt;p&gt;The table-filling animation was the most satisfying to watch. Each cell lighting up as it's computed, dependency arrows showing which previous cells contributed, the final path traced back in gold. I built Longest Common Subsequence, 0/1 Knapsack, and Edit Distance. Watching the Knapsack table fill row-by-row made me finally understand why we needed 2D DP tables. Textbooks never clicked like this.&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%2Fy7trs10t4qx4uin19ies.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%2Fy7trs10t4qx4uin19ies.png" alt="DP animation" width="800" height="346"&gt;&lt;/a&gt;&lt;br&gt;DP animation
  &lt;/p&gt;

&lt;p&gt;Geometric algorithms were visually stunning but computationally tricky. Graham Scan wrapping around scattered points like a rubber band, Jarvis March "gift wrapping" with deliberate precision. The challenge? Calculating polar angles without floating-point errors ruining the visualization. Math is hard when you're also debugging animations at 9 PM.&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%2F0b4efbobzstmltkxuu98.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%2F0b4efbobzstmltkxuu98.png" alt="Convex Hull" width="800" height="368"&gt;&lt;/a&gt;&lt;br&gt;Convex Hull
  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Crisis:&lt;/strong&gt; Responsive Design&lt;/p&gt;

&lt;p&gt;Everything overflowed on mobile. The pathfinding grid was a 50x25 cell monstrosity that laughed at viewport constraints. Convex Hull points were untappable pinpricks. I spent two hours adding responsive breakpoints, recalculating cell sizes dynamically, and making touch targets 44x44px minimum. The grid now adapts: 15x20 on mobile, 25x50 on desktop. Finally usable on all devices&lt;/p&gt;




&lt;h3&gt;
  
  
  Day 7: The Final Sprint
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Deadline: 11:59 PM UTC (5:29 AM IST Dec 13)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Morning:&lt;/strong&gt; ug fixes across all 14 visualizers. The hash table collision demo wasn't visual enough—added step-by-step narration. The sorting algorithm race mode wasn't... racing—fixed GSAP timing. The matrix rotation looked janky—switched to layout animations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Afternoon:&lt;/strong&gt; AI Tutor integration everywhere. Every visualizer needed the ChatPanel with context-specific prompts. "Why did this AVL tree rotate left?" "Show me the shortest path." "Explain this DP recurrence relation." Testing Gemini's function calling—when the AI says "let me highlight the root node," it actually does.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evening:&lt;/strong&gt; Writing the 250-word submission. Every. Word. Counted. Cutting features I loved because they didn't fit. Rewriting five times to hit that balance of technical depth and accessibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Night:&lt;/strong&gt; Recording the demo video. Take 1: forgot to press "Record". Take 2: accidentally closed the tab. Take 3: nailed it, but realized I should show the AI features more. Take 4: perfect. Exported, uploaded, submitted at 4:47 AM IST. I had 42 minutes to spare. Collapsed into bed immediately.&lt;/p&gt;




&lt;h2&gt;
  
  
  Challenges: What Almost Broke Me
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The Three.js Nightmare
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; LinearEncoding is not exported&lt;/p&gt;

&lt;p&gt;The ambitious plan including 3D tree visualizations using React Three Fiber. Rotate the tree in 3D space, zoom in on nodes, fly-through animations. It was going to be gorgeous.&lt;/p&gt;

&lt;p&gt;Then: version conflicts. Three.js r152 changed the color management API. React Three Fiber expected the old API. AI Studio's CDN served incompatible versions. Four hours of debugging importmaps, version pins, and Stack Overflow threads led to one conclusion: not worth it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Pivot:&lt;/strong&gt; Dropped 3D visualizations entirely, focused on polished 2D with excellent animations. Turns out, smooth 2D with Framer Motion's layout animations looks just as good—and actually works across all devices without WebGL compatibility issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Performance on Mobile
&lt;/h3&gt;

&lt;p&gt;14 visualizers meant 14 responsive designs. The pathfinding grid with 1,250 cells? Laggy on phones. The convex hull with 100 draggable points? Unresponsive touch events. The sorting visualizer with 100 bars? Slideshow framerates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;: Dynamic complexity scaling. Mobile gets smaller grids (15x20 vs 25x50), fewer points (max 30 vs unlimited), simplified animations (reduce spring physics calculations). Use requestAnimationFrame properly. Debounce touch events. Virtual scrolling for large data sets. It's not glamorous, but it works smoothly.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Scope Creep
&lt;/h3&gt;

&lt;p&gt;Every day I wanted to add "just one more feature", "What if users could race four sorting algorithms simultaneously?", "The trie needs voice-activated word insertion.", "Segment trees should support lazy propagation visualization."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Reality Check&lt;/strong&gt;: I had 7 days. Not 7 weeks. Some features got cut: Turing Machine visualizer, N-Queens solver, fractal generators, multiplayer mode where two users race to solve problems. They're now in the "v2.0" backlog, which is developer-speak for "maybe someday."&lt;/p&gt;




&lt;h2&gt;
  
  
  Results: What I Built in 60 Hours
&lt;/h2&gt;

&lt;h3&gt;
  
  
  By the Numbers
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;14 Complete Visualizers:&lt;/strong&gt; Binary Tree, AVL Tree, Trie, Hash Table, Stack, Queue, Min/Max Heap, Linked List, Graph Algorithms, Sorting Algorithms, Pathfinding, Dynamic Programming, Segment Tree, Convex Hull&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lines of Code:&lt;/strong&gt; 100K (I guess?! Check out the repo and guess in the comments!!)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Feature Highlights
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Animations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spring physics for natural motion&lt;/li&gt;
&lt;li&gt;Timeline controls (play/pause/step)&lt;/li&gt;
&lt;li&gt;Speed adjustment (0.5x to 5x)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Responsive:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Works on phones, tablets, desktops&lt;/li&gt;
&lt;li&gt;Touch-optimized controls&lt;/li&gt;
&lt;li&gt;Adaptive layouts&lt;/li&gt;
&lt;/ul&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%2F360g6abebva2egucsv0k.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%2F360g6abebva2egucsv0k.png" alt="DP page responsiveness" width="388" height="690"&gt;&lt;/a&gt;&lt;br&gt;DP page responsiveness
  &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%2Ff3kpj3fd1zxc5p987tsj.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%2Ff3kpj3fd1zxc5p987tsj.png" alt="Sorting page responsiveness" width="378" height="679"&gt;&lt;/a&gt;&lt;br&gt;Sorting page responsiveness
  &lt;/p&gt;




&lt;h2&gt;
  
  
  Impact: Why This Matters
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Personal Growth
&lt;/h3&gt;

&lt;p&gt;Building StructViz AI taught me:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;AI as a Development Partner:&lt;/strong&gt; Vibe coding accelerated development 10x&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity Wins:&lt;/strong&gt; Dropped complex features when they became blockers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architecture Matters:&lt;/strong&gt; Feature-Sliced Design saved me during rapid expansion&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deadlines Drive Innovation:&lt;/strong&gt; 7 days forced creative problem-solving&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  For the CS Community
&lt;/h3&gt;

&lt;p&gt;If this helps even one student finally "get" how AVL rotations work or why A* is faster than Dijkstra, the sleepless nights were worth it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Lessons for Future Hackathon Participants
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Do's
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start Simple:&lt;/strong&gt; MVP first, features later&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Early:&lt;/strong&gt; Mobile testing on Day 1, not Day 7&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embrace AI:&lt;/strong&gt; Let Gemini handle boilerplate, you focus on logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Document as You Build:&lt;/strong&gt; Screenshots, notes, commit messages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Know When to Pivot:&lt;/strong&gt; Routing broke? Use state. Three.js conflicts? Go 2D.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Don'ts
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Don't Over-Engineer:&lt;/strong&gt; Feature-Sliced &amp;gt; Complex routing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't Fight the Framework:&lt;/strong&gt; Work with AI Studio's strengths&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't Skip Breaks:&lt;/strong&gt; Burnout kills productivity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't Wait to Submit:&lt;/strong&gt; Submit early, iterate if time permits&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What's Next: Version 2.0
&lt;/h2&gt;

&lt;p&gt;The hackathon might be over, but StructViz AI is just beginning:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Planned Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Turing Machine visualizer&lt;/li&gt;
&lt;li&gt;Real user testing with CS students&lt;/li&gt;
&lt;li&gt;Mobile app version&lt;/li&gt;
&lt;li&gt;Live Hosting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Want to contribute?&lt;/strong&gt; &lt;a href="https://github.com/RitamPal26/StructViz" rel="noopener noreferrer"&gt;https://github.com/RitamPal26/StructViz&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo/Follow me for more
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Kaggle Submission:&lt;/strong&gt; &lt;a href="https://www.kaggle.com/competitions/gemini-3/writeups/structviz-ai" rel="noopener noreferrer"&gt;https://www.kaggle.com/competitions/gemini-3/writeups/structviz-ai&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Follow My Journey:&lt;/strong&gt; &lt;a href="https://x.com/JuniorDev26" rel="noopener noreferrer"&gt;https://x.com/JuniorDev26&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>googleaichallenge</category>
    </item>
    <item>
      <title>What I learnt in the 5-Day Gen AI Intensive Course with Google</title>
      <dc:creator>Ritam Pal</dc:creator>
      <pubDate>Thu, 04 Dec 2025 16:57:29 +0000</pubDate>
      <link>https://forem.com/ritampal26/what-i-learnt-in-the-5-day-gen-ai-intensive-course-with-google-2akn</link>
      <guid>https://forem.com/ritampal26/what-i-learnt-in-the-5-day-gen-ai-intensive-course-with-google-2akn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/googlekagglechallenge"&gt;Google AI Agents Writing Challenge&lt;/a&gt;: Learning Reflections&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hello!! I recently completed the 5-Day Gen AI Intensive Course with Google, mainly out of 2 reasons, first, I like Python too much( sorry Typescript :( ) and secondly, AI Agents are cool!! So, I though why not make a post sharing what I learnt in this, along with how I have developed some AI Agents before.&lt;/p&gt;

&lt;p&gt;So, let me take you through the days,&lt;/p&gt;

&lt;p&gt;November 10th, 2025. I signed up for the AI Agents Intensive with a portfolio of agent projects already under my belt—Discord bots that answered documentation queries using RAG, a real-time voice agent built with LiveKit and FastAPI, even a customer support system for a hackathon. But here's the truth: every single project felt like I was building a house of cards. One weird edge case, one hallucinated API call, one unexpected user input—and everything collapsed. I would vibe-code a little bit more than my understanding, not taking the fundamentals in mind, so, I used NotebookLM and wanted to understand the whitepaper on foundational LLMs explained transformers from first principles, and suddenly I understood why my prompts worked or failed. When I completed the codelab on prompting fundamentals, I learned about parameters I'd been ignoring—temperature, top-k, top-p—and how they actually controlled output randomness and creativity.&lt;/p&gt;

&lt;p&gt;The evaluation codelab changed everything. I'd been manually checking agent outputs like a caveman. Now I learned about autoraters and structured outputs—ways to programmatically verify if my agent was hallucinating or staying on track. Pair it with the embeddings whitepaper finally explained what I'd been cargo-culting. I'd used Chroma and vector stores before, but never understood why certain searches failed. Building the document Q&amp;amp;A system with RAG from scratch taught me chunk sizing, overlap strategies, and how embedding quality directly impacts retrieval.&lt;/p&gt;

&lt;p&gt;So, the whitepaper's were quite high level for me, as I know some basic ML/DL, but I tried to understand the low lying levels through Gemini(ahh yes!! understanding AI using AI), but then as I though the AI couldn't get any smarter, the next I got to know about multi-agents(I implemented this in 1 of my projects maybe, slight of).I understood state machines, agent loops, and how to handle multi-turn conversations without losing context.&lt;/p&gt;

&lt;p&gt;Domain-Specific LLMs are something I like, it is more relevant than working with an LLM that knows a little bit of everything, and I personally like those. I now understood more and more, as I filled the knowledge gaps. &lt;/p&gt;

&lt;p&gt;But as all things come to an end, so does this course, MLOps, hmm do people like joining Ops with everything? DevOps, DataOps, what next? So, Day 5, I understood and watched the video, as there was no codelab, although it would have been better if we could make a sandbox and deploy the agent, but I enjoyed the course and would like to end by saying AI Agents are quite interesting and fascinating, and I think they will be more and more used by people, helping them in everyday lives, making their lives easier. &lt;/p&gt;

&lt;p&gt;So, this was all from me today!! Hope you liked it, comment down what you liked/disliked about my post or the AI Agents course. See ya!!&lt;/p&gt;

</description>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>agents</category>
      <category>devchallenge</category>
    </item>
  </channel>
</rss>
