<?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: Bartek Bąk</title>
    <description>The latest articles on DEV Community by Bartek Bąk (@bartek_).</description>
    <link>https://dev.to/bartek_</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%2F3686552%2F06ef75f3-f763-4c43-bb18-87a8888be59d.png</url>
      <title>DEV Community: Bartek Bąk</title>
      <link>https://dev.to/bartek_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bartek_"/>
    <language>en</language>
    <item>
      <title>A copy-paste React Carousel from my product UI (styled-components). Full source included, no package required</title>
      <dc:creator>Bartek Bąk</dc:creator>
      <pubDate>Sat, 14 Feb 2026 16:02:02 +0000</pubDate>
      <link>https://dev.to/bartek_/a-copy-paste-react-carousel-from-my-product-ui-styled-components-full-source-included-no-1172</link>
      <guid>https://dev.to/bartek_/a-copy-paste-react-carousel-from-my-product-ui-styled-components-full-source-included-no-1172</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgk9q8eizqulxerzwbn9t.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%2Fgk9q8eizqulxerzwbn9t.png" alt=" " width="800" height="486"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  I’m publishing copy-paste React components from my product — here’s a Carousel (full source included)
&lt;/h1&gt;

&lt;p&gt;I’m building &lt;strong&gt;Zafiro&lt;/strong&gt;, and I’m starting to publish parts of the UI I use in the product as &lt;strong&gt;copy-paste components&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Open a page → copy the full source → paste into your project → tweak it however you want.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Demo + full source code (copy/paste):&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://playzafiro.com/ui/components/carousel/" rel="noopener noreferrer"&gt;https://playzafiro.com/ui/components/carousel/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What you can copy
&lt;/h2&gt;

&lt;p&gt;The page includes everything needed to drop the component into a real codebase:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React component source&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;styled-components&lt;/code&gt; styles&lt;/li&gt;
&lt;li&gt;an example items file (so you instantly see the expected data shape)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the Carousel does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;tile-based carousel / picker layout (worlds/templates/projects style)&lt;/li&gt;
&lt;li&gt;background crossfade (image/video) on hover/focus&lt;/li&gt;
&lt;li&gt;keyboard arrow navigation when focused/active&lt;/li&gt;
&lt;li&gt;easy theming via props + CSS variables&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  60-second workflow
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open the link above&lt;/li&gt;
&lt;li&gt;Copy the full source files from the page&lt;/li&gt;
&lt;li&gt;Paste into your project and replace the example items with your own&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Notes
&lt;/h2&gt;

&lt;p&gt;The live demo uses real destinations, so clicking a tile performs navigation.&lt;br&gt;&lt;br&gt;
If you want a “stay on page” demo mode, open links in a new tab or intercept navigation in your app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback welcome
&lt;/h2&gt;

&lt;p&gt;If you try it, I’d love feedback specifically on the &lt;strong&gt;copy-paste workflow&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;file structure (what should be included by default)&lt;/li&gt;
&lt;li&gt;naming and defaults (what’s confusing / what’s missing)&lt;/li&gt;
&lt;li&gt;accessibility (focus behavior, keyboard pattern, ARIA suggestions)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Demo + full source again:&lt;br&gt;&lt;br&gt;
&lt;a href="https://playzafiro.com/ui/components/carousel/" rel="noopener noreferrer"&gt;https://playzafiro.com/ui/components/carousel/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>ui</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Isle Lab: a relaxing 3D terrain builder in the browser</title>
      <dc:creator>Bartek Bąk</dc:creator>
      <pubDate>Tue, 30 Dec 2025 19:38:13 +0000</pubDate>
      <link>https://dev.to/bartek_/isle-lab-a-relaxing-3d-island-builder-in-the-browser-55f3</link>
      <guid>https://dev.to/bartek_/isle-lab-a-relaxing-3d-island-builder-in-the-browser-55f3</guid>
      <description>&lt;p&gt;I’m building &lt;strong&gt;Isle Lab&lt;/strong&gt; — a relaxing, painterly 3D terrain builder that runs directly in the browser.&lt;/p&gt;

&lt;p&gt;It’s &lt;strong&gt;part of Zafiro&lt;/strong&gt;, my custom WebGL/three.js-based engine that I’ve been developing to make small worlds feel atmospheric and quick to iterate.&lt;/p&gt;

&lt;p&gt;Demo: &lt;a href="https://playzafiro.com/isle-lab" rel="noopener noreferrer"&gt;https://playzafiro.com/isle-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What you do in the first minute:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pick a starter island template&lt;/li&gt;
&lt;li&gt;customize the scene (props/layout) and set the mood (day/night presets)&lt;/li&gt;
&lt;li&gt;save your island locally and come back later&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What’s new in this update:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;customizable islands (templates → your own variations)&lt;/li&gt;
&lt;li&gt;a guided onboarding flow so you can get to your first island quickly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you try it, I’d really appreciate a quick reaction:&lt;br&gt;
1) Does it feel relaxing, or more like a “tool”?&lt;br&gt;
2) Is it obvious what to do without thinking too much?&lt;br&gt;
3) Any performance issues on your device/browser?&lt;/p&gt;

&lt;p&gt;Even 1–2 sentences of feedback helps a lot. Thanks!&lt;/p&gt;

</description>
      <category>threejs</category>
      <category>showdev</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
