<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>JPDxSolo</title>
    <link>https://www.jpdxsolo.com</link>
    <description>A developer portfolio and blog</description>
    <language>en</language>
    <lastBuildDate>Tue, 26 May 2026 17:29:38 GMT</lastBuildDate>
    <atom:link href="https://www.jpdxsolo.com/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Building Solo Kanban: A Developer&apos;s Project Board with Next.js and @dxsolo/ui Part 6</title>
      <link>https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-6</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-6</guid>
      <description>Part 6: Polish, Persistence, and Publishing

This is the final part. Over the last five posts, we built a working kanban board: data model, column layout, drag and drop, issue editing with markdown, and project/epic management with filtering. It works. But &quot;works&quot; is not the same as &quot;finished.&quot;

This post is about the difference. We will add dark mode with a manual toggle, keyboard shortcuts for power users, a project settings page with a danger zone, and then deploy the whole thing to Vercel. Along the way, we will add three final components to `@dxsolo/ui`: `Toggle`, `Kbd`, and `Tooltip`.
</description>
      <pubDate>Tue, 24 Mar 2026 03:17:52 GMT</pubDate>
    </item>
    <item>
      <title>Building Solo Kanban: A Developer&apos;s Project Board with Next.js and @dxsolo/ui Part 5</title>
      <link>https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-5</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-5</guid>
      <description>## Part 5: Projects, Epics, and Filtering

Welcome back. In [Part 4](/blog/solo-kanban-part-4), we built the issue detail view — a modal with markdown editing, subtask management, and debounced auto-save. You can click a card, edit everything about it, and close the modal. Changes persist.

But there is a problem. The board has one hardcoded project from the seed data. There is no way to create new projects, manage epics, or filter the board. The sidebar says &quot;Epic filters coming in Part 5.&quot; Time to deliver.

By the end of this post:

- A project switcher lets you create and switch between projects
- The sidebar lists epics with color dots, and clicking one filters the board
- Epics can be created, edited, and deleted — with a color picker for the label color
- A &quot;+&quot; button in each column header lets you create issues directly on the board
- Two new components join `@dxsolo/ui`: `ColorPicker` and `AlertDialog`
</description>
      <pubDate>Mon, 23 Mar 2026 23:54:37 GMT</pubDate>
    </item>
    <item>
      <title>Building Solo Kanban: A Developer&apos;s Project Board with Next.js and @dxsolo/ui Part 4</title>
      <link>https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-4</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-4</guid>
      <description>Welcome back. In [Part 3](/blog/solo-kanban-part-3), we built a complete drag-and-drop system: cards move between columns, insert at precise positions, and persist to the database with optimistic updates. The board works. But clicking a card does nothing.

Now we fix that. By the end of this post, clicking an issue card will open a modal showing the full issue — an editable title, a markdown description with live preview, a subtask checklist, and metadata controls for priority and status. Changes auto-save as you type.

Along the way, we will add four new components to `@dxsolo/ui`: `Textarea`, `Select`, `Checkbox`, and `Badge`. This is the first time in the series we extend the component library. The goal is to show the workflow: identify a need in the app, build the component in the library, publish, and consume.</description>
      <pubDate>Mon, 23 Mar 2026 03:03:04 GMT</pubDate>
    </item>
    <item>
      <title>Building Solo Kanban: A Developer&apos;s Project Board with Next.js and @dxsolo/ui Part 3</title>
      <link>https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-3</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-3</guid>
      <description>
The browser ships a drag-and-drop API. You can set `draggable=&quot;true&quot;` on elements, listen for `dragstart`, `dragover`, and `drop` events, and move things around. It works, but it has significant drawbacks for a kanban board:

- **No built-in reordering.** You get drop events, but figuring out where in a list the user intended to drop requires manual hit detection.
- **Poor mobile support.** Touch devices do not fire native drag events. You need a polyfill or a completely separate touch implementation.
- **Accessibility is on you.** No keyboard support, no screen reader announcements, no ARIA attributes. You build all of that from scratch.

For a production kanban board, this is too much work. We want a library.</description>
      <pubDate>Sun, 22 Mar 2026 20:56:22 GMT</pubDate>
    </item>
    <item>
      <title>Building Solo Kanban: A Developer&apos;s Project Board with Next.js and @dxsolo/ui Part 2</title>
      <link>https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-2</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui-part-2</guid>
      <description>Welcome back. In Part 1, we scaffolded the project, designed the Prisma schema, seeded the database, and confirmed that @dxsolo/ui renders correctly. Now we build the thing people actually see: the kanban board.

By the end of this post, you will have four scrollable columns (Open, InProgress, Review, Done), responsive issue cards powered by @dxsolo/ui, an app shell with a sidebar, and a layout that adapts from desktop down to tablet using CSS Grid and container queries.</description>
      <pubDate>Sun, 22 Mar 2026 03:37:20 GMT</pubDate>
    </item>
    <item>
      <title>Building Solo Kanban: A Developer&apos;s Project Board with Next.js and @dxsolo/ui</title>
      <link>https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-solo-kanban-a-developers-project-board-with-nextjs-and-dxsoloui</guid>
      <description>This is Part 1 of a 6-part series where we build a complete kanban board for solo developers. By the end, you will have a fully functional project management tool, a live demo, and a forkable GitHub repo. Along the way, we will contribute new components back to the `@dxsolo/ui` component library.</description>
      <pubDate>Thu, 19 Mar 2026 21:16:48 GMT</pubDate>
    </item>
    <item>
      <title>Building a Component Library: CI/CD and Automated Releases</title>
      <link>https://www.jpdxsolo.com/blog/building-a-component-library-cicd-and-automated-releases</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-a-component-library-cicd-and-automated-releases</guid>
      <description>Part 4 of 4: Automate the release pipeline with GitHub Actions. Set up CI checks on PRs, deploy Storybook to GitHub Pages, and wire up semantic-release for automated versioning, changelogs, and npm publishing.</description>
      <pubDate>Wed, 18 Mar 2026 18:28:19 GMT</pubDate>
    </item>
    <item>
      <title>Building a Component Library: Styling, Testing and Publishing</title>
      <link>https://www.jpdxsolo.com/blog/building-a-component-library-styling-testing-and-publishing</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-a-component-library-styling-testing-and-publishing</guid>
      <description>Part 3 of 4: Define the consumer styling contract, write tests with Vitest, set up Storybook as a visual testing layer, configure package.json for library distribution, and publish to npm.</description>
      <pubDate>Wed, 18 Mar 2026 18:28:19 GMT</pubDate>
    </item>
    <item>
      <title>Building a Component Library: Design Tokens and Components</title>
      <link>https://www.jpdxsolo.com/blog/building-a-component-library-design-tokens-and-components</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-a-component-library-design-tokens-and-components</guid>
      <description>Part 2 of 4: Build a design token system with Tailwind v4&apos;s CSS-first configuration and construct five production components covering variants, form controls, composition, portals, and compound patterns.</description>
      <pubDate>Wed, 18 Mar 2026 18:28:18 GMT</pubDate>
    </item>
    <item>
      <title>Deploying a Next.js App with AWS Amplify, Prisma, and Neon PostgreSQL</title>
      <link>https://www.jpdxsolo.com/blog/deploying-a-nextjs-app-with-aws-amplify-prisma-and-neon-postgresql</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/deploying-a-nextjs-app-with-aws-amplify-prisma-and-neon-postgresql</guid>
      <description>A practical guide to deploying a Next.js + Prisma app on AWS Amplify with Neon PostgreSQL , including the migration pitfalls I hit and how I debugged them.</description>
      <pubDate>Wed, 18 Mar 2026 04:04:56 GMT</pubDate>
    </item>
    <item>
      <title>Building a Real-World Component Library with Tailwind CSS + React</title>
      <link>https://www.jpdxsolo.com/blog/building-a-real-world-component-library-with-tailwind-css-react</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/building-a-real-world-component-library-with-tailwind-css-react</guid>
      <description>Part 1 of 4: Set up a production-ready React component library from scratch with Vite, TypeScript, and Tailwind CSS v4. Covers project scaffolding, architecture decisions, library mode configuration, and DTS pipeline setup.</description>
      <pubDate>Tue, 17 Mar 2026 03:32:50 GMT</pubDate>
    </item>
    <item>
      <title>The Art of the Fake Commute and How It Saved My Mental Health</title>
      <link>https://www.jpdxsolo.com/blog/the-art-of-the-fake-commute-and-how-it-saved-my-mental-health</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/the-art-of-the-fake-commute-and-how-it-saved-my-mental-health</guid>
      <description>Remote work has redefined our daily routines, especially for developers who often thrive on structure. While working from home has undeniable perks, like flexibility and autonomy, it also brings new challenges. This post dives into the common struggles of remote work, from isolation to burnout, and explores how strategies like the “fake commute” can support mental health, productivity, and overall well-being.</description>
      <pubDate>Wed, 04 Mar 2026 04:26:56 GMT</pubDate>
    </item>
    <item>
      <title>Installing Flutter on Linux</title>
      <link>https://www.jpdxsolo.com/blog/installing-flutter-on-linux</link>
      <guid isPermaLink="true">https://www.jpdxsolo.com/blog/installing-flutter-on-linux</guid>
      <description>This is a quick guide for installing flutter on linux. I wanted to use FVM to manage the flutter versions and it will also go over installing any dependencies needed to run flutter apps for linux and web</description>
      <pubDate>Wed, 04 Mar 2026 04:12:22 GMT</pubDate>
    </item>
  </channel>
</rss>