Portfolio · 2000 – present
Code & Projects
I’m a Staff frontend engineer at InterNations, and I’ve been building for the web since 2000. This page collects the personal work: a travel-planning product, command-line tools, and open-source libraries—some of them maintained for well over a decade.
Dovetail

Dovetail is a complete product—design, engineering, and operations—built and run solo. It’s a trip-planning calendar for hands-on travellers: day-by-day logistics with rich entry types, a trip map, a wishlist for unscheduled ideas, and print-friendly itineraries. It runs on the web and as native iOS and Android apps, with subscriptions handled across Stripe and the app stores.
The source is closed, but the engineering is the interesting part:
- Offline-first by design. Trips live in an IndexedDB cache with a sync queue, so the app stays fully usable without a connection and reconciles with Supabase when it returns.
- One TypeScript codebase, three platforms. React 19 on Vite, wrapped in thin Capacitor shells that provide native auth, networking, and geolocation.
- Tested like a team built it. A Playwright end-to-end suite runs against seeded IndexedDB fixtures with a fake signed-in user, so CI needs no backend credentials.
- Systematic theming. A design-token colour system keeps light and dark mode consistent across web and native.
Role
Design, engineering, and operations—solo
Stack
Links
Command-line tools
Developer experience is a feature. Small tools that remove daily friction from the terminal—each one built because I kept wanting it.
git-prune-branches
Answers the eternal question of which local branches are safe to delete. It fetches and prunes, then sorts branches into three groups—merged and safe (pre-selected), unmerged and requiring a force-delete (deliberately not), and informational—and shows the exact git commands before running them.
Apps & sites
patik.com
This siteAstro with React islands, Cloudinary-backed travel galleries, and a CI pipeline that runs visual-regression and accessibility tests with Playwright. The codebase is public.
Libraries
Long-term maintenance is the point. These have been carried across several eras of the JavaScript ecosystem—script tags, jQuery, AMD, and now typed ES modules.

within-viewport
2011 – present254 ★ on GitHubDetermines whether an element is entirely inside the viewport—or any scrollable container —with configurable thresholds per side. Began as a jQuery plugin, rewritten over the years into a dependency-free TypeScript package, with the API kept steady the whole way.

Contributions
Notable work from my public-sector years, built with the New York State Office of Information Technology Services.
DMV Registration Renewal
New York State DMVA responsive redesign of one of the state’s highest-profile transactions on the Department of Motor Vehicles’ site.
Talks & code sprints
NYS DevCon 2013Go Responsive, a showpiece from a responsive-web-design code sprint, and an Ignite talk at NYS DevCon 2013.
From an earlier era
Kept online because old links shouldn’t rot. Interesting today mainly as artifacts of what the web used to require.

console.log-wrapper
2011403 ★ on GitHubMade
console.logsafe and consistent across the browsers of the early 2010s — including the ones where the console only existed while the developer tools were open. Obsolete in the best way: the platform caught up.User scripts & extensions
2008 – 2014Greasemonkey scripts and small browser extensions, from the era when you fixed websites yourself.
There’s more—experiments, forks, and abandoned ideas included—at github.com/patik , and occasional writing on the blog.
