# Tania Rascia

Software engineer and open source creator. This is my digital garden.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Enabling Apache ECharts in React for Data Visualization

DevFeed: [Enabling Apache ECharts in React for Data Visualization](<https://devfeed.tech/articles/enabling-apache-echarts-in-react-for-data-visualization-37587.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/apache-echarts-react/>)

Author: hello@taniarascia.com

Published: 2025-03-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [Data visualization](<https://devfeed.tech/topics/data-visualization.md>), [React](<https://devfeed.tech/topics/react.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [charts](<https://devfeed.tech/tags/charts.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [data-visualization](<https://devfeed.tech/tags/data-visualization.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [visualization](<https://devfeed.tech/tags/visualization.md>)

### AI overview

A tutorial on creating a small React wrapper for Apache ECharts to build interactive data visualizations, including line, bar, and pie charts. It covers chart initialization, configuration updates, event handling, and resizing.

### Source excerpt

Making dashboards with charts and graphs is a pretty common part of the front-end developer experience, as well as deciding which JavaScript...

## Year in Review: 2024

DevFeed: [Year in Review: 2024](<https://devfeed.tech/articles/year-in-review-2024-37585.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/2024-into-2025/>)

Author: hello@taniarascia.com

Published: 2025-03-27T00:00:00Z

Content type: article

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [CSS](<https://devfeed.tech/topics/css.md>), [React](<https://devfeed.tech/topics/react.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>)

Tags: [bluesky](<https://devfeed.tech/tags/bluesky.md>), [burnout](<https://devfeed.tech/tags/burnout.md>), [career](<https://devfeed.tech/tags/career.md>), [coding](<https://devfeed.tech/tags/coding.md>), [css](<https://devfeed.tech/tags/css.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [meta](<https://devfeed.tech/tags/meta.md>), [pagination](<https://devfeed.tech/tags/pagination.md>), [projects](<https://devfeed.tech/tags/projects.md>), [react](<https://devfeed.tech/tags/react.md>), [redesign](<https://devfeed.tech/tags/redesign.md>), [review](<https://devfeed.tech/tags/review.md>), [side-projects](<https://devfeed.tech/tags/side-projects.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [table](<https://devfeed.tech/tags/table.md>), [variables](<https://devfeed.tech/tags/variables.md>), [year-in-review](<https://devfeed.tech/tags/year-in-review.md>)

### AI overview

A 2024 year-in-review from a principal engineer who continues to work primarily with React and CSS. The author reflects on balancing a full-time engineering role with coding, writing, side projects, and maintaining a personal website, while highlighting several articles and a blog redesign completed during the year.

### Source excerpt

I'm trying to win the award for "Latest Year in Review". 🏆 I don't know if anyone can challenge me at this point, as it's almost thirdway...

## Redesign: Version 7.0

DevFeed: [Redesign: Version 7.0](<https://devfeed.tech/articles/redesign-version-7-0-37606.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/redesign-version-7/>)

Author: hello@taniarascia.com

Published: 2024-12-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [CSS](<https://devfeed.tech/topics/css.md>), [gatsby](<https://devfeed.tech/topics/gatsby.md>), [Bluesky](<https://devfeed.tech/topics/bluesky-social.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>)

Tags: [bluesky](<https://devfeed.tech/tags/bluesky.md>), [css](<https://devfeed.tech/tags/css.md>), [meta](<https://devfeed.tech/tags/meta.md>), [react](<https://devfeed.tech/tags/react.md>), [redesign](<https://devfeed.tech/tags/redesign.md>), [version](<https://devfeed.tech/tags/version.md>), [website](<https://devfeed.tech/tags/website.md>)

### AI overview

The author describes redesigning their personal website for version 7.0, separating personal Notes from programming Articles, highlighting projects and art, and adding navigation sidebars. The redesign was inspired by Docusaurus and uses plain CSS written in one file.

### Source excerpt

One of my favorite hobbies is tweaking my website. I've updated the design countless times thoughout the decade (!) of this site's existence...

## Creating a Keyboard Shortcut Hook in React (Deep Dive)

DevFeed: [Creating a Keyboard Shortcut Hook in React (Deep Dive)](<https://devfeed.tech/articles/creating-a-keyboard-shortcut-hook-in-react-deep-dive-37598.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/keyboard-shortcut-hook-react/>)

Author: hello@taniarascia.com

Published: 2024-10-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [keyboard](<https://devfeed.tech/topics/keyboard.md>), [Code](<https://devfeed.tech/topics/code.md>), [App](<https://devfeed.tech/topics/app.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [caching](<https://devfeed.tech/tags/caching.md>), [code](<https://devfeed.tech/tags/code.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [function](<https://devfeed.tech/tags/function.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [keyboard-shortcuts](<https://devfeed.tech/tags/keyboard-shortcuts.md>), [react](<https://devfeed.tech/tags/react.md>), [shortcuts](<https://devfeed.tech/tags/shortcuts.md>)

### AI overview

A tutorial on creating a custom React hook for keyboard shortcuts. It covers single keys, modifier combinations, key sequences, event-handler caching, stale state, and preventing shortcuts while typing.

### Source excerpt

Recently I needed to add some keyboard shortcuts to an app I was working on. I wrote up some example code and decided to write this article...

## HTML Tables with Horizontal Scroll and Sticky Headers

DevFeed: [HTML Tables with Horizontal Scroll and Sticky Headers](<https://devfeed.tech/articles/html-tables-with-horizontal-scroll-and-sticky-headers-37593.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/horizontal-scroll-fixed-headers-table/>)

Author: hello@taniarascia.com

Published: 2024-10-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [HTML](<https://devfeed.tech/topics/html.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [modern web development](<https://devfeed.tech/topics/modern-web-development.md>)

Tags: [container](<https://devfeed.tech/tags/container.md>), [css](<https://devfeed.tech/tags/css.md>), [design](<https://devfeed.tech/tags/design.md>), [dockerignore-usage](<https://devfeed.tech/tags/dockerignore-usage.md>), [example](<https://devfeed.tech/tags/example.md>), [headers](<https://devfeed.tech/tags/headers.md>), [helps](<https://devfeed.tech/tags/helps.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [table](<https://devfeed.tech/tags/table.md>), [tables](<https://devfeed.tech/tags/tables.md>)

### AI overview

A tutorial on building HTML tables that support horizontal scrolling and sticky headers. It explains why sticky positioning can fail inside an overflow container and presents a table-wrapper height as the solution, producing a vertically and horizontally scrollable datagrid-style view.

### Source excerpt

Turns out, creating an HTML table that has both horizontal scroll and fixed headers can be a tricky problem. As another developer said about...

## Year in Review: 2023

DevFeed: [Year in Review: 2023](<https://devfeed.tech/articles/year-in-review-2023-37584.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/2023-into-2024/>)

Author: hello@taniarascia.com

Published: 2024-01-20T00:00:00Z

Content type: opinion

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Web](<https://devfeed.tech/topics/web.md>), [React](<https://devfeed.tech/topics/react.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>)

Tags: [burnout](<https://devfeed.tech/tags/burnout.md>), [career](<https://devfeed.tech/tags/career.md>), [coding](<https://devfeed.tech/tags/coding.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [life](<https://devfeed.tech/tags/life.md>), [review](<https://devfeed.tech/tags/review.md>), [websockets](<https://devfeed.tech/tags/websockets.md>), [year-in-review](<https://devfeed.tech/tags/year-in-review.md>)

### AI overview

A personal review of 2023 and the author's ten years as a developer, covering career history, burnout from writing for DigitalOcean, recent software-related posts, and plans to write more about personal interests.

### Source excerpt

It's 2024, y'all. We're 20 days into the year, so I'm running out of time to write that end of year post I always do. I haven't quite known...

## How to Use WebSockets in a Redux Application

DevFeed: [How to Use WebSockets in a Redux Application](<https://devfeed.tech/articles/how-to-use-websockets-in-a-redux-application-37610.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/websockets-in-redux/>)

Author: hello@taniarascia.com

Published: 2023-02-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [middleware](<https://devfeed.tech/topics/middleware.md>), [React](<https://devfeed.tech/topics/react.md>), [browser](<https://devfeed.tech/topics/browser.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [chat](<https://devfeed.tech/tags/chat.md>), [dashboard](<https://devfeed.tech/tags/dashboard.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [redux](<https://devfeed.tech/tags/redux.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

A tutorial on integrating WebSockets into a React/Redux application by using Redux middleware to manage connection events, state access, and dispatched actions. It demonstrates a browser WebSocket client and discusses initializing and closing connections for use cases such as chat and live dashboards.

### Source excerpt

At some point, you might work on a React/Redux application that requires the use of WebSockets, such as for chat or live updates on a...

## Understanding the GraphQL Type System

DevFeed: [Understanding the GraphQL Type System](<https://devfeed.tech/articles/understanding-the-graphql-type-system-37592.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/graphql-type-system/>)

Author: hello@taniarascia.com

Published: 2023-01-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [API](<https://devfeed.tech/topics/api.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [enum](<https://devfeed.tech/tags/enum.md>), [enums](<https://devfeed.tech/tags/enums.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [type-system](<https://devfeed.tech/tags/type-system.md>), [union-types](<https://devfeed.tech/tags/union-types.md>)

### AI overview

This tutorial explains the GraphQL type system and how its types are used to build a GraphQL schema. It covers scalar types, Enums, List and Non-Null wrapping types, Object types, Interfaces, and Unions, with examples.

### Source excerpt

GraphQL is a modern solution for facilitating the communication between a front end and a data source. All of the details and capabilities...

## Year in Review: 2022

DevFeed: [Year in Review: 2022](<https://devfeed.tech/articles/year-in-review-2022-37583.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/2022-into-2023/>)

Author: hello@taniarascia.com

Published: 2023-01-02T00:00:00Z

Content type: opinion

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Obsidian](<https://devfeed.tech/topics/obsidian-md.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [gaming](<https://devfeed.tech/tags/gaming.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [life](<https://devfeed.tech/tags/life.md>), [mac](<https://devfeed.tech/tags/mac.md>), [obsidian](<https://devfeed.tech/tags/obsidian.md>), [review](<https://devfeed.tech/tags/review.md>), [twitch](<https://devfeed.tech/tags/twitch.md>), [windows](<https://devfeed.tech/tags/windows.md>), [year-in-review](<https://devfeed.tech/tags/year-in-review.md>)

### AI overview

A personal year-in-review covering the author's hopes and experiences around the start of 2023, along with recommendations for television, film, books, apps, and gaming. The author also discusses switching from Bear and Todoist to Obsidian for Markdown-based notes and todos with synchronization across Mac, Windows, and iPhone.

### Source excerpt

Happy New Year, friends! Time to write another year in review. This will be the seventh time I've done this. Here are all the previous ones...

## Testing API Calls With React Testing Library and Jest

DevFeed: [Testing API Calls With React Testing Library and Jest](<https://devfeed.tech/articles/testing-api-calls-with-react-testing-library-and-jest-37594.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/how-to-test-useeffect-api-call/>)

Author: hello@taniarascia.com

Published: 2022-12-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [testing-library](<https://devfeed.tech/topics/testing-library.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [React](<https://devfeed.tech/topics/react.md>), [API](<https://devfeed.tech/topics/api.md>), [Jest](<https://devfeed.tech/topics/jest.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [jest](<https://devfeed.tech/tags/jest.md>), [react](<https://devfeed.tech/tags/react.md>), [testing](<https://devfeed.tech/tags/testing.md>), [testing-library](<https://devfeed.tech/tags/testing-library.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

A tutorial showing how to test React useEffect API calls with Jest and React Testing Library, including tests for successful and failed requests.

### Source excerpt

Ever since Hooks were released in React, we've been using the hook to fetch data, whether directly or abstracted away behind Redux Thunks...

## Using Path Matching in React Router

DevFeed: [Using Path Matching in React Router](<https://devfeed.tech/articles/using-path-matching-in-react-router-37601.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/path-matching-in-react-router/>)

Author: hello@taniarascia.com

Published: 2022-12-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [React Router](<https://devfeed.tech/topics/react-router.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [react](<https://devfeed.tech/tags/react.md>), [react-router](<https://devfeed.tech/tags/react-router.md>), [router](<https://devfeed.tech/tags/router.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

This article explores using path matching in React Router to map route patterns to page titles, while noting that passing titles directly through a route wrapper can be a simpler solution. The examples use React Router v5.

### Source excerpt

Recently on a project I was working on I noticed every page was importing in order to display the unique page title, like this: For an app...

## Tending to My Digital Garden

DevFeed: [Tending to My Digital Garden](<https://devfeed.tech/articles/tending-to-my-digital-garden-37589.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/digital-gardening/>)

Author: hello@taniarascia.com

Published: 2022-12-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [digital](<https://devfeed.tech/topics/digital.md>), [email](<https://devfeed.tech/topics/email.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [digital](<https://devfeed.tech/tags/digital.md>), [email](<https://devfeed.tech/tags/email.md>), [life](<https://devfeed.tech/tags/life.md>), [personal-website](<https://devfeed.tech/tags/personal-website.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

A personal reflection on treating a website's writing section as a digital garden. The author gives herself permission to publish informal, personal, and varied posts without requiring every article to be substantial or important enough to share with newsletter subscribers.

### Source excerpt

Hi there. It's December 2022. How are you doing? This has been a slow year for me. I'm going to write a little post to let you know what I...

## Simplifying Drag and Drop (Lists and Nested Lists)

DevFeed: [Simplifying Drag and Drop (Lists and Nested Lists)](<https://devfeed.tech/articles/simplifying-drag-and-drop-lists-and-nested-lists-37608.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/simplifying-drag-and-drop/>)

Author: hello@taniarascia.com

Published: 2022-09-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [draggable](<https://devfeed.tech/topics/draggable.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [components](<https://devfeed.tech/tags/components.md>), [debug](<https://devfeed.tech/tags/debug.md>), [drag-and-drop](<https://devfeed.tech/tags/drag-and-drop.md>), [draggable](<https://devfeed.tech/tags/draggable.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>)

### AI overview

This tutorial shows how to simplify drag-and-drop lists and nested lists in JavaScript by extracting reusable components around a drag-and-drop library. It includes demos for basic lists and moving categories or items between nested categories.

### Source excerpt

I always forget how to use any drag and drop library until I have to use it again. Currently, the one I've been working with is , the...

## Redesign: Version 6.0

DevFeed: [Redesign: Version 6.0](<https://devfeed.tech/articles/redesign-version-6-0-37605.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/redesign-version-6/>)

Author: hello@taniarascia.com

Published: 2022-07-03T00:00:00Z

Content type: opinion

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [version](<https://devfeed.tech/topics/version.md>)

Tags: [design](<https://devfeed.tech/tags/design.md>), [layout](<https://devfeed.tech/tags/layout.md>), [meta](<https://devfeed.tech/tags/meta.md>), [personal](<https://devfeed.tech/tags/personal.md>), [redesign](<https://devfeed.tech/tags/redesign.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

The author describes redesigning their personal website as version 6.0, including changes to its layout, themes, fonts, colors, category and tag lists, and sidebar. They also discuss earlier design experiments and plans for future posts.

### Source excerpt

Once again, I've redesigned my website. Every now and then I get bored of the way it looks, or I notice a lot of people cloning it and feel...

## How To Set Up a GraphQL API Server in Node.js

DevFeed: [How To Set Up a GraphQL API Server in Node.js](<https://devfeed.tech/articles/how-to-set-up-a-graphql-api-server-in-node-js-37591.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/graphql-server-node/>)

Author: hello@taniarascia.com

Published: 2022-06-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Express](<https://devfeed.tech/topics/express.md>), [API](<https://devfeed.tech/topics/api.md>), [middleware](<https://devfeed.tech/topics/middleware.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-server](<https://devfeed.tech/tags/api-server.md>), [cors](<https://devfeed.tech/tags/cors.md>), [express](<https://devfeed.tech/tags/express.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [resolver](<https://devfeed.tech/tags/resolver.md>), [rest](<https://devfeed.tech/tags/rest.md>)

### AI overview

This tutorial explains how to build a GraphQL API server with Express and Node.js. It covers defining a GraphQL schema with queries, mutations, and resolver functions, then exploring and debugging the API with GraphiQL.

### Source excerpt

In An Introduction to GraphQL, you learned that GraphQL is an open-source query language and runtime for APIs created to solve issues that...

## Building a JavaScript Keyboard Accordion (the Musical Kind)

DevFeed: [Building a JavaScript Keyboard Accordion (the Musical Kind)](<https://devfeed.tech/articles/building-a-javascript-keyboard-accordion-the-musical-kind-37599.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/musical-instrument-web-audio-api/>)

Author: hello@taniarascia.com

Published: 2022-05-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Svelte](<https://devfeed.tech/topics/svelte.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Web app](<https://devfeed.tech/topics/webapp.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [browser](<https://devfeed.tech/tags/browser.md>), [building](<https://devfeed.tech/tags/building.md>), [coding](<https://devfeed.tech/tags/coding.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [projects](<https://devfeed.tech/tags/projects.md>), [sound](<https://devfeed.tech/tags/sound.md>), [svelte](<https://devfeed.tech/tags/svelte.md>), [volume](<https://devfeed.tech/tags/volume.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

A developer builds KeyboardAccordion.com, an open-source web app that maps a computer keyboard to a diatonic button accordion. The article describes using Svelte, plain JavaScript, and the browser Web Audio API to generate notes, control volume, and work around a browser limit on audio nodes.

### Source excerpt

It's been a while since I've written anything due to some personal concerns that I might write about later, but don't worry, I'm still...

## Creating a Schema-Based Form System

DevFeed: [Creating a Schema-Based Form System](<https://devfeed.tech/articles/creating-a-schema-based-form-system-37607.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/schema-based-form-system/>)

Author: hello@taniarascia.com

Published: 2022-01-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [Forms](<https://devfeed.tech/topics/forms.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [React](<https://devfeed.tech/topics/react.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [form](<https://devfeed.tech/tags/form.md>), [forms](<https://devfeed.tech/tags/forms.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [react](<https://devfeed.tech/tags/react.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

This tutorial presents an example schema-based form system for React. It describes defining a form schema and passing it to a component that handles common values, errors, validation, dirty state, and field components. The example uses Formik for form values and submission and suggests Yup for validation.

### Source excerpt

View the Source or Demo for the schema-based form system described in this article. Working with forms on the front end is tedious and...

## Year in Review: 2021

DevFeed: [Year in Review: 2021](<https://devfeed.tech/articles/year-in-review-2021-37582.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/2021-into-2022/>)

Author: hello@taniarascia.com

Published: 2022-01-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Code](<https://devfeed.tech/topics/code.md>), [Job](<https://devfeed.tech/topics/job.md>), [Jackson](<https://devfeed.tech/topics/jackson.md>), [Netflix](<https://devfeed.tech/topics/netflix.md>), [sessions](<https://devfeed.tech/topics/sessions.md>)

Tags: [burnout](<https://devfeed.tech/tags/burnout.md>), [coding](<https://devfeed.tech/tags/coding.md>), [developer](<https://devfeed.tech/tags/developer.md>), [jackson](<https://devfeed.tech/tags/jackson.md>), [life](<https://devfeed.tech/tags/life.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [year-in-review](<https://devfeed.tech/tags/year-in-review.md>)

### AI overview

A personal review of 2021 reflecting on time spent away from home, maintaining balance among development work, side projects, and creative pursuits, and recovering from past burnout. The author also discusses cultural discoveries including Bo Burnham's Inside and The Beatles: Get Back documentary.

### Source excerpt

Wow, here we are, the sixth installment in the New Year series of posts. This year feels almost like a lost weekend. Aside from a few small...

## An Introduction to GraphQL

DevFeed: [An Introduction to GraphQL](<https://devfeed.tech/articles/an-introduction-to-graphql-37596.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/introduction-to-graphql/>)

Author: hello@taniarascia.com

Published: 2021-11-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [API](<https://devfeed.tech/topics/api.md>), [api server](<https://devfeed.tech/topics/api-server.md>), [client](<https://devfeed.tech/topics/client.md>), [Web](<https://devfeed.tech/topics/web.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-server](<https://devfeed.tech/tags/api-server.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [client](<https://devfeed.tech/tags/client.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [json](<https://devfeed.tech/tags/json.md>), [rest](<https://devfeed.tech/tags/rest.md>), [schema](<https://devfeed.tech/tags/schema.md>)

### AI overview

An introductory tutorial to GraphQL, covering its purpose, terminology, core concepts, query behavior, schema characteristics, and relationship to REST. It explains GraphQL as an open-source query language and runtime for APIs, including how clients request specific fields and receive responses in JSON.

### Source excerpt

As web and mobile applications become more mature and complex, software engineers invent clever new ways of improving the interaction...

## Why the Author Created Separate Notes and Articles Sections

DevFeed: [Why the Author Created Separate Notes and Articles Sections](<https://devfeed.tech/articles/behind-the-tutorials-37588.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/behind-the-tutorials/>)

Author: hello@taniarascia.com

Published: 2021-10-23T00:00:00Z

Content type: opinion

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [Learning](<https://devfeed.tech/topics/learning.md>), [digital](<https://devfeed.tech/topics/digital.md>), [Redux](<https://devfeed.tech/topics/redux.md>)

Tags: [life](<https://devfeed.tech/tags/life.md>), [personal](<https://devfeed.tech/tags/personal.md>), [technical-writing](<https://devfeed.tech/tags/technical-writing.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

The author explains the decision to separate personal, casual, and random writing into a Notes section while keeping technical work in Articles. They discuss privacy, public self-expression, and preserving personal reflections alongside technical writing.

### Source excerpt

Despite the fact that I've been consistently writing on here for six years now, I've said very little about myself. The writing has been...

## How to Sort, Filter, and Paginate a Table with JavaScript

DevFeed: [How to Sort, Filter, and Paginate a Table with JavaScript](<https://devfeed.tech/articles/how-to-sort-filter-and-paginate-a-table-with-javascript-37590.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/front-end-tables-sort-filter-paginate/>)

Author: hello@taniarascia.com

Published: 2021-10-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [filter](<https://devfeed.tech/tags/filter.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [rest](<https://devfeed.tech/tags/rest.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [table](<https://devfeed.tech/tags/table.md>)

### AI overview

A tutorial on building a React table with front-end pagination, sorting, and filtering for strings, booleans, numbers, and dates, without relying on styling or framework libraries.

### Source excerpt

One thing I've had to do at every job I've had is implement a table on the front end of an application that has sorting, filtering, and...

## Redesign: Version 5.0

DevFeed: [Redesign: Version 5.0](<https://devfeed.tech/articles/redesign-version-5-0-37604.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/redesign-version-5/>)

Author: hello@taniarascia.com

Published: 2021-09-02T00:00:00Z

Content type: article

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [vs-code](<https://devfeed.tech/topics/vs-code.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [CSS](<https://devfeed.tech/topics/css.md>), [GUI](<https://devfeed.tech/topics/gui.md>)

Tags: [css](<https://devfeed.tech/tags/css.md>), [icons](<https://devfeed.tech/tags/icons.md>), [interactive](<https://devfeed.tech/tags/interactive.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [meta](<https://devfeed.tech/tags/meta.md>), [redesign](<https://devfeed.tech/tags/redesign.md>), [version](<https://devfeed.tech/tags/version.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>), [website](<https://devfeed.tech/tags/website.md>)

### AI overview

The author describes redesigning a personal website from scratch with a VS Code-inspired interface, categorized posts, pixel-art icons, a light/dark theme switcher, customizable colors, and improved keyboard accessibility. The site uses plain CSS and has evolved through multiple iterations.

### Source excerpt

Over the last week or two I've had a lot of fun building out a new site from scratch. I thought it would be fun to make my site look like a...

## Writing a Sokoban Puzzle Game in JavaScript

DevFeed: [Writing a Sokoban Puzzle Game in JavaScript](<https://devfeed.tech/articles/writing-a-sokoban-puzzle-game-in-javascript-37609.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/sokoban-game/>)

Author: hello@taniarascia.com

Published: 2021-07-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Code](<https://devfeed.tech/topics/code.md>), [Canvas](<https://devfeed.tech/topics/canvas.md>), [HTML5](<https://devfeed.tech/topics/html5.md>), [Demo](<https://devfeed.tech/topics/demo.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [canvas](<https://devfeed.tech/tags/canvas.md>), [code](<https://devfeed.tech/tags/code.md>), [demo](<https://devfeed.tech/tags/demo.md>), [game](<https://devfeed.tech/tags/game.md>), [games](<https://devfeed.tech/tags/games.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [html5](<https://devfeed.tech/tags/html5.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [puzzle](<https://devfeed.tech/tags/puzzle.md>)

### AI overview

A tutorial describing the implementation of a Sokoban puzzle game in JavaScript. It explains the map representation, entity movement and pushing rules, recursive handling of multiple blocks, and rendering the game on an HTML5 canvas.

### Source excerpt

So the other day, I made an implementation of a Sokoban puzzle game in JavaScript. Here's the source code and here's the demo. The game...

## How to Structure and Organize a React Application

DevFeed: [How to Structure and Organize a React Application](<https://devfeed.tech/articles/how-to-structure-and-organize-a-react-application-37602.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/react-architecture-directory-structure/>)

Author: hello@taniarascia.com

Published: 2021-06-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [structure](<https://devfeed.tech/topics/structure.md>), [React Hooks](<https://devfeed.tech/topics/react-hooks.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [React Router](<https://devfeed.tech/topics/react-router.md>), [styled-components](<https://devfeed.tech/topics/styled-components.md>), [Jest](<https://devfeed.tech/topics/jest.md>), [testing-library](<https://devfeed.tech/topics/testing-library.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [css](<https://devfeed.tech/tags/css.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jest](<https://devfeed.tech/tags/jest.md>), [react](<https://devfeed.tech/tags/react.md>), [react-hooks](<https://devfeed.tech/tags/react-hooks.md>), [react-router](<https://devfeed.tech/tags/react-router.md>), [redux](<https://devfeed.tech/tags/redux.md>), [state-management](<https://devfeed.tech/tags/state-management.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

This tutorial presents an opinionated, feature-focused directory structure for organizing large-scale production React applications. It explains how to separate global shared components from feature-specific code and discusses accompanying choices for Redux, React Router, styling, testing, and authentication.

### Source excerpt

There is no consensus on the right way to organize a React application. React gives you a lot of freedom, but with that freedom comes the...

[Next page](<https://devfeed.tech/sources/tania-rascia.md?cursor=WyIyMDIxLTA2LTIzVDAwOjAwOjAwKzAwOjAwIiwgIjRhYzc5YjA0LWE2ZDYtNGNlMi1iYWY3LWQzNzhkY2Q2Mjk4NCJd>)