PageFly · Shopify · Portfolio
A collection of Shopify landing-page concepts built for PageFly — including two D&D-specific directions with product pages — plus a live, full-stack CRM I designed and built. Range up top, depth at the bottom.
A complete 5e module, two exclusive resin minis, and tabletop-ready battle maps — shipped to your door. No prep. No blank page. Just gather the party.
Subscribe & begin First box ships in 3–5 days · Cancel anytime60+ pages of fully statted encounters, NPCs, and lore. Written for GMs who'd rather play than plan.
Hand-cast monsters and NPCs you can't get anywhere else — a new pair every month.
Full-scale, table-ready maps. Roll them out, drop your minis, fight.
Every map, token, and ambient soundtrack bundled for Roll20, Foundry, and Fantasy Grounds.
It takes out a lot of the hardest work for a GM, but leaves room for the GM to make the world their own.— Verified Subscriber
Part seven of the Voyage of the Fallen Star arc. Playable standalone.
Your party arrives at the crater where the star fell. Something is already there, picking through the wreckage — and it has more hands than it should. A tense, moderate-difficulty one-shot with roleplay hooks for continuing the full arc.
Hand-forged dice, bound codices, and curiosities for the serious player. Made in small numbers. Sold by the full moon.
Enter the vault Next opening · 12 daysEach die poured, tumbled, and inked in a single studio. No two are perfectly identical. That's the point.
A new collection every lunar cycle. When they're gone, the next full moon brings something else entirely.
Every set arrives in a signed wooden box with a lore card. Made to be opened at the start of a session.
"They came wrapped in linen, in a box that smelled faintly of cedar. My players went quiet when I set them down."— A Buyer, Seventh Moon
A seven-die set cast in dark resin and inked with a gold pigment that catches candlelight the way ore catches torchlight. Each set is numbered on the D20 and packed in a cedar box with a hand-pressed lore card for this cycle's release.
Hand-poured in small batches. Unhurried. Unadorned.
Seven notes, one candle, forty hours of burn. Part of our Spring Atelier Edit — four objects chosen not to match, but to mean something together.
Shop the editSeven weeks from brief to bottle. Nothing reactive, nothing trend-chasing.
Every run is numbered, dated, and signed on the base. 240 pieces per release.
Thirty days, no questions, prepaid label.
New drop. Old rules. Three pieces, three hundred units each, then never again.
Shop the drop →14oz boxy-fit. Oversized screen print.
342 leftDyed canvas. Reverse stitch. No logo.
almost outSix panel. Curved brim. Shop tag only.
back in stockThree botanicals. One bottle. No actives fighting each other for attention.
Start your ritualVitamin A, naturally
Calms reactive skin
From olives, not sharks
A gentle 5%
Meridian is the tracking layer, dashboard, and alert system your ops team was going to build next quarter. Running in 90 seconds. Free while you're small.
Install our SDK, paste one line, see traffic.
Public status page. Real numbers.
Up to 10k events a month.
Four single-origin roasts, turned by hand over a ten-year-old drum roaster in a former print shop on the east side of town.
Begin a subscriptionNamed farms. Traceable to the co-op.
Small batches. Roast dates stamped on every bag.
Out the door within 48 hours of the roast.
Six flavors, zero corn syrup, 100% the-best-thing-in-your-lunchbox energy.
Build your packTangy, chewy, faintly suspicious.
Face-scrunching confirmed.
Purple-coded comfort.
Most CRMs assume you're selling software. BoothCRM is for vendors, guest bookers, food operators, and sponsor coordinators running trade shows, comic cons, and expos — where an "opportunity" is a booth and a "close date" is the show itself.
| Opportunity | Stage | Type | ARR |
|---|---|---|---|
| Felicia Day — Panel + Signing | Closed Won | Signing | $45,000 |
| John Boyega — Appearance | Negotiating | Guest | $85,000 |
| NovaTech — Sponsor Package | Interest | Sponsor | $15,000 |
| Pacific Candles — Booth | Proposal | Vendor | $1,800 |
| Wild Honey — Food Vendor | Closed Won | Food | $1,600 |
Opportunities, contacts, and revenue all roll up by show — Fan Expo, Comic Con — not quarter. Built around how conventions actually work.
Nine opportunity types — Vendor, Food Vendor, Guest Appearance, Panel, Photo Op, Signing, Activity Room, Custom Room, Sponsor — because "deal" isn't specific enough.
A separate forecast dimension (In Forecast · Stretch · Unlikely · Out) so an early-stage whale doesn't distort the same field a late-stage stretch deal lives in.
Why this lineup · PageFly practices · UX principles
The two D&D directions at the top answer "can you do this niche?" — they're the ones a tabletop-games client needs to see first. "Tavern Parchment" is the warm, welcoming, tavern-booklet feel most TTRPG brands lean on. "Obsidian Arcane" is its opposite — dark, collector-grade, scarcity-driven — for premium dice makers, metal sets, and limited-edition studios. Both include a full product page because a landing page without a product page is half a portfolio.
The six concepts after that answer "can you do anything else?" — editorial to brutalist to playful. Different enough that no two live in the same week on Pinterest.
The BoothCRM case study closes the set because it's the only piece that's real, live, and mine end-to-end. It's there to answer the quiet question every hiring manager has: can this person actually ship?
Each landing funnels to a single primary CTA. Each product page funnels to Add to Cart. Secondary links exist but are visually subordinate.
Every hero answers "what's in it for me?" in the first screenful — concrete benefit, small trust signal, clear next action. No manifesto before the offer.
Both D&D product pages follow the proven pattern: breadcrumb → image + thumbs → title/rarity → price + availability → short description → variant pickers → quantity + Add to Cart → "what's included" reassurance block. Same bones, different voice.
Every grid collapses cleanly at 820px and 780px. Type uses clamp() so headlines don't overflow phones. Touch targets stay above 44px.
aria-hidden="true".Brand names in the Shopify concepts are invented. CSS gradients and SVG shapes stand in for photography. The BoothCRM section is the exception — it's a real, live Django app I built, with real filters, real pipeline types, and real vendor data, hosted at boothcrm-9de37e80aa44.herokuapp.com. You can click through it.