<?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: Jithesh</title>
    <description>The latest articles on DEV Community by Jithesh (@jitheshpoojari).</description>
    <link>https://dev.to/jitheshpoojari</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%2F1213633%2F6c40a020-e6e5-4ec5-aa48-f2b9c2cc303e.jpg</url>
      <title>DEV Community: Jithesh</title>
      <link>https://dev.to/jitheshpoojari</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jitheshpoojari"/>
    <language>en</language>
    <item>
      <title>From Box Shadows to Dashed Borders: How I Hit 63 Characters on CSSBattle's Daily Target 🎯</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Wed, 18 Mar 2026 02:55:31 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/from-box-shadows-to-dashed-borders-how-i-hit-63-characters-on-cssbattles-daily-target-3kbm</link>
      <guid>https://dev.to/jitheshpoojari/from-box-shadows-to-dashed-borders-how-i-hit-63-characters-on-cssbattles-daily-target-3kbm</guid>
      <description>&lt;p&gt;&lt;em&gt;Score: 819.42 | Characters: 63 | Platform: CSSBattle Daily Target&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;I want to talk about a small win. Not a viral project, not a shipped product, not a promotion. Just 63 characters of CSS that made me genuinely happy.&lt;/p&gt;

&lt;p&gt;If you've never heard of &lt;a href="https://cssbattle.dev" rel="noopener noreferrer"&gt;CSSBattle&lt;/a&gt;, the idea is simple and slightly addictive: recreate a target image using the smallest amount of CSS you can write. Every character counts — literally. Your score goes up as your character count goes down.&lt;/p&gt;

&lt;p&gt;I've been doing the daily targets consistently. Not always solving them. Not always topping the leaderboard. But showing up, trying, checking yesterday's top solutions (often not fully understanding them), and slowly getting better.&lt;/p&gt;

&lt;p&gt;Today was different.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Journey to 63 Characters
&lt;/h2&gt;

&lt;p&gt;Let me walk you through how my solution evolved — because the &lt;em&gt;process&lt;/em&gt; is the interesting part.&lt;/p&gt;

&lt;h3&gt;
  
  
  Attempt 1 — The Brute Force (box-shadow era)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#FFF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;*{&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;70px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt;&lt;span class="m"&gt;#328FC1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;70&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;323138&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;190px&lt;/span&gt; &lt;span class="m"&gt;110px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;-190px&lt;/span&gt; &lt;span class="m"&gt;110px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;190px&lt;/span&gt; &lt;span class="m"&gt;-110px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;-190px&lt;/span&gt; &lt;span class="m"&gt;-110px&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I was thinking: &lt;em&gt;four squares, four box-shadow offsets&lt;/em&gt;. It worked visually but the character count was rough. Box shadows for positional tricks are a classic CSSBattle technique — but not the right tool here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Attempt 2 — Switching to Dashed Border
&lt;/h3&gt;

&lt;p&gt;Then it hit me. The target had a &lt;strong&gt;dashed border pattern&lt;/strong&gt;. What if I just… used &lt;code&gt;dashed&lt;/code&gt;?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#FFF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;*{&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;70px&lt;/span&gt; &lt;span class="nb"&gt;dashed&lt;/span&gt;&lt;span class="m"&gt;#328FC1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
  &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;70px&lt;/span&gt; &lt;span class="nb"&gt;dashed&lt;/span&gt;&lt;span class="m"&gt;#323138&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The outer element gets one color, the inner gets another. Fewer lines, cleaner logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Attempt 3 — Collapsing Both Into One Rule
&lt;/h3&gt;

&lt;p&gt;Wait — what if both borders share the same properties and I handle colors differently?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#FFF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;323138&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;75&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="nb"&gt;dashed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;*{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;328&lt;/span&gt;&lt;span class="n"&gt;FC1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Getting shorter. &lt;code&gt;color&lt;/code&gt; instead of explicit border-color. &lt;code&gt;75q&lt;/code&gt; instead of &lt;code&gt;70px&lt;/code&gt; (CSS &lt;code&gt;q&lt;/code&gt; units are quarter-millimeters — smaller to type, can achieve similar visual results with the right value). The background white was still there though.&lt;/p&gt;

&lt;h3&gt;
  
  
  Attempt 4 — The "Wait, Do I Even Need That?" Moment
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;323138&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;75&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="nb"&gt;dashed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;*{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;328&lt;/span&gt;&lt;span class="n"&gt;FC1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;63 characters. Score: 819.42.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;background:#FFF&lt;/code&gt; was completely unnecessary. The default background was already white. I'd been carrying dead weight the entire time.&lt;/p&gt;

&lt;p&gt;That moment of reviewing and asking &lt;em&gt;"does this line actually do anything?"&lt;/em&gt; — that's where the real characters were hiding.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Actually Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. The technique you reach for first is rarely the most efficient.&lt;/strong&gt;&lt;br&gt;
I started with box-shadows because that's what I knew. Dashed borders were the right tool, and I only found them by staying curious.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Every property you add is a character cost. Question everything.&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;background:#FFF&lt;/code&gt; felt safe and explicit. But it wasn't needed. The discipline of asking "is this line earning its place?" applies beyond CSSBattle too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. &lt;code&gt;q&lt;/code&gt; units exist and they are criminally underused.&lt;/strong&gt;&lt;br&gt;
CSS has quarter-millimeter units. I love this language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Daily practice compounds quietly.&lt;/strong&gt;&lt;br&gt;
I didn't solve this in one sitting or one day. I built up pattern recognition over many days of attempts, many top solutions I barely understood, many "oh that's clever" moments that slowly sank in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Small achievements are worth celebrating.&lt;/strong&gt;&lt;br&gt;
When the character count hit 80, I was happy. When I realized I could remove the background and drop to 63, I was &lt;em&gt;very&lt;/em&gt; happy. Neither of these are world records. I don't care. It felt earned.&lt;/p&gt;




&lt;h2&gt;
  
  
  Should You Try CSSBattle?
&lt;/h2&gt;

&lt;p&gt;If you write CSS at all — yes. It will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Force you to learn obscure but real CSS properties&lt;/li&gt;
&lt;li&gt;Make you think about &lt;em&gt;why&lt;/em&gt; properties work, not just &lt;em&gt;what&lt;/em&gt; they do&lt;/li&gt;
&lt;li&gt;Introduce you to units, tricks, and shorthands you'd never encounter in normal work&lt;/li&gt;
&lt;li&gt;Give you a tiny dopamine hit when the character count drops by 2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You'll also check the top solutions and feel humbled. That's fine. That's the point. Understanding 20% of what the #1 solution is doing still teaches you something.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;I never thought I'd get a double-digit character count on a daily target. For a long time I was happy just getting close to the target image. Then happy getting on the board. Then happy breaking 100 characters. Then 80. Then 63.&lt;/p&gt;

&lt;p&gt;The leaderboard always has someone smarter. Their solutions will still teach me something tomorrow.&lt;/p&gt;

&lt;p&gt;But today, 63 characters felt like a lot.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have you played CSSBattle? What's your favorite CSS trick you learned from it? Drop a comment — I genuinely want to know.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Building a Process Scheduling Simulator: Relearning TypeScript and Reducing AI Dependence</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Sat, 14 Mar 2026 02:49:19 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/building-a-process-scheduling-simulator-relearning-typescript-and-reducing-ai-dependence-2pho</link>
      <guid>https://dev.to/jitheshpoojari/building-a-process-scheduling-simulator-relearning-typescript-and-reducing-ai-dependence-2pho</guid>
      <description>&lt;p&gt;For several weeks, I hadn’t written any real Next.js or TypeScript code without relying heavily on AI tools.&lt;/p&gt;

&lt;p&gt;During one of my Operating Systems classes, we were studying CPU scheduling algorithms. While going through the theory, a thought came to mind: &lt;strong&gt;why not build a visualizer for these algorithms?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It seemed like the perfect project. It would help me understand scheduling concepts more deeply, and it would also force me to start writing Next.js and TypeScript code manually again.&lt;/p&gt;

&lt;p&gt;So I started the project.&lt;/p&gt;

&lt;p&gt;That’s when reality hit.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Reality Check
&lt;/h2&gt;

&lt;p&gt;I quickly realized I couldn’t write much beyond the basic Next.js boilerplate.&lt;/p&gt;

&lt;p&gt;When I tried to create a simple dummy data object, I hesitated on the syntax. When I needed to sort an array of processes by arrival time, my mind went blank. Because most of my recent coursework had focused on C++ and Java, I even caught myself typing &lt;code&gt;int&lt;/code&gt; instead of &lt;code&gt;number&lt;/code&gt; in TypeScript.&lt;/p&gt;

&lt;p&gt;This was an uncomfortable but important realization:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;skills fade when you stop practicing them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Over time, I had started letting AI handle a lot of the small details like syntax, structure, boilerplate. Tools like ChatGPT and Claude were helpful, but I had slowly offloaded too much of the basic thinking to them.&lt;/p&gt;

&lt;p&gt;Eventually, I noticed something worrying: I had begun to lose the ability to write those things independently.&lt;/p&gt;

&lt;p&gt;This project became my reset.&lt;/p&gt;

&lt;p&gt;I decided on a simple rule: &lt;strong&gt;no AI for core logic&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
If I forgot how something worked, I would check documentation, Stack Overflow, or official references the traditional way.&lt;/p&gt;

&lt;p&gt;At first it felt slow and frustrating. But gradually things came back; TypeScript types, array methods, language quirks. It was like loosening a rusted bolt: difficult at first, but easier once it started moving.&lt;/p&gt;

&lt;p&gt;One thing that came back quickly was my comfort with designing TypeScript interfaces. That kind of structural thinking tends to stick longer than syntax details.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding the Right Balance with AI
&lt;/h2&gt;

&lt;p&gt;At first, I thought the solution was simple: &lt;strong&gt;no AI at all.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But that isn’t realistic either.&lt;/p&gt;

&lt;p&gt;Modern software development involves tools, and AI is increasingly one of them. Completely rejecting it would be just as extreme as depending on it for everything.&lt;/p&gt;

&lt;p&gt;Instead, I changed &lt;em&gt;how&lt;/em&gt; I used AI.&lt;/p&gt;

&lt;p&gt;Rather than asking it to generate the application, I used it to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discuss component structure and interface design.&lt;/li&gt;
&lt;li&gt;Review code I had already written.&lt;/li&gt;
&lt;li&gt;Question naming choices and architecture decisions.&lt;/li&gt;
&lt;li&gt;Suggest clearer variable, type, and function names.&lt;/li&gt;
&lt;li&gt;Explore design tradeoffs before committing to an approach.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I wrote the code. AI reviewed the work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That distinction mattered.&lt;/p&gt;

&lt;p&gt;The result was cleaner code, better naming, and a more organized folder structure without losing the actual learning process.&lt;/p&gt;




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

&lt;p&gt;The result is an interactive &lt;strong&gt;Process Scheduling Simulator&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enter a list of processes with arrival times, burst times, and optional priorities.&lt;/li&gt;
&lt;li&gt;Run multiple scheduling algorithms.&lt;/li&gt;
&lt;li&gt;View results instantly through &lt;strong&gt;Gantt charts&lt;/strong&gt; and detailed metrics tables.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The simulator currently supports six classic CPU scheduling algorithms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FCFS&lt;/strong&gt; - First Come First Serve
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SJF&lt;/strong&gt; - Shortest Job First (non-preemptive)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SRTF&lt;/strong&gt; - Shortest Remaining Time First (preemptive)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Priority Scheduling&lt;/strong&gt; - both preemptive and non-preemptive
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Round Robin&lt;/strong&gt; - with configurable time quantum
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For each algorithm, the system calculates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Completion Time&lt;/li&gt;
&lt;li&gt;Turnaround Time&lt;/li&gt;
&lt;li&gt;Waiting Time&lt;/li&gt;
&lt;li&gt;Response Time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also calculates averages across processes.&lt;/p&gt;

&lt;p&gt;One small but important detail the simulator handles correctly is &lt;strong&gt;CPU idle time&lt;/strong&gt;, which is easy to overlook when first learning scheduling algorithms.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tech Stack and Architecture
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Framework:&lt;/strong&gt; Next.js (App Router)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language:&lt;/strong&gt; TypeScript 5
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UI Components:&lt;/strong&gt; shadcn/ui + Radix UI
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling:&lt;/strong&gt; Tailwind CSS v4
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Forms &amp;amp; Validation:&lt;/strong&gt; React Hook Form + Zod
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Icons &amp;amp; Theming:&lt;/strong&gt; Lucide React, next-themes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The architecture intentionally separates &lt;strong&gt;algorithm logic&lt;/strong&gt; from the UI layer.&lt;/p&gt;

&lt;p&gt;This made the scheduling logic easier to test and reason about independently from the interface.&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;Zod with React Hook Form&lt;/strong&gt; made validation surprisingly clean, especially with dynamic numbers of processes and constraints between fields.&lt;/p&gt;

&lt;p&gt;TypeScript’s strict typing also helped ensure that scheduling logic stayed consistent across different algorithms.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Decision Not to Over Abstract
&lt;/h2&gt;

&lt;p&gt;At one point, I considered creating shared abstractions for the scheduling algorithms to reduce duplication.&lt;/p&gt;

&lt;p&gt;In the end, I decided &lt;strong&gt;not to do that&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The entire purpose of this project was to understand the algorithms themselves.&lt;/p&gt;

&lt;p&gt;FCFS is extremely simple.&lt;br&gt;&lt;br&gt;
SRTF requires tracking remaining burst time at each time step.&lt;br&gt;&lt;br&gt;
Round Robin requires maintaining a ready queue and time quantum.&lt;/p&gt;

&lt;p&gt;These algorithms work differently enough that forcing them into a common abstraction would actually hide the differences I wanted to understand.&lt;/p&gt;

&lt;p&gt;Sometimes &lt;strong&gt;explicit code is better than clever abstractions&lt;/strong&gt;, especially when the code itself is part of the learning process.&lt;/p&gt;




&lt;h2&gt;
  
  
  Type Safety
&lt;/h2&gt;

&lt;p&gt;To avoid fragile string comparisons, algorithm identifiers are stored as constants (&lt;code&gt;fcfs&lt;/code&gt;, &lt;code&gt;sjf&lt;/code&gt;, &lt;code&gt;srtf&lt;/code&gt;, etc.).&lt;/p&gt;

&lt;p&gt;This eliminates magic strings and gives strong TypeScript autocomplete and type safety across the scheduling logic.&lt;/p&gt;

&lt;p&gt;Small decisions like this make the codebase easier to maintain as new algorithms are added.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Actually Learned
&lt;/h2&gt;

&lt;p&gt;The obvious takeaway is that I now understand scheduling algorithms much more clearly; especially concepts like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Preemption&lt;/li&gt;
&lt;li&gt;Context switching&lt;/li&gt;
&lt;li&gt;Starvation in SJF&lt;/li&gt;
&lt;li&gt;The impact of time quantum in Round Robin&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the more interesting lesson was about &lt;strong&gt;my relationship with AI tools&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;There are two extreme approaches:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ask an AI to generate the entire project in minutes.&lt;br&gt;&lt;br&gt;
You get working code, but you learn very little.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Refuse to use AI at all out of principle.&lt;br&gt;&lt;br&gt;
This is noble, but not realistic in modern development.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The approach that worked best for me was the middle ground:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write the logic yourself. Let AI help refine it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This kept the thinking process mine, while still benefiting from an additional pair of eyes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;The project is open source on GitHub:&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://github.com/jithesh-poojari/process-scheduling-visualization" rel="noopener noreferrer"&gt;https://github.com/jithesh-poojari/process-scheduling-visualization&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Live demo:&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://process-scheduling-simulator-nine.vercel.app" rel="noopener noreferrer"&gt;https://process-scheduling-simulator-nine.vercel.app/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're studying Operating Systems and want to see how scheduling algorithms behave in practice, this tool may help.&lt;/p&gt;

&lt;p&gt;Upcoming ideas include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multilevel Queue Scheduling&lt;/li&gt;
&lt;li&gt;Multilevel Feedback Queue Scheduling&lt;/li&gt;
&lt;li&gt;Timeline animations&lt;/li&gt;
&lt;li&gt;Automated tests&lt;/li&gt;
&lt;li&gt;CSV import of inputs and export of results&lt;/li&gt;
&lt;li&gt;Step-by-step execution with explanations&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;The best learning projects are the ones that feel slightly too difficult at the start. If everything feels comfortable from line one, you're probably not growing.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>deved</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>Climbing the Ranks: My CSSBattle #37 Journey 🏁</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Sun, 02 Nov 2025 13:03:21 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/climbing-the-ranks-my-cssbattle-37-journey-3p90</link>
      <guid>https://dev.to/jitheshpoojari/climbing-the-ranks-my-cssbattle-37-journey-3p90</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://cssbattle.dev" rel="noopener noreferrer"&gt;CSSBattle&lt;/a&gt;’s Battle #37 – Height&lt;/strong&gt; has officially wrapped up, and this round felt special.&lt;/p&gt;

&lt;p&gt;After four weeks, eight black-and-white themed challenges, and over a thousand players worldwide,&lt;br&gt;&lt;br&gt;
I managed to finish at &lt;strong&gt;Rank #22&lt;/strong&gt; — up from &lt;strong&gt;Rank #45&lt;/strong&gt; in the previous battle.&lt;br&gt;&lt;br&gt;
It’s not just a number; it’s proof that consistent, focused practice pays off.&lt;/p&gt;




&lt;h2&gt;
  
  
  From #45 → #22: What Changed
&lt;/h2&gt;

&lt;p&gt;This time, I took a more &lt;em&gt;analytical and minimal&lt;/em&gt; approach.&lt;br&gt;&lt;br&gt;
Instead of jumping straight into shapes, I spent more time understanding layouts — how the reference was built, where symmetry existed, and how it could be reused.&lt;br&gt;&lt;br&gt;
Every target became a small puzzle in efficiency.&lt;/p&gt;

&lt;p&gt;Here’s what made the difference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Refactoring over restarting:&lt;/strong&gt; I stopped rewriting solutions and started refining them for brevity after hitting 100%.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creative CSS tricks:&lt;/strong&gt; &lt;code&gt;border&lt;/code&gt;, &lt;code&gt;box-shadow&lt;/code&gt;, &lt;code&gt;clip-path&lt;/code&gt;, &lt;code&gt;-webkit-reflect&lt;/code&gt;, and layered gradients became second nature.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reusability:&lt;/strong&gt; In some cases, instead of relying solely on pseudo-elements or shadows, I reused the same styled element multiple times — cleaner and often shorter.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus and speed:&lt;/strong&gt; Most challenges were solved within &lt;strong&gt;30–40 minutes&lt;/strong&gt;, with many hitting &lt;strong&gt;100% match on the first submission&lt;/strong&gt; — a huge step up from before, where few battles still fell short of that perfect score.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Code Golf Mindset
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://cssbattle.dev" rel="noopener noreferrer"&gt;CSSBattle&lt;/a&gt; isn’t just a design game — it’s a mental gym for front-end developers.&lt;br&gt;&lt;br&gt;
You’re not just drawing shapes; you’re optimizing every line, every space, every property.&lt;/p&gt;

&lt;p&gt;It teaches you to &lt;strong&gt;see geometry in code&lt;/strong&gt;:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Circles hiding inside borders
&lt;/li&gt;
&lt;li&gt;Triangles emerging from &lt;code&gt;clip-path&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Shadows doubling as new elements
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s addictive in the best way — a balance of logic, creativity, and compression.&lt;/p&gt;




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

&lt;p&gt;Every battle reinforces one truth:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Simplicity is power.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Validation matters&lt;/strong&gt; — a 100% match doesn’t always mean an efficient solution.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repetition builds intuition&lt;/strong&gt; — layouts start to “click” faster over time.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creativity comes from constraint&lt;/strong&gt; — the tighter the rules, the smarter your solutions become.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iteration refines mastery&lt;/strong&gt; — I created multiple versions for some challenges just to test which felt most elegant.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best solutions often &lt;em&gt;look effortless&lt;/em&gt; — but getting there takes effort.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Solutions
&lt;/h2&gt;

&lt;p&gt;All my solutions for &lt;strong&gt;Battle #37 – Height&lt;/strong&gt; are available on GitHub:&lt;br&gt;
👉 &lt;a href="https://github.com/jithesh-poojari/css-battles/tree/main/battles/%2337%20-%20Height" rel="noopener noreferrer"&gt;&lt;strong&gt;CSSBattle Solutions Repository&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The full HTML + CSS code
&lt;/li&gt;
&lt;li&gt;A preview image of the recreated target
&lt;/li&gt;
&lt;li&gt;A link to the original CSSBattle challenge&lt;/li&gt;
&lt;li&gt;My performance metrics — match %, score, and character count
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;Next goal: &lt;strong&gt;Top 10 in Battle #38&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
I’m focusing on refining my compression techniques, mastering symmetry, and finding new creative layout shortcuts.&lt;/p&gt;

&lt;p&gt;But more than rankings, &lt;strong&gt;CSSBattle has become a creative habit&lt;/strong&gt; — a space where logic meets art and constraint sparks innovation.&lt;/p&gt;




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

&lt;p&gt;Climbing from &lt;strong&gt;Rank 45 → 22&lt;/strong&gt; wasn’t just about numbers.&lt;br&gt;&lt;br&gt;
It’s about compounding improvement — in precision, patience, and pattern recognition.  &lt;/p&gt;

&lt;p&gt;CSSBattle has taught me to &lt;strong&gt;write less, think more, and appreciate elegance in code&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
If you enjoy creative coding or front-end problem-solving, give it a try — it’ll reshape how you think about CSS.&lt;/p&gt;

&lt;p&gt;🎨 &lt;strong&gt;CSS isn’t just styling. It’s structure, math, and art — all in one.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>cssbattle</category>
      <category>programming</category>
      <category>solution</category>
    </item>
    <item>
      <title>Glyph Catalog Launches on Product Hunt 🚀</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Sun, 02 Nov 2025 12:59:32 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/glyph-catalog-launches-on-product-hunt-4fj2</link>
      <guid>https://dev.to/jitheshpoojari/glyph-catalog-launches-on-product-hunt-4fj2</guid>
      <description>&lt;p&gt;GlyphCatalog is going live on &lt;strong&gt;Product Hunt&lt;/strong&gt; — a big step toward putting this project in front of a wider audience of designers, developers, and curious minds who love clean, useful tools.&lt;/p&gt;

&lt;p&gt;This isn’t just another update — it’s the moment where GlyphCatalog moves from being “a side project” to something ready to be discovered, used, and shared by the world.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 What GlyphCatalog Is About
&lt;/h2&gt;

&lt;p&gt;GlyphCatalog started as a simple, structured database of Unicode symbols — cleanly organized by category and format.&lt;br&gt;
Over time, it grew into something more: a visual, searchable, and reference-friendly catalog built for clarity.&lt;/p&gt;

&lt;p&gt;It helps users quickly find symbol details like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unicode, HTML, ALT, and HEX codes&lt;/li&gt;
&lt;li&gt;Copy-ready formats&lt;/li&gt;
&lt;li&gt;Categorized and referenced listings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you’re designing an interface, coding an app, or just exploring typography, GlyphCatalog keeps symbol data accessible and beautiful.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Why Launch on Product Hunt
&lt;/h2&gt;

&lt;p&gt;Product Hunt is a space where ideas meet visibility — where genuine, useful tools get discovered.&lt;br&gt;
For GlyphCatalog, this launch is about three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Feedback&lt;/strong&gt; — hearing from people who care about design and data clarity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validation&lt;/strong&gt; — seeing if the idea resonates beyond a niche developer audience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reach&lt;/strong&gt; — helping more users find a simple solution for symbol reference.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’ve spent months refining the UX, cleaning the data model, and ensuring the site feels smooth — now it’s time to see how the world responds.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 How You Can Help
&lt;/h2&gt;

&lt;p&gt;If you’ve been following the project or used GlyphCatalog before — your support means everything.&lt;br&gt;
Here’s how you can make a difference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visit the Product Hunt page and &lt;strong&gt;leave a review or comment&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Share your honest thoughts — what you liked, what can be improved&lt;/li&gt;
&lt;li&gt;Spread the word if you find it useful&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your feedback will directly shape the next version.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔮 What Comes Next
&lt;/h2&gt;

&lt;p&gt;The Product Hunt launch is not the finish line — it’s the start of public growth.&lt;br&gt;
After this launch, I plan to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expand code format support (binary, octal, markdown-ready codes)&lt;/li&gt;
&lt;li&gt;Improve symbol search accuracy&lt;/li&gt;
&lt;li&gt;Add cross-referencing and tagging for faster navigation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every bit of feedback from Product Hunt will help guide these improvements.&lt;/p&gt;




&lt;h2&gt;
  
  
  ❤️ A Note from Me
&lt;/h2&gt;

&lt;p&gt;I built GlyphCatalog because I wanted a better way to browse, learn, and copy symbols — without clutter or confusion.&lt;br&gt;
Seeing it reach this stage feels like a quiet milestone.&lt;/p&gt;

&lt;p&gt;If you’ve ever supported, tested, or just appreciated this work — thank you.&lt;br&gt;
You’re part of why this project made it this far.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Check it out on Product Hunt:&lt;/strong&gt; &lt;a href="https://www.producthunt.com/products/glyph-catalog?utm_source=other&amp;amp;utm_medium=social" rel="noopener noreferrer"&gt;producthunt.com&lt;/a&gt;&lt;br&gt;
👉 &lt;strong&gt;Explore the site:&lt;/strong&gt; &lt;a href="https://glyphcatalog.com" rel="noopener noreferrer"&gt;glyphcatalog.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>product</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Building DreamSpace: A Modern Interior Design Website 🏠</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Sun, 26 Oct 2025 07:23:28 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/building-dreamspace-a-modern-interior-design-website-492g</link>
      <guid>https://dev.to/jitheshpoojari/building-dreamspace-a-modern-interior-design-website-492g</guid>
      <description>&lt;p&gt;DreamSpace is a &lt;strong&gt;responsive, accessible, and feature-rich interior design website&lt;/strong&gt; that I and my team built as part of our &lt;strong&gt;MCA Web Technology project&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
It’s not just another academic project — it’s a showcase of how design, usability, and code discipline can come together to create something that feels real-world ready.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 The Idea Behind DreamSpace
&lt;/h2&gt;

&lt;p&gt;The core idea was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a website that feels like a genuine interior design brand — warm, modern, and user-focused.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We wanted DreamSpace to represent a professional studio’s digital presence: displaying services, showcasing projects, and allowing clients to book consultations or leave feedback.&lt;/p&gt;

&lt;p&gt;At its core, this project tested how far we could push &lt;strong&gt;HTML, CSS, and JavaScript&lt;/strong&gt; without relying on any frameworks — focusing purely on clean code, accessibility, and design consistency.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 Features We Built
&lt;/h2&gt;

&lt;p&gt;The site includes a complete set of modules you'd expect in a real brand website:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Home Page&lt;/strong&gt; with hero banner, featured projects, process overview, testimonials, FAQs, and newsletter form.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Services Page&lt;/strong&gt; highlighting our six core design services with iconography and hover animations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Projects Showcase&lt;/strong&gt; — filterable project cards (residential, commercial, renovation).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Booking Module&lt;/strong&gt; — guided consultation form with date/time pickers and validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contact &amp;amp; Feedback Pages&lt;/strong&gt; — clear validation, ratings, and feedback form.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication System&lt;/strong&gt; — login/signup with password strength check and “Remember Me.”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wishlist Module&lt;/strong&gt; — save favorites using localStorage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dark/Light Theme&lt;/strong&gt; — user preference saved across sessions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Products Page&lt;/strong&gt; — searchable, filterable catalog with quick-view modal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;About Page&lt;/strong&gt; — team info, story timeline, and brand milestones.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎨 Design Language
&lt;/h2&gt;

&lt;p&gt;The visual design followed a &lt;strong&gt;warm and minimal aesthetic&lt;/strong&gt;, staying true to interior design sensibilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Colors:&lt;/strong&gt; Beige, brown, and gray — creating a cozy yet elegant tone.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Typography:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Playwrite Modern&lt;/em&gt; for headings.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Inter&lt;/em&gt; for body text.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Layout:&lt;/strong&gt; Spacious, card-based design with clean grids.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Icons:&lt;/strong&gt; Lucide icons for consistent visuals.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Animations:&lt;/strong&gt; Smooth transitions and hover effects for subtle motion.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  💻 Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;      : HTML5, CSS3 (Flexbox, Grid, Media Queries), JavaScript (ES6) :&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UI/UX&lt;/strong&gt;         : Semantic HTML, ARIA roles, responsive design principles      :&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Icons &amp;amp; Fonts&lt;/strong&gt; : Lucide Icons, Google Fonts (Playwrite Modern, Inter)         :&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt;   : Deferred JS, image compression, CSS optimization             :&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ Challenges &amp;amp; What I Learned
&lt;/h2&gt;

&lt;p&gt;Every project teaches something new — and this one definitely did.&lt;br&gt;&lt;br&gt;
Here are a few highlights from my personal learning curve:&lt;/p&gt;

&lt;h3&gt;
  
  
  🧠 1. Fixing FOUT (Flash of Unstyled Text)
&lt;/h3&gt;

&lt;p&gt;At first, I noticed a flicker when loading custom fonts from Google Fonts — that “flash” before the text renders properly (FOUT).&lt;br&gt;&lt;br&gt;
I fixed this by &lt;strong&gt;self-hosting the fonts&lt;/strong&gt; locally and using &lt;strong&gt;&lt;code&gt;@font-face&lt;/code&gt;&lt;/strong&gt; in my CSS.&lt;br&gt;&lt;br&gt;
Additionally, I used &lt;code&gt;&amp;lt;link rel="preload"&amp;gt;&lt;/code&gt; for critical fonts, which made the text render instantly and consistently — a small but significant UX improvement.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ 2. Understanding &lt;code&gt;defer&lt;/code&gt; in External Scripts
&lt;/h3&gt;

&lt;p&gt;When I moved internal JavaScript to an external &lt;code&gt;.js&lt;/code&gt; file, the scripts started executing before the DOM loaded — breaking some interactions.&lt;br&gt;
That’s when I learned to use the &lt;strong&gt;&lt;code&gt;defer&lt;/code&gt;&lt;/strong&gt; attribute in the &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tag (inside &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;), ensuring the scripts load only after the HTML is parsed.&lt;br&gt;
It’s such a simple thing, but it made a huge difference in performance and maintainability.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎨 3. Building a Theming System with CSS Variables
&lt;/h3&gt;

&lt;p&gt;Instead of repeating color codes everywhere, I set up &lt;strong&gt;CSS variables&lt;/strong&gt; (&lt;code&gt;--background&lt;/code&gt;, &lt;code&gt;--text-color&lt;/code&gt;, &lt;code&gt;--primary&lt;/code&gt;, etc.) for both &lt;strong&gt;light&lt;/strong&gt; and &lt;strong&gt;dark&lt;/strong&gt; themes.&lt;br&gt;
This not only simplified theme toggling but also made spacing, color, and typography more maintainable and scalable.&lt;/p&gt;

&lt;h3&gt;
  
  
  🤝 4. Merging Code and Maintaining Consistency
&lt;/h3&gt;

&lt;p&gt;Our team worked on different modules, which meant I had to &lt;strong&gt;merge multiple design styles&lt;/strong&gt; and make them consistent.&lt;br&gt;
I standardized margins, paddings, and color usage across all pages — turning a collection of independent pages into a cohesive website.&lt;br&gt;
This part taught me the importance of &lt;strong&gt;design systems&lt;/strong&gt; and &lt;strong&gt;UI consistency&lt;/strong&gt;, even in small projects.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌗 Dark/Light Theme
&lt;/h2&gt;

&lt;p&gt;This was one of my favorite parts.&lt;br&gt;
Users can toggle between dark and light modes, and the choice is saved using &lt;strong&gt;localStorage&lt;/strong&gt;, so it stays the same on the next visit.&lt;br&gt;
Smooth transitions (&lt;code&gt;transition: background-color 0.3s ease&lt;/code&gt;) made it feel natural — not abrupt.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI as a Design &amp;amp; Development Assistant
&lt;/h2&gt;

&lt;p&gt;We used &lt;strong&gt;AI tools like ChatGPT&lt;/strong&gt; during development to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate UI ideas and layout structure.&lt;/li&gt;
&lt;li&gt;Get accessibility recommendations (ARIA roles, color contrast checks).&lt;/li&gt;
&lt;li&gt;Refine code snippets and error handling.&lt;/li&gt;
&lt;li&gt;Improve documentation tone and structure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of replacing our work, AI acted as an &lt;strong&gt;assistant and collaborator&lt;/strong&gt; — helping us stay efficient, consistent, and technically correct.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧑‍💻 My Key Takeaways
&lt;/h2&gt;

&lt;p&gt;This project wasn’t just about building pages — it was about &lt;strong&gt;understanding the workflow of a real web project&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;From &lt;strong&gt;semantic markup&lt;/strong&gt; to &lt;strong&gt;responsive layouts&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;From &lt;strong&gt;performance optimization&lt;/strong&gt; to &lt;strong&gt;team collaboration&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;From &lt;strong&gt;aesthetic design&lt;/strong&gt; to &lt;strong&gt;technical problem solving&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every small improvement — like deferring scripts, hosting fonts locally, or syncing design styles — made me realize that &lt;strong&gt;good websites are built by attention to detail&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Explore the Project
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🌍 &lt;strong&gt;Live Website:&lt;/strong&gt; &lt;a href="https://dream-space-design.vercel.app/" rel="noopener noreferrer"&gt;dreamspaceinterior.vercel.app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 &lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/jithesh-poojari/interior-design-website" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  👥 Team Members
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://jithesh.vercel.app/" rel="noopener noreferrer"&gt;Jithesh (Me)&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/thanisha2060" rel="noopener noreferrer"&gt;Thanisha&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/Niranjan709" rel="noopener noreferrer"&gt;Niranjan&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/Spoorti15" rel="noopener noreferrer"&gt;Spoorti&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📜 License
&lt;/h2&gt;

&lt;p&gt;The project is open-sourced under the &lt;strong&gt;MIT License&lt;/strong&gt; — free to use, modify, and learn from.&lt;/p&gt;




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

&lt;p&gt;DreamSpace turned out to be more than just a submission — it became a learning experience in structure, collaboration, and refinement.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Every adjustment — from fixing font flickers to aligning grid spacing — taught me something real about web craftsmanship.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Building DreamSpace showed me how &lt;strong&gt;front-end design is not about decoration — it’s about communication, consistency, and care&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>a11y</category>
      <category>html</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Behind the Scenes: Refactoring Glyph Catalog 🛠️</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Sun, 28 Sep 2025 04:39:38 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/behind-the-scenes-refactoring-glyph-catalog-o7m</link>
      <guid>https://dev.to/jitheshpoojari/behind-the-scenes-refactoring-glyph-catalog-o7m</guid>
      <description>&lt;p&gt;If you’ve checked out the recent update to &lt;strong&gt;&lt;a href="https://www.glyphcatalog.com/" rel="noopener noreferrer"&gt;Glyph Catalog&lt;/a&gt;&lt;/strong&gt;, you already know it’s now faster, cleaner, and better organized. But behind that smooth release was a major refactoring effort. In this post, I’ll share what changed, why I changed it, and what I learned along the way.&lt;/p&gt;

&lt;p&gt;This is less of a “what’s new” announcement and more of a &lt;strong&gt;developer’s journal&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problems With the Old Setup
&lt;/h2&gt;

&lt;p&gt;When I first built Glyph Catalog, the goal was simple: display symbols with their Unicode and HTML codes in a table format. That worked fine at first, but as the collection grew, cracks started showing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Nested Table Structure&lt;/strong&gt; → I originally used a &lt;code&gt;Category → Major → Minor&lt;/code&gt; structure but displayed everything in one large table. The Table of Contents jumped around between categories instead of having dedicated pages. It quickly became messy and hard to maintain.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Catch-All Routing&lt;/strong&gt; → I used Next.js catch-all segments to handle categories, majors, and minors in a single file. It worked, but the codebase became bloated and unmanageable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No Dedicated Symbol Pages&lt;/strong&gt; → Each symbol only appeared inside a table row. There was no detailed page showing usage, examples, or reference links.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Messy Data Management&lt;/strong&gt; → I stored data as multiple TypeScript objects across different folders. This made updates painful, categories inconsistent, and adding new codes difficult.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Search Limitations&lt;/strong&gt; → Search was built into a dialog, showing all results at once. It couldn’t store state, was buggy when jumping to results, and didn’t scale.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Database Growth Issues&lt;/strong&gt; → Seeding had no validation. Data was stored across multiple sources before being seeded, with little metadata and no logs. Adding more codes or fixing errors became frustrating.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Refactoring Journey
&lt;/h2&gt;

&lt;p&gt;Here’s how I tackled it step by step:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Data Validation
&lt;/h3&gt;

&lt;p&gt;I added a validation layer to check for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Empty fields.&lt;/li&gt;
&lt;li&gt;Duplicate code points (allowed if they appear in different categories).&lt;/li&gt;
&lt;li&gt;Corrupted or invalid characters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, every symbol in the database is clean, consistent, and reliable.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Route Structure
&lt;/h3&gt;

&lt;p&gt;I replaced the messy catch-all route with dynamic pages:&lt;br&gt;
&lt;code&gt;[category] → [major] → [minor] → [symbol]&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each symbol now has its own dedicated page with usage, examples, and reference links.&lt;/li&gt;
&lt;li&gt;Tables were removed. Instead, I use cards for categories, majors, and minors, which improves readability and navigation.&lt;/li&gt;
&lt;li&gt;Logic is split across multiple pages with minimal redundancy.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Database Restructure
&lt;/h3&gt;

&lt;p&gt;I rewrote the seeding script to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Load data from a &lt;strong&gt;single JSON source&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Validate, categorize, and assign metadata automatically.&lt;/li&gt;
&lt;li&gt;Store metadata and reference links separately for flexibility.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This way, adding new formats (like binary) won’t break the schema, and maintaining data is much easier.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Search Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Search now has its own dedicated page.&lt;/li&gt;
&lt;li&gt;State is stored in the URL for persistence.&lt;/li&gt;
&lt;li&gt;Added filters for refining results.&lt;/li&gt;
&lt;li&gt;Results display more items with clearer context.&lt;/li&gt;
&lt;li&gt;Supports searching by both description (“arrow”) and code (“U+2192” or &lt;code&gt;→&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s still evolving, but it’s already far better than the old buggy dialog.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. SEO &amp;amp; Accessibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Each symbol now has its own page → better indexing and navigation.&lt;/li&gt;
&lt;li&gt;Over &lt;strong&gt;1,800 symbols&lt;/strong&gt; are now available (up from under 200).&lt;/li&gt;
&lt;li&gt;Metadata and accessibility have been improved.&lt;/li&gt;
&lt;li&gt;Added a blog module (adapted from my portfolio site).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Design &amp;amp; UX Changes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cleaner Layout:&lt;/strong&gt; Minimal design, more spacing, and better visual hierarchy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;More Code Formats:&lt;/strong&gt; Unicode, Alt Code, HTML Hex, HTML Dec, Binary (with usage examples). More coming soon.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalable Design:&lt;/strong&gt; The layout supports adding new formats without clutter.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 On top of these big updates, there were many &lt;strong&gt;minor but meaningful tweaks&lt;/strong&gt;: dark mode was changed from a dropdown to a toggle, the primary color was slightly adjusted, theme and wording polished, and small UI details refined. These might seem minor, but together they make the whole experience smoother.&lt;/p&gt;

&lt;p&gt;The goal: make Glyph Catalog equally useful for developers, designers, and casual users.&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Validation is everything&lt;/strong&gt; → Without strict checks, bad data spreads fast.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single source of truth&lt;/strong&gt; → A central JSON file makes updates manageable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability requires early choices&lt;/strong&gt; → Small structural fixes now save major headaches later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimal design works best&lt;/strong&gt; → Less clutter makes symbols easier to explore.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SEO matters&lt;/strong&gt; → Dedicated pages and metadata significantly improve reach.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audience is key&lt;/strong&gt; → Features should be guided by real usage and demand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content is important&lt;/strong&gt; → A blog isn’t just extra — it helps visibility and builds credibility.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ul&gt;
&lt;li&gt;Add support for more code formats and symbol metadata.&lt;/li&gt;
&lt;li&gt;Introduce &lt;strong&gt;advanced search&lt;/strong&gt; (intent-based, smarter results, character selection).&lt;/li&gt;
&lt;li&gt;Improve accessibility guidelines.&lt;/li&gt;
&lt;li&gt;Explore ways to make Glyph Catalog more community-driven.&lt;/li&gt;
&lt;li&gt;Focus on &lt;strong&gt;growing traffic&lt;/strong&gt; through blogs, SEO, and consistent improvements.&lt;/li&gt;
&lt;li&gt;Optimize data handling → Currently, all symbols are stored in a single file, which causes noticeable load during opening, searching, and replacements (in local only). This needs to be restructured for smoother performance.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Refactoring wasn’t glamorous — it was a lot of rethinking and rewriting — but the result is a far more solid foundation for Glyph Catalog.&lt;/p&gt;

&lt;p&gt;If you use it regularly, I’d love to hear what you think. And if you’re a developer, maybe this behind-the-scenes look gives you some ideas for your own projects.&lt;/p&gt;

&lt;p&gt;👉 Try the updated &lt;a href="https://www.glyphcatalog.com/" rel="noopener noreferrer"&gt;Glyph Catalog&lt;/a&gt; and let me know your feedback!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>refactoring</category>
      <category>webdev</category>
      <category>seo</category>
    </item>
    <item>
      <title>What’s New in Glyph Catalog 🚀</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Fri, 22 Aug 2025 16:53:52 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/whats-new-in-glyph-catalog-2dpp</link>
      <guid>https://dev.to/jitheshpoojari/whats-new-in-glyph-catalog-2dpp</guid>
      <description>&lt;p&gt;Glyph Catalog has just received a major update to make exploring symbols easier, faster, and more organized. If you’ve been using it to look up Unicode, HTML codes, or other character references, here’s what’s new:&lt;/p&gt;

&lt;h3&gt;
  
  
  🔑 Key Updates
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;New Category Structure&lt;/strong&gt; → Symbols are now neatly organized into major and minor categories, so finding what you need is much simpler.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Search&lt;/strong&gt; → Faster, more accurate search to quickly locate characters by code or description.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expanded Symbol Data&lt;/strong&gt; → Each symbol includes multiple code formats (Unicode, Alt Code, HTML Hex, HTML Dec), with more to come like binary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cleaner Design&lt;/strong&gt; → Pages are easier to navigate with a more structured layout.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability&lt;/strong&gt; → Behind the scenes, the database has been restructured for smoother growth and future updates.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why This Matters
&lt;/h3&gt;

&lt;p&gt;Whether you’re a developer, designer, or just curious about symbols, Glyph Catalog is now more reliable for everyday lookups. From copy-pasting symbols into your work to learning their code points, this update makes the process seamless.&lt;/p&gt;

&lt;h3&gt;
  
  
  Try It Out
&lt;/h3&gt;

&lt;p&gt;👉 &lt;a href="https://www.glyphcatalog.com/" rel="noopener noreferrer"&gt;Visit Glyph Catalog&lt;/a&gt; and explore the updated collection of characters.&lt;/p&gt;

&lt;p&gt;I’d love to hear your feedback—feel free to reach out and let me know what features you’d like to see next!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>product</category>
      <category>website</category>
    </item>
    <item>
      <title>CSS Battle #36 – Transform (July 2025) Challenge – Full Solutions with Code + Video</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Mon, 04 Aug 2025 16:18:20 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/css-battle-36-transform-july-2025-challenge-full-solutions-with-code-video-3lf9</link>
      <guid>https://dev.to/jitheshpoojari/css-battle-36-transform-july-2025-challenge-full-solutions-with-code-video-3lf9</guid>
      <description>&lt;h2&gt;
  
  
  ✍️ Introduction
&lt;/h2&gt;

&lt;p&gt;I participated in the &lt;a href="https://cssbattle.dev/battle/36" rel="noopener noreferrer"&gt;CSS Battle Monthly Challenge – July 2025&lt;/a&gt;, tackling all 8 challenges from &lt;strong&gt;Battle #36: Transform&lt;/strong&gt; using clean, character-efficient HTML+CSS.&lt;/p&gt;

&lt;p&gt;This post is a complete breakdown of my solutions, each paired with videos and direct links to the live challenges.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Quick Note&lt;/strong&gt;:&lt;br&gt;
I finished at &lt;strong&gt;Rank #45 globally&lt;/strong&gt; in this challenge.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  🧾 What You'll Find Here:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🎥 Solution videos for each challenge&lt;/li&gt;
&lt;li&gt;💡 Optimized HTML+CSS code snippets&lt;/li&gt;
&lt;li&gt;🔗 Direct links to play challenges on CSSBattle.dev&lt;/li&gt;
&lt;li&gt;📊 Match percentage and score for each challenge&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📌 Table of Contents
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;#235 – Website&lt;/li&gt;
&lt;li&gt;#236 – Concentrate&lt;/li&gt;
&lt;li&gt;#237 – Round castle&lt;/li&gt;
&lt;li&gt;#238 – Rising sun&lt;/li&gt;
&lt;li&gt;#239 – Waves&lt;/li&gt;
&lt;li&gt;#240 – Snapshot&lt;/li&gt;
&lt;li&gt;#241 – Mint Typewriter&lt;/li&gt;
&lt;li&gt;#242 – Orbital Tiles&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  CSS Battle #235 – Website
&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%2Frxckdc59fpbn0pedstvt.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%2Frxckdc59fpbn0pedstvt.png" alt="Battle Target" width="400" height="300"&gt;&lt;/a&gt;&lt;br&gt;
🎯 &lt;a href="https://cssbattle.dev/play/235" rel="noopener noreferrer"&gt;Play Challenge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📺 &lt;a href="https://www.youtube.com/watch?v=kfDOPvIHbcg" rel="noopener noreferrer"&gt;Watch Solution Video&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔢 Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt;: ✅ 100%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score&lt;/strong&gt;: 🟢 624.04&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters&lt;/strong&gt;: 295&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  💡 Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;a&amp;gt;&amp;lt;b&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#FDFFE9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;+*{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#ADB274&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="err"&gt;*{&lt;/span&gt;
      &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;fixed&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;5&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;30&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;FDFFE9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;201&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;95&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;53&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;95&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;127&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;95&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0-120&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#555A2A&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;105&lt;/span&gt; &lt;span class="m"&gt;85&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;555&lt;/span&gt;&lt;span class="n"&gt;A2A&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;32&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;-32&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;-175&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;-244&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;175&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;-244&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  CSS Battle #236 – Concentrate
&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%2Fxn5x5kuw3g3fif44vx8m.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%2Fxn5x5kuw3g3fif44vx8m.png" alt="Battle Target" width="400" height="300"&gt;&lt;/a&gt;&lt;br&gt;
🎯 &lt;a href="https://cssbattle.dev/play/236" rel="noopener noreferrer"&gt;Play Challenge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📺 &lt;a href="https://www.youtube.com/watch?v=nP3u_5lynGM" rel="noopener noreferrer"&gt;Watch Solution Video&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔢 Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt;: ✅ 100%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score&lt;/strong&gt;: 🟢 615.36&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters&lt;/strong&gt;: 342&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  💡 Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;a&amp;gt;&amp;lt;b&amp;gt;&amp;lt;c&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#F8B140&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;*:not(c){&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;32&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;45&lt;/span&gt; &lt;span class="m"&gt;95&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;CF6939&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;106&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;-106&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="err"&gt;*{&lt;/span&gt;
      &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;fixed&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;45&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="n"&gt;F434E&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;c&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;15&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-45&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;F8B140&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;16&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-15&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;c&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-100&lt;/span&gt; &lt;span class="m"&gt;40&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;148&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;42&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;-webkit-box-reflect&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;left&lt;/span&gt; &lt;span class="m"&gt;80px&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  CSS Battle #237 - Round castle
&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%2F1utipvvad4zxxs1vcmq0.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%2F1utipvvad4zxxs1vcmq0.png" alt="Battle Target" width="400" height="300"&gt;&lt;/a&gt;&lt;br&gt;
🎯 &lt;a href="https://cssbattle.dev/play/237" rel="noopener noreferrer"&gt;Play Challenge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📺 &lt;a href="https://www.youtube.com/watch?v=slZ4hFIdnD8" rel="noopener noreferrer"&gt;Watch Solution Video&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔢 Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt;: ✅ 100%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score&lt;/strong&gt;: 🟢 640.23&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters&lt;/strong&gt;: 241&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#3F4869&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;+*{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="nb"&gt;left&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;#F4DA64&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;#E25C57&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;43&lt;/span&gt; &lt;span class="m"&gt;90&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;2in&lt;/span&gt; &lt;span class="m"&gt;2in&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;fixed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;44&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;19.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;174&lt;/span&gt; &lt;span class="m"&gt;90.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-83px&lt;/span&gt; &lt;span class="m"&gt;-56px&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;8px#F4DA64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;83px&lt;/span&gt; &lt;span class="m"&gt;-56px&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;8px#E25C57&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  CSS Battle #238 - Rising sun
&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%2Fmctvextjsiilt9pxlkln.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%2Fmctvextjsiilt9pxlkln.png" alt="Battle Target" width="400" height="300"&gt;&lt;/a&gt; &lt;br&gt;
🎯 &lt;a href="https://cssbattle.dev/play/238" rel="noopener noreferrer"&gt;Play Challenge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📺 &lt;a href="https://www.youtube.com/watch?v=oGecbLlU3MY" rel="noopener noreferrer"&gt;Watch Solution Video&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔢 Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt;: ✅ 100%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score&lt;/strong&gt;: 🟢 634.54&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters&lt;/strong&gt;: 257&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;a&amp;gt;&amp;lt;b&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#FEFF58&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;+*{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#D2F8FF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;40&lt;/span&gt; &lt;span class="m"&gt;50&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;11&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="err"&gt;*{&lt;/span&gt;
      &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;fixed&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;P&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;70&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;140&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#CF6939&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;60&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;2in&lt;/span&gt; &lt;span class="m"&gt;2in&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-130-5&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;5&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;140&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-5-140&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  CSS Battle #239 - Waves
&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%2Fsc7x21orwuzg4x842w2o.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%2Fsc7x21orwuzg4x842w2o.png" alt="Battle Target" width="400" height="300"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🎯 &lt;a href="https://cssbattle.dev/play/239" rel="noopener noreferrer"&gt;Play Challenge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📺 &lt;a href="https://www.youtube.com/watch?v=vCbE47TM0PM" rel="noopener noreferrer"&gt;Watch Solution Video&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔢 Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt;: ✅ 100%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score&lt;/strong&gt;: 🟢 632.93&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters&lt;/strong&gt;: 262&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;a&amp;gt;&amp;lt;b&amp;gt;&amp;lt;c&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#CEEDFF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;fixed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;48&lt;/span&gt;&lt;span class="n"&gt;BF7D&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;50&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;120&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;162-3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;solid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;30&lt;/span&gt; &lt;span class="m"&gt;30&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;2in&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-50-20&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;c&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;16&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-65-410&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;138&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;275&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  CSS Battle #240 - Snapshot
&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%2F8wd7m4dhgkfqkulffu08.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%2F8wd7m4dhgkfqkulffu08.png" alt="Battle Target" width="400" height="300"&gt;&lt;/a&gt; &lt;br&gt;
🎯 &lt;a href="https://cssbattle.dev/play/240" rel="noopener noreferrer"&gt;Play Challenge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📺 &lt;a href="https://www.youtube.com/watch?v=u-_AzCzVG5g" rel="noopener noreferrer"&gt;Watch Solution Video&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔢 Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt;: ✅ 100%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score&lt;/strong&gt;: 🟢 622.92&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters&lt;/strong&gt;: 300&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;a&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#558C90&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;+*{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#325853&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;50&lt;/span&gt; &lt;span class="m"&gt;110&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;42&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="err"&gt;*{&lt;/span&gt;
      &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;fixed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nl"&gt;-webkit-box-reflect&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;left&lt;/span&gt; &lt;span class="m"&gt;22&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;90&lt;/span&gt; &lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;325853&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;21&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0-21&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;11&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;-21&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;11&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="m"&gt;#F4DA64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;11&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;21&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;11&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="m"&gt;#F4DA64&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;53&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;11&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="m"&gt;#558C90&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;60&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;60-80&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;rotate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;90deg&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  CSS Battle #241 - Mint Typewriter
&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%2Fhmb35myw78kwx239dhv5.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%2Fhmb35myw78kwx239dhv5.png" alt="Battle Target" width="400" height="300"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🎯 &lt;a href="https://cssbattle.dev/play/241" rel="noopener noreferrer"&gt;Play Challenge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📺 &lt;a href="https://www.youtube.com/watch?v=tL-JDitR8Q8" rel="noopener noreferrer"&gt;Watch Solution Video&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔢 Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt;: ✅ 100%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score&lt;/strong&gt;: 🟢 626.96&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters&lt;/strong&gt;: 283&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&amp;lt;a&amp;gt;&amp;lt;b&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#3D3824&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;fixed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;11&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#F7FFCF&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;55&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;140&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;117&lt;/span&gt; &lt;span class="m"&gt;52&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-95-120&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;55&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;120&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;#F7FFCF&lt;/span&gt; &lt;span class="m"&gt;36%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;#86C78D&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nt"&gt;b&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="err"&gt;+&lt;/span&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-75-100&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;linear-gradient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;#86C78D&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;#3D3824&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  CSS Battle #242 - Orbital Tiles
&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%2Fthvhxeubbpnb3nhugxde.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%2Fthvhxeubbpnb3nhugxde.png" alt="Battle Target" width="400" height="300"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🎯 &lt;a href="https://cssbattle.dev/play/242" rel="noopener noreferrer"&gt;Play Challenge&lt;/a&gt;&lt;br&gt;&lt;br&gt;
📺 &lt;a href="https://www.youtube.com/watch?v=oiKe9b0nmbo" rel="noopener noreferrer"&gt;Watch Solution Video&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔢 Stats
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt;: ✅ 99.9%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Score&lt;/strong&gt;: 🟢 597.67&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Characters&lt;/strong&gt;: 266&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  ✅ Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#FDFFE9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="err"&gt;+*{&lt;/span&gt;
    &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;75&lt;/span&gt; &lt;span class="m"&gt;125&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="n"&gt;D3464&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;box-shadow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;-159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0-159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;-159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;-159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="m"&gt;#D95362&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;-159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="m"&gt;#D95362&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="m"&gt;#D95362&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="m"&gt;-159&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="m"&gt;#D95362&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="err"&gt;*{&lt;/span&gt;
      &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;75&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#D95362&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nl"&gt;outline&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;22&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt;&lt;span class="m"&gt;#FDFFE9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nl"&gt;outline-offset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;59&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🙌 Support &amp;amp; Subscribe
&lt;/h2&gt;

&lt;p&gt;If you found this post helpful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔔 &lt;a href="https://www.youtube.com/@jithesh_01" rel="noopener noreferrer"&gt;Subscribe on YouTube&lt;/a&gt; for more CSS Battle content&lt;/li&gt;
&lt;li&gt;💬 Share your feedback or questions in the comments&lt;/li&gt;
&lt;li&gt;💡 Try tweaking my solutions and let me know your improvements!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also connect with me on &lt;a href="https://www.linkedin.com/in/jithesh-poojari/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/jithesh-poojari" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, or &lt;a href="https://x.com/Jithu_Poojari?t=tMe2lzeQd_wy9qVYJGuzOg&amp;amp;s=09" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>cssbattle</category>
      <category>webdev</category>
      <category>solutions</category>
      <category>programming</category>
    </item>
    <item>
      <title>From &lt;15 WPM to 100 WPM @ 100% Accuracy — A Year of Typing Discipline</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Sat, 02 Aug 2025 17:25:24 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/from-15-wpm-to-100-wpm-100-accuracy-a-year-of-typing-discipline-33h8</link>
      <guid>https://dev.to/jitheshpoojari/from-15-wpm-to-100-wpm-100-accuracy-a-year-of-typing-discipline-33h8</guid>
      <description>&lt;p&gt;In August 2024, I started touch typing from scratch — just lowercase alphabets on Keybr, struggling at &amp;lt;15 WPM.&lt;/p&gt;

&lt;p&gt;Back then, I set a quiet goal:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🎯 &lt;em&gt;Hit 100% accuracy on a typing test within one year.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It felt ambitious. But yesterday — just before hitting the one-year mark — I did it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💯 &lt;strong&gt;100 WPM @ 100% accuracy&lt;/strong&gt; (10-word MonkeyType test)&lt;/li&gt;
&lt;li&gt;📆 &lt;strong&gt;48-day streak&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;⌨️ &lt;strong&gt;9,712 tests completed&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🕒 &lt;strong&gt;18+ hours of focused typing&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔗 &lt;a href="https://monkeytype.com/profile/jithesh_" rel="noopener noreferrer"&gt;My MonkeyType Profile&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧱 The Foundation: Keybr
&lt;/h2&gt;

&lt;p&gt;I started with &lt;strong&gt;52 hours&lt;/strong&gt; on Keybr to build the fundamentals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Top Speed: &lt;strong&gt;59.9 WPM&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Avg Speed: &lt;strong&gt;36.3 WPM&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Avg Accuracy: &lt;strong&gt;95.22%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Staying focused on &lt;em&gt;accuracy over speed&lt;/em&gt; helped me develop the right muscle memory early on.&lt;/p&gt;

&lt;p&gt;Then came MonkeyType — XP, leaderboards, and test variety kept things engaging and pushed consistency.&lt;/p&gt;




&lt;h2&gt;
  
  
  🙏 A Simple Push from My Brother
&lt;/h2&gt;

&lt;p&gt;This journey began with one comment from my brother:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“15 WPM might hold you back, especially in interviews.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Just an honest nudge. That quiet spark lit the fire. The rest was just showing up daily.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 What’s Next?
&lt;/h2&gt;

&lt;p&gt;This milestone isn’t the end — just a checkpoint.&lt;/p&gt;

&lt;p&gt;Now I’m focusing on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Practicing with &lt;strong&gt;caps, numbers, and symbols&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Typing without looking&lt;/strong&gt;, even outside of tests&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bringing touch typing&lt;/strong&gt; into real workflows&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 What This Taught Me
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Progress is boring — until it isn’t&lt;/li&gt;
&lt;li&gt;Accuracy builds confidence; confidence unlocks speed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discipline &amp;gt; motivation&lt;/strong&gt;, every time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s not about typing alone — it’s about deliberate practice, compounding effort, and quiet consistency.&lt;/p&gt;




&lt;h2&gt;
  
  
  📣 Your Turn
&lt;/h2&gt;

&lt;p&gt;If you're showing up every day — whether it’s typing, coding, designing, or any small habit — you’re on the right path.&lt;/p&gt;

&lt;p&gt;Celebrate it. Share it. &lt;/p&gt;

&lt;p&gt;Let’s normalize &lt;em&gt;work in progress&lt;/em&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;🧠 What are you quietly building every day?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>typing</category>
      <category>productivity</category>
      <category>learning</category>
      <category>milestone</category>
    </item>
    <item>
      <title>🎓 From Work Life to MCA — Why I Chose to Return to Learning</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Mon, 30 Jun 2025 05:28:11 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/from-work-life-to-mca-why-i-chose-to-return-to-learning-l08</link>
      <guid>https://dev.to/jitheshpoojari/from-work-life-to-mca-why-i-chose-to-return-to-learning-l08</guid>
      <description>&lt;p&gt;🧭 When I first stepped into the professional world, I was filled with curiosity and ambition — eager to work, learn, and grow.&lt;/p&gt;

&lt;p&gt;While the role I joined didn’t match the initial expectations in terms of coding or development, it offered something just as powerful: &lt;strong&gt;real-world exposure&lt;/strong&gt; to how things actually work.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ Key Learnings from the Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🏢 Corporate Operations &amp;amp; Culture
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Gained insight into how various processes — from requirement analysis and development to QA, documentation, delivery, dispatch, and handling of Change Requests (CRs) — come together to complete and maintain the product lifecycle
&lt;/li&gt;
&lt;li&gt;Learned to work with multiple sub-products under a single deliverable, ensuring smooth coordination even as new logic, documents, or changes were introduced during development
&lt;/li&gt;
&lt;li&gt;Discovered the true value of &lt;strong&gt;Excel&lt;/strong&gt; in daily workflows — from simple representations to reporting and tracking
&lt;/li&gt;
&lt;li&gt;Understood how work flows across teams, how responsibilities are assigned, and why it’s essential to define ownership clearly
&lt;/li&gt;
&lt;li&gt;Saw firsthand how client requirements are translated into production-ready deliverables
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧠 Communication, Tools &amp;amp; Smart Work
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Learned that &lt;strong&gt;networking and strong connections&lt;/strong&gt; often make work smoother and more efficient
&lt;/li&gt;
&lt;li&gt;Recognized that &lt;strong&gt;automation matters&lt;/strong&gt; — and that sometimes building internal tools to make your job easier is more impactful than seeking external validation
&lt;/li&gt;
&lt;li&gt;Saw that real contribution comes from thinking through the &lt;strong&gt;entire lifecycle of a task&lt;/strong&gt; — understanding who manages it, who executes it, and how it can scale
&lt;/li&gt;
&lt;li&gt;Developed a strong appreciation for clear communication, well-written emails, and detailed documentation
&lt;/li&gt;
&lt;li&gt;Understood the importance of &lt;strong&gt;Standard Operating Procedures (SOPs)&lt;/strong&gt; for process consistency and clarity
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧩 Soft Skills &amp;amp; Personal Growth
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Realized how important &lt;strong&gt;healthy boundaries&lt;/strong&gt; are — no overworking, no staying late without reason
&lt;/li&gt;
&lt;li&gt;Learned that &lt;strong&gt;mental and physical health come first&lt;/strong&gt;, and how to protect them in high-pressure environments
&lt;/li&gt;
&lt;li&gt;Understood the difference between &lt;strong&gt;taking initiative&lt;/strong&gt; and being loaded with responsibilities outside your scope
&lt;/li&gt;
&lt;li&gt;Gained awareness of &lt;strong&gt;team dynamics&lt;/strong&gt;, internal politics, and how to communicate thoughtfully
&lt;/li&gt;
&lt;li&gt;Became familiar with different employment structures — from FTC and contract roles to permanent positions
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎓 Why I Chose to Pursue MCA
&lt;/h2&gt;

&lt;p&gt;While I hadn’t planned for higher studies originally, my time in the field made it clear:&lt;br&gt;&lt;br&gt;
👉 &lt;strong&gt;There’s still so much more to learn.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whether it’s about software architecture, scalable systems, or technical leadership — I want to build the skills that allow me not just to &lt;em&gt;do&lt;/em&gt; the work, but to &lt;strong&gt;improve how it’s done&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That clarity led me to pursue a &lt;strong&gt;Master of Computer Applications (MCA)&lt;/strong&gt;.&lt;/p&gt;




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

&lt;p&gt;Not every job teaches you what you expect — some teach you &lt;strong&gt;what truly matters&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Grateful to the colleagues who helped me grow, the messy workflows that sharpened my thinking, and the path that reminded me that learning never ends.&lt;/p&gt;

&lt;p&gt;On to the next chapter: &lt;strong&gt;MCA and beyond. 🚀&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Have you ever made a leap because of what a job &lt;em&gt;didn’t&lt;/em&gt; offer? Sometimes that’s what pushes us in the right direction.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>learning</category>
      <category>workplace</category>
      <category>documentation</category>
    </item>
    <item>
      <title>🎨 UI Polish &amp; SEO Boost for My Friend’s Website — A Collaborative Refresh</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Sun, 29 Jun 2025 05:12:12 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/ui-polish-seo-boost-for-my-friends-website-a-collaborative-refresh-46do</link>
      <guid>https://dev.to/jitheshpoojari/ui-polish-seo-boost-for-my-friends-website-a-collaborative-refresh-46do</guid>
      <description>&lt;p&gt;🚀 Just wrapped up a &lt;strong&gt;UI and SEO revamp&lt;/strong&gt; for a clean, functional website originally built by my friend &lt;strong&gt;&lt;a href="https://mayurapatkar.github.io/" rel="noopener noreferrer"&gt;Mayura Patkar&lt;/a&gt;&lt;/strong&gt; — &lt;a href="https://shreshtsystems.com/" rel="noopener noreferrer"&gt;shreshtsystems.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;He had created the initial site with great structure and purpose. I stepped in to elevate the experience further using modern frontend best practices.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ What I Contributed
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🎨 UI / UX Enhancements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Improved spacing, alignment, and overall layout consistency&lt;/li&gt;
&lt;li&gt;Made oversized images responsive and optimized for performance&lt;/li&gt;
&lt;li&gt;Enriched content in various sections like &lt;strong&gt;Services&lt;/strong&gt;, &lt;strong&gt;Features&lt;/strong&gt;, and &lt;strong&gt;Appliances&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🗂️ Project Page Revamp
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Previously, the Projects page had no actual content&lt;/li&gt;
&lt;li&gt;I added detailed project cards with:

&lt;ul&gt;
&lt;li&gt;✅ Titles and descriptions&lt;/li&gt;
&lt;li&gt;🖼️ Images&lt;/li&gt;
&lt;li&gt;📍 Locations with working map links&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔍 SEO &amp;amp; Structural Improvements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;sitemap.xml&lt;/code&gt; for search engine indexing&lt;/li&gt;
&lt;li&gt;Created &lt;code&gt;robots.txt&lt;/code&gt; to guide search engine bots&lt;/li&gt;
&lt;li&gt;Refined heading hierarchy and image &lt;code&gt;alt&lt;/code&gt; text for accessibility and better crawlability&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤝 Collaboration Outcome
&lt;/h2&gt;

&lt;p&gt;Both pull requests were merged, and all changes are now live on the production site.&lt;br&gt;&lt;br&gt;
Big shoutout to &lt;strong&gt;&lt;a href="https://mayurapatkar.github.io/" rel="noopener noreferrer"&gt;Mayura&lt;/a&gt;&lt;/strong&gt; for being open to improvements and merging the updates smoothly.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Check it out
&lt;/h2&gt;

&lt;p&gt;👉 &lt;a href="https://shreshtsystems.com/" rel="noopener noreferrer"&gt;shreshtsystems.com&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🧩 Stack Used
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;HTML + Tailwind CSS&lt;/li&gt;
&lt;li&gt;GitHub PR workflow&lt;/li&gt;
&lt;li&gt;SEO fundamentals (sitemap, robots.txt, metadata, semantic tags)&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Sometimes a fresh set of eyes and a little polish can take a good website to the next level.&lt;br&gt;&lt;br&gt;
It was a fulfilling collaboration that mixed both &lt;strong&gt;design discipline&lt;/strong&gt; and &lt;strong&gt;technical SEO awareness&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Have you ever revisited an old project or contributed to a friend’s site? It’s incredibly rewarding to leave things better than you found them. 🙌&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>website</category>
      <category>frontend</category>
      <category>ui</category>
    </item>
    <item>
      <title>🔡From Clumsy Keys to Confident Streaks — My Touch Typing Journey</title>
      <dc:creator>Jithesh</dc:creator>
      <pubDate>Thu, 24 Apr 2025 16:51:57 +0000</pubDate>
      <link>https://dev.to/jitheshpoojari/from-clumsy-keys-to-confident-streaks-my-touch-typing-journey-74h</link>
      <guid>https://dev.to/jitheshpoojari/from-clumsy-keys-to-confident-streaks-my-touch-typing-journey-74h</guid>
      <description>&lt;p&gt;📎 Check out my Keybr profile: &lt;a href="https://www.keybr.com/profile/l2xursz" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;August 22, 2024&lt;/strong&gt;, I began a challenge to teach myself &lt;strong&gt;touch typing&lt;/strong&gt;—typing without looking at the keyboard.&lt;br&gt;&lt;br&gt;
I started with just lowercase alphabets, using &lt;strong&gt;Keybr&lt;/strong&gt; to build muscle memory from the ground up.&lt;/p&gt;

&lt;p&gt;I chose Keybr because of its intelligent progression system—it introduces new characters &lt;em&gt;only after&lt;/em&gt; you've consistently mastered the current ones. That structure helped me &lt;strong&gt;focus on accuracy first&lt;/strong&gt;, and let speed follow.&lt;/p&gt;




&lt;p&gt;📉 &lt;strong&gt;My starting point:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Speed: &lt;code&gt;&amp;lt;15 WPM&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Accuracy: &lt;code&gt;&amp;lt;50%&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;⏩ &lt;strong&gt;After just over 52 hours of practice:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⏱️ &lt;strong&gt;Time Spent&lt;/strong&gt;: &lt;code&gt;52:02:27&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;Lessons Completed&lt;/strong&gt;: &lt;code&gt;4,622&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;Top Speed&lt;/strong&gt;: &lt;code&gt;59.9 WPM&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Average Speed&lt;/strong&gt;: &lt;code&gt;36.3 WPM&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Top Accuracy&lt;/strong&gt;: &lt;code&gt;100%&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;📈 &lt;strong&gt;Average Accuracy&lt;/strong&gt;: &lt;code&gt;95.22%&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;✨ &lt;strong&gt;Today’s Session:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time: &lt;code&gt;31 minutes&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Avg Speed: &lt;code&gt;43.8 WPM&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Avg Accuracy: &lt;code&gt;96.04%&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Top Speed: &lt;code&gt;59.9 WPM&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Now, I’m transitioning to &lt;strong&gt;MonkeyType&lt;/strong&gt;—not just to level up my skillset, but also to keep myself motivated with:&lt;/p&gt;

&lt;p&gt;🔁 &lt;strong&gt;XP system&lt;/strong&gt; – to track consistent progress&lt;br&gt;&lt;br&gt;
🏆 &lt;strong&gt;Leaderboards&lt;/strong&gt; – for that extra push to improve&lt;br&gt;&lt;br&gt;
🛠️ &lt;strong&gt;More practice modes&lt;/strong&gt; – to sharpen both speed and accuracy&lt;br&gt;&lt;br&gt;
⚙️ &lt;strong&gt;Advanced settings&lt;/strong&gt; – to personalize the experience as I grow&lt;/p&gt;

&lt;p&gt;I haven’t yet started training on &lt;strong&gt;capital letters, numbers, or special characters&lt;/strong&gt;, but that’s next on the horizon.&lt;br&gt;&lt;br&gt;
Still deciding whether to stick with MonkeyType or revisit Keybr for those. Either way, the path forward is clear.&lt;/p&gt;




&lt;p&gt;💡 &lt;strong&gt;What I’ve learned:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Progress is slow at first, but it &lt;strong&gt;compounds&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accuracy builds confidence&lt;/strong&gt;, and confidence builds speed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Discipline &amp;gt; motivation&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;This may seem like a niche skill, but it's been a great reminder that &lt;strong&gt;practice really can make anything possible&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🧠 &lt;em&gt;What skill are you working on quietly every day?&lt;/em&gt;&lt;br&gt;&lt;br&gt;
Let’s normalize showing up consistently and being proud of the process.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>community</category>
    </item>
  </channel>
</rss>
