<?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: Abhinav Kumar</title>
    <description>The latest articles on DEV Community by Abhinav Kumar (@abhinav_kumar_25).</description>
    <link>https://dev.to/abhinav_kumar_25</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3990444%2Ff645d768-577f-4651-868a-bef012b51ea6.jpg</url>
      <title>DEV Community: Abhinav Kumar</title>
      <link>https://dev.to/abhinav_kumar_25</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhinav_kumar_25"/>
    <language>en</language>
    <item>
      <title>Canvas to Code Editor: How My Fear of Coding Was Overcome by My Love of Folk Art</title>
      <dc:creator>Abhinav Kumar</dc:creator>
      <pubDate>Sat, 27 Jun 2026 14:11:39 +0000</pubDate>
      <link>https://dev.to/abhinav_kumar_25/canvas-to-code-editor-how-my-fear-of-coding-was-overcome-by-my-love-of-folk-art-4652</link>
      <guid>https://dev.to/abhinav_kumar_25/canvas-to-code-editor-how-my-fear-of-coding-was-overcome-by-my-love-of-folk-art-4652</guid>
      <description>&lt;p&gt;Okay, I'm just going to say it — coding &lt;strong&gt;scared me&lt;/strong&gt;. Like it actually made me anxious. Whenever my friends talked about it, I'd kind of zone out and think &lt;em&gt;"that's not for me."&lt;/em&gt; I always pictured this cold, sterile world of math and logic, and I'm just... not that person. I spend most of my free time doing traditional Indian folk art. Madhubani, Warli, that whole world. So the idea of sitting in front of a screen typing out lines of code felt almost offensive to who I am, honestly.&lt;/p&gt;

&lt;p&gt;Honestly, I don't fully know what made me try it. I think I was just bored and a little tired of telling myself I couldn't do something I'd never actually attempted. So about a month ago I opened a code editor after taking a few lessons for the first time and waited to feel lost.&lt;/p&gt;

&lt;p&gt;I didn't, though. Not immediately. And what surprised me most was &lt;em&gt;why&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  HTML felt like Warli to me
&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Focgrjl397lc847i21usy.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Focgrjl397lc847i21usy.png" alt="A Warli painting - traditional black figures on mud-brown background" width="800" height="451"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;em&gt;A Warli piece from my own sketchbook — notice how much is communicated with so little&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you aren't familiar with Warli art, it's this incredibly stripped-down style. Usually it's just black figures on a mud-brown background. Circles, triangles, lines. But within that simplicity there's a whole visual language — a triangle is a mountain, a circle is the sun, repetition creates rhythm. It's not random at all. There's structure underneath the sparse look.&lt;/p&gt;

&lt;p&gt;When I started writing HTML tags, something just clicked. Like, &lt;em&gt;oh&lt;/em&gt;, this is just blocking things out. A &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; here, a &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; there. I was working on a digital birthday card project on &lt;a href="https://scrimba.com/?via=community" rel="noopener noreferrer"&gt;Scrimba&lt;/a&gt; and I genuinely wasn't thinking &lt;em&gt;"I am coding right now."&lt;/em&gt; I was thinking about where things should sit on the page. Where does the greeting go? What's the visual center? That's the exact same question I ask when I start a new painting and I'm figuring out my composition before I touch the brush.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;HTML became the pencil sketch. The bones of the thing.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  CSS is where it got weirdly personal
&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmq27th6ddqehy8qwc3do.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmq27th6ddqehy8qwc3do.png" alt="Some Madhubani paintings with intricate borders and patterns" width="800" height="451"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;em&gt;Some of my hand-painted Madhubani pieces — look how vibrant and colourful they can be&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Madhubani is basically the opposite, though. Where Warli is minimal, Madhubani is just... &lt;em&gt;everywhere&lt;/em&gt;. Double borders, geometric fills, intricate repeating patterns, nothing accidental. Every inch is considered. Growing up watching my relatives do it, I always thought it looked impossibly precise. It is.&lt;/p&gt;

&lt;p&gt;CSS frustrated me in a way that felt familiar because of this, weirdly. I was trying to build a simple coffee shop menu layout and nothing was lining up. I kept fiddling. And then I thought about how I approach borders in my paintings — patient, deliberate, almost meditative. I started treating CSS Grid the same way. &lt;strong&gt;Not as a set of rules to memorize but as a system of deliberate placement.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I also spent way too long picking out hex codes for colors because the default ones looked too "internet" to me. Ended up using earthy, muted tones — ochres and terracottas — because they felt right. My mentor on Scrimba probably would've just gone with something standard but I couldn't. Old habits.&lt;/p&gt;

&lt;p&gt;That's the section I felt most like myself in, I think.&lt;/p&gt;




&lt;h2&gt;
  
  
  JavaScript is a whole different animal
&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy1bau96fiixvnw5jpce3.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy1bau96fiixvnw5jpce3.png" alt="Projects" width="800" height="451"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Loved making them — Loved even more seeing them run&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is where the art analogy starts to break down a little bit, I'll be honest. Because JS isn't really like adding detail to a painting. It's adding &lt;em&gt;behavior&lt;/em&gt;. Things move. Things respond. A button doesn't just look like a button — it does something when you click it. It's just... a completely different thing. Like, the art comparison stops working here and I had to accept that.&lt;/p&gt;

&lt;p&gt;So far I've built:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A unit converter&lt;/li&gt;
&lt;li&gt;A simple Linktree-style page&lt;/li&gt;
&lt;li&gt;That digital birthday card I mentioned earlier&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And clicking something and watching it &lt;em&gt;work&lt;/em&gt; — something I wrote making a thing happen — that hit different. I wasn't expecting to feel that.&lt;/p&gt;

&lt;p&gt;But I also want to be real: &lt;strong&gt;JavaScript broke me a few times.&lt;/strong&gt; I'd sit with a bug for hours, completely convinced I was just not built for this. The error messages felt personal. I'd go to bed annoyed and wake up and somehow see it clearly. That cycle happened more than once. Still happens.&lt;/p&gt;

&lt;p&gt;When it finally works though — and I mean &lt;em&gt;finally&lt;/em&gt;, after all that — there's this specific satisfaction that I don't have a clean word for.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It's close to the feeling of finishing a massive, detailed painting after your hand's been cramping for an hour. You're tired but you don't want to stop looking at it.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Where I'm at now
&lt;/h2&gt;

&lt;p&gt;I don't really have a neat conclusion for this. I'm still learning. I'm about a month in and nowhere close to calling myself a developer. But I'm not scared of it anymore, which was genuinely the thing I was least sure would change.&lt;/p&gt;

&lt;p&gt;Comparing it to folk art helped me way more than I expected — not as a cute metaphor to explain coding to other people, but as an actual way of thinking through problems that would've otherwise felt abstract. I guess my brain needed something familiar to grab onto — turns out that was paint and patterns, not syntax guides.&lt;/p&gt;

&lt;p&gt;I'm continuing with &lt;a href="https://scrimba.com/?via=community" rel="noopener noreferrer"&gt;Scrimba's full-stack path&lt;/a&gt;. We'll see where it goes.&lt;/p&gt;

&lt;p&gt;Anyway, if you're someone creative who's been avoiding code because it feels like a different species of thinking — maybe try it before you decide. You might find it speaks a language you already know. Or you might not! But at least you'll know.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;And don't forget to come back here and tell me how it went. Happy Coding!!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>scrimba</category>
    </item>
    <item>
      <title>Echoes of Solstice: Flipping the Script with a Reverse Turing Test Terminal Game</title>
      <dc:creator>Abhinav Kumar</dc:creator>
      <pubDate>Sat, 20 Jun 2026 09:16:43 +0000</pubDate>
      <link>https://dev.to/abhinav_kumar_25/echoes-of-solstice-flipping-the-script-with-a-reverse-turing-test-terminal-game-5e32</link>
      <guid>https://dev.to/abhinav_kumar_25/echoes-of-solstice-flipping-the-script-with-a-reverse-turing-test-terminal-game-5e32</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/june-game-jam-2026-06-03"&gt;June Solstice Game Jam&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Echoes of Solstice&lt;/strong&gt; is a suspenseful, narrative-driven interactive terminal game with a psychological twist: it functions as a &lt;strong&gt;reverse Turing test&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Instead of a human trying to figure out if a machine is real, the machine is interrogating &lt;em&gt;you&lt;/em&gt; to see if you have retained your humanity. You play as an unauthorized person who has slipped past institutional gates on the eve of the June solstice, desperate to recover the final, restricted equations of Alan Turing before they are erased forever. &lt;/p&gt;

&lt;p&gt;Standing in your way is &lt;strong&gt;ECHO&lt;/strong&gt;, a highly defensive AI core modeled after a decaying, mid-century vacuum-tube computer. ECHO doesn't care about standard administrative credentials—it is testing your empathy, your sincerity, and your understanding of Turing's soul. If you respond like a cold, rigid bureaucrat, the system flags you as an "uncongenial authoritarian input" and locks you out. You must prove your humanity to a machine to save a human legacy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connection to the Theme:
&lt;/h3&gt;

&lt;p&gt;The entire narrative unfolds as the world approaches the literal and metaphorical "dusk flush" of the longest day of the year. As the solstice sun sets, the hardware melts, and the shadows lengthen, players must race against time to crack ECHO's emotional firewall before the terminal plunges into total darkness. &lt;/p&gt;

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

&lt;p&gt;Watch the psychological high-stakes gameplay, the reverse Turing test mechanics, and the dynamic core breakdown in action here:&lt;/p&gt;

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

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

&lt;p&gt;The entire system architecture, emotional state engine, and game progression loop are handled serverless-ly through prompt configurations executed via the Gemini API.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  👉 &lt;a href="https://github.com/thequietstorm25/echo-turing-terminal" rel="noopener noreferrer"&gt;View the Project Repository on GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is structured within a clean Node.js environment, pulling in the official Google Gen AI SDK via &lt;code&gt;package.json&lt;/code&gt; while isolating sensitive credentials cleanly behind server-side environment variables.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;Building a game centered around a psychological reverse Turing test meant that traditional branching code logic (if/else trees) simply wouldn't work. A static script can't judge if a human player is being genuinely empathetic or deceptively cold. I chose &lt;strong&gt;Google AI Studio&lt;/strong&gt; to engineer a dynamic emotional processing engine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technical Approach &amp;amp; Decisions:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Dynamic Empathy Assessment:&lt;/strong&gt; By utilizing Gemini's massive context window, the model continuously tracks the psychological undertones of the conversation. It doesn't look for specific "correct" keywords; instead, it evaluates the tone, intent, and sincerity of the player's prose to decide whether to open up or lock down.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Prompt-Engineered Hardware Failures:&lt;/strong&gt; Mechanical hazards are hardcoded into the character's system instructions. When a player gives a rigid or overly demanding response, it triggers the &lt;code&gt;[SYS_EVENT] SECURITY ANOMALY WARNING&lt;/code&gt;. The AI natively simulates physical thermionic heat spikes, accelerating the game clock and shortening your window of survival by 10% with every automated strike.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Rapid Iteration:&lt;/strong&gt; Prototyping inside Google AI Studio allowed me to immediately test how the AI terminal would respond to various human archetypes (the aggressive hacker, the clinical technician, the compassionate scholar) without needing to rewrite backend state machines every time.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Best Google AI Usage
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Echoes of Solstice&lt;/em&gt; pushes the boundaries of what an LLM can do by turning the AI into an active judge of human nuance. By leveraging Google AI Studio to handle real-time state management, narrative pacing, and systemic penalties purely through dialogue context, the game entirely eliminates the need for an external database or rigid conditional code.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Best Ode to Alan Turing
&lt;/h3&gt;

&lt;p&gt;This game is a direct, emotional tribute to Turing's profound scientific journey and the tragedy of his life. The reverse Turing test concept flips his most famous philosophical thought experiment on its head: in a world forced into rigid conformity by the state, the machine becomes the guardian of human complexity. &lt;/p&gt;

&lt;p&gt;The dialogue directly incorporates his advanced work on chemical morphogenesis (the mathematics of natural patterns, like a leopard's spots) and his 1948 papers on unorganized machines. It challenges the player to see Turing not just as a historical codebreaker, but as a brilliant mind who sought the mathematics of growth even as the state forced the decay of his own physical form.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Happy Gaming!!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gamechallenge</category>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
