02 / WordPress · Stripe · Sanity · Auth.js
A website that does the work.
A website can do more than introduce a business. I connect services and interfaces to handle bookings, edit content and restore your data after sign-in.
Payments and bookings
The first version of Vagabondando integrated Stripe Checkout for full payments or deposits and balances, with PostgreSQL tracking bookings and capacity without overbooking. It was completed and tested in Stripe test mode; the client then chose a site without online payments.
Editable content
I work with WordPress for independently managed websites and content, and with Sanity for custom projects. In Vagabondando, the client writes her journals in Italian and English and changes photos and her Instagram profile in Sanity Studio, with no new deploy.
Accounts and saved work
Runebog uses Auth.js for sign-in and PostgreSQL for cloud campaign saves, with a view that can be shared with players.
Where I put it into practice
Runebog GM
An app for organising tabletop RPG campaigns: navigable maps, D&D monster stat blocks, dungeon generation and encounter management. Includes cloud saves, a table view that can be shared with players, offline use as a PWA and a portable Windows app.
Read the case study ↗Vagabondando
A bilingual travel-journal site for a trekking guide, live at vagabondando.site. The client writes her stories in Sanity Studio and pages update within a minute; the contact form is protected by BotID, a honeypot and a Redis rate limit. The first version handled bookings with Stripe and PostgreSQL.
Read the case study ↗