JP
HomeBlogProjectsResumeAbout

© 2026 JP. All rights reserved.

Available for new opportunities

JP

Full-Stack Developer · 24+ years

Full-Stack Developer specializing in serverless AWS architecture, React, and TypeScript. I build scalable web applications from cloud infrastructure to polished UI.

View ProjectsRead Blog

Featured Projects

A selection of things I have built.

View all
DxPress: A Modern WordPress Clone Built with Next.js

DxPress: A Modern WordPress Clone Built with Next.js

WordPress powers a huge chunk of the web, but its PHP foundation and plugin-heavy architecture can feel dated for developers working in the modern JavaScript ecosystem. DxPress is my attempt to rethink what a content management system looks like when built from scratch with today's tools.

Next.jsTypescriptTailwind CSSPostgreSQLPrismaAWSAmplify
SourceLive Demo
Solo Kanban: A Personal Project Board Built for Focus

Solo Kanban: A Personal Project Board Built for Focus

Solo Kanban is a lightweight, self-hosted kanban board designed for solo developers and small teams who want project management without the overhead. No sign-ups, no SaaS fees, no bloated feature sets — just a clean board to track your work.

NextjsReactPrismaAmplifyTailwind
SourceLive Demo
View all projects

Recent Writing

Thoughts on software, engineering, and building products.

All posts
Building Solo Kanban: A Developer's Project Board with Next.js and @dxsolo/ui Part 6
tutorialprismanextjsnpmStorybookcssTailwind

Building Solo Kanban: A Developer's Project Board with Next.js and @dxsolo/ui Part 6

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 "works" is not the same as "finished." 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`.

March 24, 202618 min read
Building Solo Kanban: A Developer's Project Board with Next.js and @dxsolo/ui Part 5
tutorialprismanextjsnpmStorybookcssTailwind

Building Solo Kanban: A Developer's Project Board with Next.js and @dxsolo/ui Part 5

## 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 "Epic filters coming in Part 5." 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 "+" button in each column header lets you create issues directly on the board - Two new components join `@dxsolo/ui`: `ColorPicker` and `AlertDialog`

March 23, 202620 min read
Building Solo Kanban: A Developer's Project Board with Next.js and @dxsolo/ui Part 4
tutorialamplifyprismanextjsnpmStorybookcssTailwind

Building Solo Kanban: A Developer's Project Board with Next.js and @dxsolo/ui Part 4

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.

March 23, 202621 min read

Tech Stack

Languages

TypeScriptJavaScriptPythonSQLRustGo

Frontend

ReactNext.jsTailwind CSSVue.js

Backend

Node.jsExpressPostgreSQLRedisGraphQL

DevOps

AWSDockerGitHub ActionsTerraformVercel

Let's work together

I'm always interested in hearing about new projects and opportunities. Feel free to reach out.