Time Spender v1
What I Built Time Spender v1 is the ultimate productivity anti‑tool. It is a web application designed with a single, highly optimized purpose: to waste exactly...
What I Built Time Spender v1 is the ultimate productivity anti‑tool. It is a web application designed with a single, highly optimized purpose: to waste exactly...
React made building user interfaces easier than ever. Components, hooks, state management, and reusable logic let developers move fast and build powerful applic...
Source Code: Play Ziply Live: Whenever we start a new web project today, the immediate reflex is to run npx create-react-app or spin up a Next.js boilerplate. B...
Overview I created my own web OS from scratch as part of a 14‑day challenge. You can try it out at . Source code - Repository: - Features list: Demo: Doom Yes,...
Building a One‑File Landing‑Page UI Library I was building my tenth landing page this year. Same routine: open a new project, copy the button styles from the l...
When most developers think about frontend development, they imagine components, UI elements, and responsive layouts. What we rarely acknowledge is that every mo...
!Cover image for Email as an App: How I Built a High-Conversion Interfacehttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format...
I have been using Tailwind CSS for about 2 years now on every project. After a lot of trial and error, I settled on a setup that works well for building client...
Refactoring an institutional website and what I have learned. Requirements - A landing page that could explain briefly what the Association was about - A web ap...
The Mission Make a menu that starts completely invisible and only shows up when the user triggers it in a clever way. Not a normal button. Not a big “open menu...
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as we...
Liquid syntax error: Variable '{{% raw %}' was not properly terminated with regexp: /}}/...
markdown !Drive Codinghttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2F...
!Cover image for I Built Uilora – An Interactive UI Component Library for Modern Web Developershttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cov...
Si tu sitio web fuera un organismo vivo, la etiqueta sería la piel que lo contiene todo. Es el elemento raíz root y absolutamente nada en tu página puede existi...
React Hooks can be confusing when you're new to them. This guide explains the most important ones with clear examples. useState jsx import { useState } from 're...
!Cover image for I built a 'New Tab' sticky notes app to replace my physical noteshttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=au...
!Snowbin screenshothttps://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazona...
What is Bootstrap? Bootstrap is a popular CSS framework alongside Foundation, MUI, Tailwind, etc. used for fast, responsive, mobile‑first development. When to...
The Problem Rabies post‑exposure vaccination follows fixed schedules: - Day 0 - Day 3 - Day 7 - Day 14 - Day 28 In practice: - “Day 0” confuses people it’s the...
Label A tells the user what to enter in an input box. It is best to connect the label with the input using for and id. When the user clicks the label, the asso...
How to Build a Contact Form in Next.js Without Building a Backend !Cover image for How to Build a Contact Form in Next.js Without Building a Backendhttps://med...
!Cover image for CSS @starting-style: Animating Elements Into Existencehttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=a...
Introduction We’ve all been there: staring at a half‑empty fridge wondering if you can make a meal out of a bell pepper and some leftover rice. To solve my own...
Introduction Most SaaS login screens still look like they were designed in 2010—plain white boxes on solid gray backgrounds. Your login screen is the literal f...
markdown !Cover image for Stop Rewriting This React Form UX Logichttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/ht...
Introduction When I started exploring RUXAILAB, my goal was not just to understand how the platform works, but to figure out how a new system—A/B testing—could...
!Mateasehttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser...
!Cover image for I Finally Understood How to Pass Multiple Values in Redux Toolkit The Right Wayhttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=co...
Inspiration Managing event tickets as a DJ or event organizer is often chaotic—spreadsheets, screenshots, scattered guest lists, and last‑minute changes. I wan...
The popover attribute is a modern, built‑in way to create lightweight overlays such as: - dropdowns - menus - tooltips - context panels - mini dialogs It is nat...
So today I spent some time debugging why certain CSS styles weren’t applying. Turns out Tailwind v4 quietly broke something that worked in Tailwind v3. The orig...
Hey developers! 👋 I’m sharing Curely, a free modern React landing page template built for mobile apps, SaaS products, and startups. It’s designed to help you l...
🎨 From Bias to Balance — A Frontend Story of Gender Equity 💡 Concept - Breaking systemic bias - Equity over equality - Rising together 🚀 Code javascript imp...
Overview If you've worked with React, you've likely seen the useMemo and useCallback hooks appear in code reviews and wondered whether you actually need them....
The Journey to 63 Characters Let me walk you through how my solution evolved — because the process is the interesting part. Attempt 1 — The Brute Force box‑sha...
The biggest takeaway: serving Sa11y CSS/JS locally in Drupal gives you more predictable accessibility checks, especially when external asset delivery is unrelia...
Introduction When I first started learning Redux, I thought the boilerplate was just how things worked. Managing a simple feature required: - Action types - Ac...
What is an event? An event is just something the user does on your page: clicking a button, typing in a box, pressing a key, submitting a form, scrolling, etc....
The frontend ecosystem moves fast. Just as we got comfortable with Vite replacing Webpack, a new contender has emerged to push the boundaries of developer exper...
Introduction In today’s class I learned a short introduction to JavaScript, so I’ll share some facts about JavaScript in this blog. What Is JavaScript? JavaScr...
Introduction I write bluntly, I value your time—less waffle, more value. Pick a popular component library and find the Button component. You’ll see: Structure...
GPU Flight Architecture Overview The previous post covered thread divergence at the SASS level. Before diving into other optimization strategies, it helps to r...
!Cover image for 2026 WeCoded Challenge Glass Ceilinghttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2F...
Wave Canvas Background Animation Create a smooth, flowing wave background using HTML Canvas and JavaScript. This lightweight animation is perfect for hero sect...
React Hooks vs. Vue Composables React Hooks are functions prefixed with use that let React components manage state, side effects, and lifecycle behavior withou...
Project initialization Create a new Vite React‑TS project: bash npm create vite@latest my-app -- --template react-ts The command installs the dependencies auto...
TypeScript Discriminated Unions & Type Guards TypeScript is powerful because it helps us write safer code with strong type checking. One of the most useful pat...