<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Frontend Playground | 김미소의 포트폴리오</title><link>https://misosos.github.io/en/playground/frontend-playground/</link><atom:link href="https://misosos.github.io/en/playground/frontend-playground/index.xml" rel="self" type="application/rss+xml"/><description>Frontend Playground</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 09 Oct 2025 00:00:00 +0000</lastBuildDate><image><url>https://misosos.github.io/media/sharing.png</url><title>Frontend Playground</title><link>https://misosos.github.io/en/playground/frontend-playground/</link></image><item><title>Motion Gallery</title><link>https://misosos.github.io/en/playground/frontend-playground/motion-gallery/</link><pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate><guid>https://misosos.github.io/en/playground/frontend-playground/motion-gallery/</guid><description>&lt;p&gt;I wanted to see firsthand how much impact animation has on user experience, so I created a collection of interaction experiments using the Framer Motion library and TailwindCSS.&lt;/p&gt;
&lt;p&gt;I explored various ways components could appear, disappear, or respond to mouse hover in ways that feel the most natural and enjoyable. By combining properties like &lt;code&gt;whileHover&lt;/code&gt; and &lt;code&gt;whileTap&lt;/code&gt;, I made the cards move rhythmically as if they were alive, and through &lt;code&gt;variants&lt;/code&gt;, I experimented with smooth fade, slide, and scale transitions between components.&lt;/p&gt;
&lt;p&gt;Through these experiments, I realized that animation is not merely a visual element but a powerful tool that guides user attention and enhances engagement with content. Styling quickly with TailwindCSS while adding dynamic elements using Framer Motion was an enjoyable learning experience in itself.&lt;/p&gt;</description></item><item><title>Glassmorphism Test</title><link>https://misosos.github.io/en/playground/frontend-playground/glassmorphism-test/</link><pubDate>Wed, 08 Oct 2025 00:00:00 +0000</pubDate><guid>https://misosos.github.io/en/playground/frontend-playground/glassmorphism-test/</guid><description>&lt;p&gt;I was curious about how the latest UI trend, Glassmorphism, is implemented, so I experimented with creating it using only TailwindCSS.&lt;/p&gt;
&lt;p&gt;Instead of writing separate CSS code, I combined TailwindCSS utility classes such as &lt;code&gt;backdrop-filter&lt;/code&gt; and &lt;code&gt;blur&lt;/code&gt;, observing the visual changes in real time. By slightly adjusting the transparency and border thickness, I explored how to achieve the most natural glass-like depth that seems to float above the background.&lt;/p&gt;
&lt;p&gt;I also added a simple hover animation to test how the design would feel when interactivity is introduced. Through this small experiment, I once again confirmed that even complex-looking UI designs can be built quickly and intuitively using only utility-based approaches.&lt;/p&gt;</description></item><item><title>Parallax Scroll Experiment</title><link>https://misosos.github.io/en/playground/frontend-playground/parallax-scroll/</link><pubDate>Tue, 07 Oct 2025 00:00:00 +0000</pubDate><guid>https://misosos.github.io/en/playground/frontend-playground/parallax-scroll/</guid><description>&lt;p&gt;I was curious about how scrolling alone could bring depth and liveliness to a website, so I experimented with creating a parallax effect using only Vanilla JavaScript and CSS.&lt;/p&gt;
&lt;p&gt;First, I retrieved the scroll position (&lt;code&gt;scrollY&lt;/code&gt;) and adjusted the &lt;code&gt;transform: translateY()&lt;/code&gt; values of background, middle, and foreground image layers at different rates. Observing how the sense of depth changed with varying speeds between layers was an interesting process.&lt;/p&gt;
&lt;p&gt;I learned that relying solely on the scroll event can make animations appear choppy, so I improved it by using &lt;code&gt;requestAnimationFrame&lt;/code&gt; to synchronize with the browser’s rendering cycle for smoother movement. I also explored performance optimization techniques such as using &lt;code&gt;IntersectionObserver&lt;/code&gt; to trigger animations only when visible and applying the &lt;code&gt;translateZ(0)&lt;/code&gt; trick to enable GPU acceleration.&lt;/p&gt;
&lt;p&gt;Through this experiment, I was able to experience firsthand the fundamental principles of scroll-based animation and the importance of performance optimization.&lt;/p&gt;</description></item><item><title>Responsive Grid Layout</title><link>https://misosos.github.io/en/playground/frontend-playground/responsive-grid/</link><pubDate>Mon, 06 Oct 2025 00:00:00 +0000</pubDate><guid>https://misosos.github.io/en/playground/frontend-playground/responsive-grid/</guid><description>&lt;p&gt;This experiment began from a question: how can we create a responsive grid layout for websites more efficiently?&lt;/p&gt;
&lt;p&gt;At first, I approached it by manually specifying the number of columns at each breakpoint using TailwindCSS utilities like &lt;code&gt;grid-cols-2&lt;/code&gt; and &lt;code&gt;md:grid-cols-3&lt;/code&gt;. However, while looking for a more flexible method, I discovered the pure CSS Grid property &lt;code&gt;repeat(auto-fit, minmax())&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;By applying this property, I found that the number of columns automatically adjusted according to the screen width while maintaining a minimum item size. It eliminated the need to define breakpoints one by one, making the code much simpler, and the layout aligned naturally across various screen sizes from mobile to desktop. I also experimented with Tailwind’s &lt;code&gt;gap&lt;/code&gt; utility to consistently maintain spacing between items.&lt;/p&gt;
&lt;p&gt;Through this experiment, I realized how flexible and efficient layouts can be when combining the convenience of TailwindCSS with the power of pure CSS Grid.&lt;/p&gt;</description></item></channel></rss>