finds.dev

jgthms/picknplace.js

A proof of concept of a viable drag and drop alternative

View on GitHubHomepage ↗

★ 451JavaScriptupdated Dec 2025

// the take

A proof-of-concept interaction pattern by jgthms (the Bulma CSS author) that replaces classic drag-and-drop with a two-step pick-then-place flow, aimed at developers frustrated with how bad simultaneous tap-hold-drag-scroll feels on touch devices. It's a single-file demo of list reordering, not a packaged library.

The core idea is a genuinely useful UX fix for a real, well-known problem: dragging a list item on mobile while also trying to scroll is a common source of janky, error-prone interactions, and decoupling 'pick' from 'place' sidesteps that cleanly. The implementation is small enough (one JS file, no dependencies) to read end-to-end in a few minutes and lift directly into a project. The live demo linked from the README makes the interaction easy to evaluate before committing to anything.

The author is explicit that this isn't a library — there's no public API, no packaging, no versioning, so adopting it means copy-pasting and adapting code rather than installing a dependency, with no path to pulling in upstream fixes later. It only demonstrates one scenario (reordering a single list); there's nothing here showing cross-container drops, nested lists, or grid layouts, so you'd be extending the pattern yourself for anything beyond the demo case. No tests, no accessibility handling (keyboard reordering, screen reader announcements), and as a PoC with no stated roadmap it's reasonable to assume it won't get maintenance if browser quirks or edge cases surface.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

search the same ground:

// at a glance

Stars
451
Forks
21
Language
JavaScript
Last commit
19 Dec 2025

// nearby

If picknplace.js isn't quite it.

All repos →