<?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: Zülal Nebin</title>
    <description>The latest articles on DEV Community by Zülal Nebin (@zulalnb).</description>
    <link>https://dev.to/zulalnb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1033544%2F19bd1d10-159a-4a3e-81ab-dfe8acb623e3.jpeg</url>
      <title>DEV Community: Zülal Nebin</title>
      <link>https://dev.to/zulalnb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zulalnb"/>
    <language>en</language>
    <item>
      <title>CodePen: Hydra VR Landing Page</title>
      <dc:creator>Zülal Nebin</dc:creator>
      <pubDate>Sat, 05 Sep 2026 09:48:10 +0000</pubDate>
      <link>https://dev.to/zulalnb/codepen-hydra-vr-landing-page-4fbe</link>
      <guid>https://dev.to/zulalnb/codepen-hydra-vr-landing-page-4fbe</guid>
      <description>&lt;p&gt;A responsive landing page for a fictional VR studio, built as a front-end exercise. No build step: plain HTML, one stylesheet, one script.&lt;/p&gt;

&lt;p&gt;Stack&lt;/p&gt;

&lt;p&gt;Tailwind CSS v4 via the browser CDN, with a small custom theme (&lt;a class="mentioned-user" href="https://dev.to/theme"&gt;@theme&lt;/a&gt;) for the colour palette and typography Motion (motion.dev) for entrance and scroll-triggered animations Swiper for the carousels Things I enjoyed building&lt;/p&gt;

&lt;p&gt;Sliders that stop being sliders. Each carousel runs only below its own breakpoint; above it the Swiper instance is destroyed and the same markup falls back to a plain CSS grid. One matchMedia helper drives all four. Scroll reveals. Elements are marked with data attributes and grouped by container - one group plays on load, the rest wait for inView, each staggering its children in document order. SVG line drawing. The decorative arcs draw themselves using Motion's pathLength; the hero curves grow outwards from their own midpoints by animating pathLength and pathOffset together. Animated gradient text — a highlight layer sweeps across the headline while the base gradient stays put. Floating form labels driven purely by :placeholder-shown, no JavaScript. Every animation is disabled under prefers-reduced-motion, and the decorative SVGs are hidden from assistive tech.&lt;/p&gt;

&lt;p&gt;Design inspired by &lt;a href="https://www.figma.com/community/file/1196146735025729739" rel="noopener noreferrer"&gt;https://www.figma.com/community/file/1196146735025729739&lt;/a&gt; - the layout is theirs, the implementation is mine.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/editor/zulalnb/embed/019fa4cd-76c6-7511-be41-d02110556605?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>svganimation</category>
      <category>tailwindcss</category>
      <category>javascript</category>
    </item>
    <item>
      <title>CodePen: CryptoCap Landing Page</title>
      <dc:creator>Zülal Nebin</dc:creator>
      <pubDate>Sat, 05 Sep 2026 06:24:12 +0000</pubDate>
      <link>https://dev.to/zulalnb/codepen-cryptocap-landing-page-59ha</link>
      <guid>https://dev.to/zulalnb/codepen-cryptocap-landing-page-59ha</guid>
      <description>&lt;p&gt;Crypto landing page with a sleek dark/light mode toggle, stylish Chart.js market graph, and smooth scroll animations using sal.js. Built with Tailwind CSS for a pixel-perfect, fully responsive design.&lt;/p&gt;

&lt;p&gt;Design inspired by: &lt;a href="https://www.figma.com/community/file/1047142300578798855/cryptocurrency-landing-page-dark-mode" rel="noopener noreferrer"&gt;https://www.figma.com/community/file/1047142300578798855/cryptocurrency-landing-page-dark-mode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/zulalnb/embed/EaYjMZL?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>chartjs</category>
      <category>javascript</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>CodePen: Responsive Dark Analytics Dashboard</title>
      <dc:creator>Zülal Nebin</dc:creator>
      <pubDate>Sat, 05 Sep 2026 05:30:23 +0000</pubDate>
      <link>https://dev.to/zulalnb/responsive-dark-analytics-dashboard-54n2</link>
      <guid>https://dev.to/zulalnb/responsive-dark-analytics-dashboard-54n2</guid>
      <description>&lt;p&gt;A dark-theme analytics dashboard built without any framework - just semantic HTML, SCSS and plain JavaScript.&lt;/p&gt;

&lt;p&gt;What's in it&lt;/p&gt;

&lt;p&gt;Sidebar - the shadcn/ui sidebar mechanics (gap + fixed-container trick, offcanvas collapse, inset variant, mobile drawer) reimplemented in pure CSS with a small DOM/event state layer instead of React context. Collapses to a drawer below 768px.&lt;/p&gt;

&lt;p&gt;Charts - Chart.js 4: a multi-ring radial chart, a stacked bar chart and a half-circle gauge. The center values are DOM elements sized in cqw, so they scale with their container instead of being baked into the canvas.&lt;/p&gt;

&lt;p&gt;Animated stats - countUp.js drives every figure. Each value's final width is reserved before the animation starts, so counting up from zero never pushes neighbouring badges or legends around, and prefers-reduced-motion is respected.&lt;/p&gt;


&lt;p&gt;Orders table - a real &lt;/p&gt; with custom-styled checkboxes, a working select-all (including the indeterminate state), status badges, zebra rows and horizontal scrolling on narrow screens.
&lt;p&gt;Under the hood - BEM naming, SCSS design tokens (color scale, shadows, typography mixins in rem with unitless line-heights) and container queries for the responsive grids.&lt;/p&gt;
&lt;p&gt;Design inspiration: &lt;a href="https://www.figma.com/community/file/1325597018063319916" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://www.figma.com/community/file/1325597018063319916" rel="noopener noreferrer"&gt;https://www.figma.com/community/file/1325597018063319916&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;iframe&gt;
  height="600"&lt;br&gt;
  src="https://codepen.io/zulalnb/embed/KwaRmPb?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&lt;br&gt;
  scrolling="no"&lt;br&gt;
  frameborder="no"&lt;br&gt;
  allowtransparency="true"&lt;br&gt;
  loading="lazy"&lt;br&gt;
  style="width: 100%;"&amp;gt;&lt;br&gt;
&lt;/iframe&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;


&lt;/table&gt;&lt;/div&gt;

</description>
      <category>codepen</category>
      <category>sidebar</category>
      <category>dashboard</category>
      <category>bem</category>
    </item>
  </channel>
</rss>
