<?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: Yaroslav Solovev</title>
    <description>The latest articles on DEV Community by Yaroslav Solovev (@soloiaros).</description>
    <link>https://dev.to/soloiaros</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%2F3558944%2F48094517-9dbe-4da7-85d5-14eae86dc1d9.png</url>
      <title>DEV Community: Yaroslav Solovev</title>
      <link>https://dev.to/soloiaros</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/soloiaros"/>
    <language>en</language>
    <item>
      <title>🪿 Building My Interactive Cozy Portfolio - Devlog</title>
      <dc:creator>Yaroslav Solovev</dc:creator>
      <pubDate>Sun, 26 Apr 2026 20:28:13 +0000</pubDate>
      <link>https://dev.to/soloiaros/building-my-interactive-cozy-portfolio-devlog-4nia</link>
      <guid>https://dev.to/soloiaros/building-my-interactive-cozy-portfolio-devlog-4nia</guid>
      <description>&lt;p&gt;For the past few days, apart from pacing further along my React studies, I started working on my personal portfolio website! It's been a thing I wanted to make for a while, but that I always thought I didn't have sufficient skills and experience for. Turns out I do!&lt;/p&gt;

&lt;p&gt;I started from creating a board of inspirations and mapping out how I even want to structure the site. Since it's my first time creating something like this, it took some time, and I still definitely think there is a lot of stuff to be added in the future.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwtx8yi14nbx1fxzop62.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%2Fvwtx8yi14nbx1fxzop62.png" alt=" " width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first section that I ended up implementing (and the only one I made so far) is this interactive 3D scene with some of my favorite hand-picked quotes layered on top. I want the site to be full of easter eggs and cool playful experiences, so by clicking on the grass field you can spawn geese that will follow your cursor and absolutely warp all text around them :D&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxa54nsmnv1owc214gvi.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%2Fnxa54nsmnv1owc214gvi.png" alt=" " width="720" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I gotta point out that I NEVER worked with 3D on the Web before. It took a lot of time to get everything working (and some help from my buddy Gemini CLI too), but I'm really happy to have applied all the knowledge I got from my React lessons here.&lt;/p&gt;

&lt;p&gt;The current version is deployed here - &lt;a href="https://yaroslav-solo-geese.vercel.app/" rel="noopener noreferrer"&gt;https://yaroslav-solo-geese.vercel.app/&lt;/a&gt;&lt;br&gt;
(at it will keep getting updated almost daily)&lt;br&gt;
And the repo is here - &lt;a href="https://github.com/soloiaros/geese" rel="noopener noreferrer"&gt;https://github.com/soloiaros/geese&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Will keep moving forward! See you in the future updates 😜&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>threejs</category>
      <category>portfolio</category>
    </item>
    <item>
      <title>Discovering pretext in a fun way</title>
      <dc:creator>Yaroslav Solovev</dc:creator>
      <pubDate>Thu, 23 Apr 2026 19:59:15 +0000</pubDate>
      <link>https://dev.to/soloiaros/discovering-the-pretext-in-a-fun-way-20h5</link>
      <guid>https://dev.to/soloiaros/discovering-the-pretext-in-a-fun-way-20h5</guid>
      <description>&lt;p&gt;This is day 110 of my web dev diary, and today I decided to try something that I've been getting more and more interested in during the past few weeks - the brand new &lt;strong&gt;pretext&lt;/strong&gt; npm module that lets you dynamically update text layouts using HTML's Canvas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fadnocfgsig1m1m2x5eyh.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%2Fadnocfgsig1m1m2x5eyh.png" alt=" " width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I built this (pretty simple) demo where a goose follows your cursor wherever you move it. Was a very rewarding and fun experience (and also my first encounter with Google's Jules to help out with using the Three.js library which I'm still not that familiar with).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgu01zw003l1o6s5gi8hs.gif" 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%2Fgu01zw003l1o6s5gi8hs.gif" alt=" " width="600" height="497"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;(the part that have eaten quite a chunk of my time was the goose's rig animation in Blender, which is the first time I ever opened Blender or had any experience with animating a 3D model)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I want to make it a bit more visually appealing and maybe place some of my favorite book quotes in place of the dummy lorem ipsum, but this is the job for the next day. Overall, really happy with what I've achieved and learned so far!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>devjournal</category>
      <category>frontend</category>
    </item>
    <item>
      <title>My First React Project!</title>
      <dc:creator>Yaroslav Solovev</dc:creator>
      <pubDate>Wed, 22 Apr 2026 20:11:01 +0000</pubDate>
      <link>https://dev.to/soloiaros/my-first-react-project-2pj0</link>
      <guid>https://dev.to/soloiaros/my-first-react-project-2pj0</guid>
      <description>&lt;p&gt;Had so much fun with this one - and also a lot of mental gymnastics regarding the component hierarchy. Feel really well about the result though (maybe except for the styling, didn't want to spend more time than it's reasonable in a project focused on React app architecture).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frowopbcxcx29og09uzsj.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%2Frowopbcxcx29og09uzsj.png" alt=" " width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also added an ability to export the resulting CV to PDF, so the project can actually be useful. I used with html2pdf.js for it, which required digging a bit deeper into how components can utilize asynchronous features. Was totally worth it though, I feel like by implementing this feature I just reinforced the core principles of passing state through the application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdphfq8th71m4na3cfaql.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%2Fdphfq8th71m4na3cfaql.png" alt=" " width="794" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Oh, and it also was my first Vercel deployment experience, which went unexpectedly quick and smooth (though I had to learn a lesson on differenced between file naming conventions on Mac and Linux,  and do some manual component renaming work in the terminal).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxmtjtu6j5u0bhupqe2w.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%2Fnxmtjtu6j5u0bhupqe2w.png" alt=" " width="730" height="868"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can check it out live - &lt;a href="https://cv-builder-lyart-pi.vercel.app/" rel="noopener noreferrer"&gt;https://cv-builder-lyart-pi.vercel.app/&lt;/a&gt;&lt;br&gt;
As well as in a repo - &lt;a href="https://github.com/soloiaros/cv-builder-react" rel="noopener noreferrer"&gt;https://github.com/soloiaros/cv-builder-react&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>devjournal</category>
      <category>react</category>
    </item>
    <item>
      <title>Day 109 of my Web Dev Diary - First React Project</title>
      <dc:creator>Yaroslav Solovev</dc:creator>
      <pubDate>Tue, 21 Apr 2026 19:33:55 +0000</pubDate>
      <link>https://dev.to/soloiaros/day-109-of-my-web-dev-diary-first-react-project-1a58</link>
      <guid>https://dev.to/soloiaros/day-109-of-my-web-dev-diary-first-react-project-1a58</guid>
      <description>&lt;p&gt;Spent 6+ hours working on my mini Resume Builder project in React. Took sooooo much mental gymnastics, but I'm super happy with how I ended up structuring all the components, the end result looks super clean and is as scalable as it gets. Considering it is my first experience making any kind of project using React, I think it's going pretty good (I even added some extra features along the way, like applying dufferent styles to the resulting document.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pb6hzqzmw91i4ymr4oi.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%2F9pb6hzqzmw91i4ymr4oi.png" alt=" " width="800" height="497"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tomorrow I'm planning on adding export to PDF, and wrapping up the project after some polish, since it's already been a huge learning opportunity, and I can't wait to extend my knowledge further.&lt;/p&gt;

&lt;p&gt;See you tomorrow! 👋&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>showdev</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>My web dev diary - day 108</title>
      <dc:creator>Yaroslav Solovev</dc:creator>
      <pubDate>Mon, 20 Apr 2026 18:23:17 +0000</pubDate>
      <link>https://dev.to/soloiaros/my-web-dev-diary-day-108-2lhm</link>
      <guid>https://dev.to/soloiaros/my-web-dev-diary-day-108-2lhm</guid>
      <description>&lt;p&gt;The main goal for the day was to finish the module on core React State concepts (like single source of truth principle, scoping state, and other stuff), and to start building my first mini React project!&lt;/p&gt;

&lt;p&gt;The project is a simple CV builder tool that lets you edit everything, pick a style, and then export it to PDF. I bullied my fear of blank page to death many projects ago, so after some sketching and planning I started right away with building the directory hierarchy and the core components&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx74c2pybmfxs4177vsy7.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%2Fx74c2pybmfxs4177vsy7.png" alt=" " width="392" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The file structure I came up with so far&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's a completely new paradigm compared to building stuff in vanilla JS, so obviously I'm still getting used to utilizing all those concepts to my advantage. Nevertheless, will keep updating and learning in public.&lt;/p&gt;

&lt;p&gt;Here's the directory so far, though it's nothing more than some components glued and taped together for now - &lt;a href="https://github.com/soloiaros/cv-builder-react" rel="noopener noreferrer"&gt;https://github.com/soloiaros/cv-builder-react&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have any advice, I would absolutely love to hear it! I'm only starting with React, so any piece of guidance from someone more skilled is just invaluable.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devjournal</category>
      <category>react</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>My first daily update here - moving on with day 107</title>
      <dc:creator>Yaroslav Solovev</dc:creator>
      <pubDate>Sun, 19 Apr 2026 20:45:46 +0000</pubDate>
      <link>https://dev.to/soloiaros/my-first-daily-update-here-moving-on-with-day-107-5cpo</link>
      <guid>https://dev.to/soloiaros/my-first-daily-update-here-moving-on-with-day-107-5cpo</guid>
      <description>&lt;p&gt;I have a long-running series of daily web dev diary on LinkedIn, but I decided to move it to a more developer-related community, so here is how my day of learning went!&lt;/p&gt;

&lt;p&gt;I'm continuing to dive deeper into React, and today I studied State and the best practices when working with it, as well as some stuff to avoid. Mainly explored the state structures and the entire 'State as a Snapshot' concept and where it really stems from. Definitely can tell that I understand much more about the way React handles rendering. &lt;/p&gt;

&lt;p&gt;The majority of my practice came from the React Docs themselves - I'm simply in love with the way they're written, and the challenges provided in the end of each section are just golden.&lt;/p&gt;

&lt;p&gt;Will keep updating daily! I've found that this series helps a ton with showing up every day, and that alongside it I've come a really big way from where I was at the time I started it.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>webdev</category>
      <category>react</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
