A Boundless Journey
Project Summary
A Boundless Journey is a premium travel photography and fine-art print platform built on Next.js, designed as an editorial experience for visual storytelling. The site serves as gallery, print store, and creative studio for Boundless Studios.
The build follows a phased approach: brand system first, then layout, then revenue infrastructure (prints store, email capture), then content pipeline integration and SEO. The hard deadline is live before the Petals, Tides & Tunes return in late May 2026 — ready to publish journey content in real time from the road.
Technology Stack
| Layer | Choice | Notes |
|---|---|---|
| Framework | Next.js + React | App Router, server components, Vercel hosting |
| Styling | Tailwind CSS | Custom theme tokens: copper, warm-white, primary |
| Typography | Cormorant Garamond + Inter | Editorial serif headings, clean sans body |
| Media | Cloudinary | Image CDN, responsive transforms, Lightroom sync |
| E-Commerce | Shopify + Prodigi | Print-on-demand fulfillment, headless storefront |
| Klaviyo | Signup forms, book waitlist, journey updates | |
| Content | Cowork JSON push | Claude agent pipeline from portfolio data |
Brand & Design System Complete
The complete visual identity for A Boundless Journey and Boundless Studios. Established the warm, editorial luxury aesthetic that runs through every page and interaction.
| Token | Value | Usage |
|---|---|---|
--color-warm-white | #FAFAF8 | Page background, primary surface |
--color-primary | #1A1A18 | Text, dark sections, hero overlays |
--color-copper | #B87333 | Accent, CTAs, section labels, compass rose |
--color-copper-light | #C4875A | Hover states, lighter accent |
--color-light | #F5F4F0 | Light text on dark surfaces |
--color-border | #D3D1C7 | Dividers, card borders |
--color-muted | #73726C | Secondary text, captions, metadata |
Homepage & Layout Complete
The full site shell: header with navigation, footer with brand mark, and the homepage with hero, journey grid, prints preview, studio section, and email signup. Responsive across all breakpoints.
| Route | Purpose | Status |
|---|---|---|
/ | Homepage — hero, journey grid, prints, studio, email | Done |
/journeys | Journey index — all collections | Done |
/journeys/[slug] | Individual journey gallery | In Progress |
/prints | Print store (placeholder) | Planned |
/work | Commissioned work / studio page | Done |
/about | About Boundless Studios | Done |
/contact | Contact form | Done |
/collections/lighthouse | Lighthouse Collection book page | Done |
Journey Pages In Progress
The inner journey pages are the heart of the site — each journey is a curated photo collection with editorial narrative, location context, and immersive gallery presentation. This phase builds the gallery system, portfolio data model, and individual journey page templates.
- Journey metadata — title, slug, region, date, status (published/upcoming), description
- Portfolio images — organized in
/public/images/portfolio/[slug]/ - Cover image system —
getCoverImage()utility resolves cover image per journey - PortfolioGallery component — responsive masonry grid with lightbox
- Upcoming journey state — placeholder card with date + “photos coming during the trip”
- Finalize gallery layout and image sizing per journey
- Build lightbox / full-screen image viewer
- Add EXIF metadata display (camera, lens, settings)
- Implement share functionality per image and per journey
- Connect to Cloudinary for optimized delivery
- Journey narrative text blocks between image sections
- Map component showing journey route
Prints Store Planned
The revenue engine. A headless Shopify storefront integrated with Prodigi for print-on-demand fulfillment. Customers select images from the gallery, choose size and medium (fine-art paper, canvas, metal), and purchase directly. No inventory, no shipping logistics.
Shopify + Prodigi Flow
- Shopify Storefront API — headless product catalog, cart, checkout
- Prodigi API — print-on-demand fulfillment (triggered by Shopify webhook on order)
- Product mapping — each print image is a Shopify product with size/medium variants
- Pricing tiers — small ($45-65), medium ($85-125), large ($150-250), metal/canvas premium
- Gallery integration — “Order Print” button on each gallery image links to product page
Store Pages
/prints— curated print collection grid/prints/[handle]— individual print detail with size picker + add to cart- Cart drawer — slide-out cart with Shopify Checkout redirect
Media Pipeline Planned
The image workflow from camera to site. Lightroom Classic exports to a watched folder, Cloudinary ingests and transforms, and the site pulls optimized images via Cloudinary URLs. No manual upload, no local image storage in production.
Pipeline Steps
- Shoot — RAW files on camera (Sony a7 IV / DJI Mavic)
- Edit — Lightroom Classic with consistent ABJ presets
- Export — high-res JPEG to watched folder with standardized naming
- Upload — Cloudinary auto-upload from watched folder (or manual bulk upload)
- Transform — Cloudinary generates responsive sizes (thumbnail, gallery, full, print-res)
- Serve — Next.js Image component with Cloudinary loader
Naming Convention
Files follow the pattern: [journey-slug]/[sequence]-[descriptive-name].jpg
Example: new-england-coast/001-portland-head-light-sunrise.jpg
Email & CRM Planned
Klaviyo-powered email capture and audience building. Two primary flows: general newsletter signup (new journey drops, print releases) and the Lighthouse Collection coffee table book waitlist. Both feed into segmented lists for targeted campaigns.
1. Newsletter Signup
- Embedded form in the homepage footer section (already in layout)
- Slide-up form on scroll (triggered after 60% page scroll or 30s)
- Klaviyo list: “ABJ Newsletter”
- Welcome flow: single email with featured journey + print store link
2. Book Waitlist
- Dedicated section on
/collections/lighthousepage - Captures email + optional name for pre-order notification
- Klaviyo list: “Lighthouse Collection Waitlist”
- Triggered email when book pre-orders open
3. Journey Updates
- Opt-in checkbox on signup: “Get notified when new journeys publish”
- Automated Klaviyo flow triggers when a new journey page goes live
- Uses journey metadata (title, region, cover image) for dynamic email content
Content Pipeline Planned
The Cowork-powered content pipeline that lets Claude agents push journey data, portfolio metadata, and page content to the site via JSON. This is the same pattern used by StratumOS — agents write structured data, the site reads and renders it.
Cowork JSON Push
- Journey data —
src/data/journeys.tsholds journey metadata, updated by agent - Portfolio manifests — JSON files listing images per journey with captions, order, EXIF
- Narrative content — markdown blocks for journey story text, parsed at render time
- Print catalog sync — agent syncs Shopify product data to local JSON for fast rendering
Agent Workflow
- Lightroom export triggers image upload to Cloudinary
- Agent reads Cloudinary folder, generates portfolio manifest
- Agent pushes updated journey data + manifest to repo or API
- Vercel rebuilds (ISR or webhook-triggered revalidation)
- New journey content is live within minutes of export
SEO & Launch Planned
Final polish and go-live preparation. Technical SEO, social meta tags, performance optimization, and launch checklist. The site should be discoverable, fast, and share-worthy before the first journey publishes.
- JSON-LD structured data — ProfessionalService schema on homepage (already implemented)
- ImageObject schema — per gallery image with EXIF, location, description
- Product schema — on print product pages for rich snippets
- Sitemap — auto-generated from Next.js routes
- Open Graph + Twitter Cards — per-page meta with journey cover images
- Canonical URLs — prevent duplicate content from share/friends routes
Build Timeline
All phases mapped against the hard deadline: live before the Petals, Tides & Tunes return in late May 2026. Phases 1-2 are complete. Phase 3 is in progress. Phases 4-8 must be completed or at minimum viable state by launch.
Open Decisions
Items requiring input before proceeding. Each decision affects the build timeline or architecture.
- Shopify plan — Basic ($39/mo) vs. Starter ($5/mo, headless only). Headless needs Storefront API access.
- Prodigi account — Sign up and test sample print quality before launch
- Print pricing strategy — competitive analysis needed (Society6, Minted, similar photographers)
- Print selection — which images from each journey make the print catalog?
- Cloudinary plan — free tier (25 credits/mo) sufficient for launch, or need Plus ($89/mo)?
- Image watermarking — watermark gallery images? If so, Cloudinary overlay vs. CSS overlay
- EXIF display — show camera/lens/settings on gallery images? Adds editorial credibility
- Lightroom preset name — standardize the ABJ export preset for consistency
- Klaviyo plan — free tier (250 contacts) sufficient for launch
- Book timeline — when does the Lighthouse Collection pre-order open?
- Signup incentive — offer a free digital wallpaper pack for email subscribers?
- Analytics — Google Analytics 4 vs. Plausible (privacy-first) vs. both
- Social strategy — Instagram as primary? Create dedicated ABJ Instagram account?
- Domain email — hello@aboundlessjourney.com for contact form submissions
- Friends/share system — keep the private share route for pre-launch preview?