Pictures worth taking. Pay only for the ones you love.
A reverse-flow photography marketplace built on Sharetribe — where photographers initiate the transaction on-location, customers are invited onto the platform post-shoot, and purchase happens only after viewing watermarked previews in a private gallery.
Sihmo is a European street and travel photography marketplace built on an entirely inverted transaction model. Rather than customers booking photographers in advance, Sihmo photographers approach people at iconic locations — canals in Amsterdam, streets in Lisbon, parks in Seoul, boulevards in Paris — take spontaneous portraits, and then invite customers onto the platform after the shoot. Customers browse their private watermarked gallery, choose a photo package, pay via Stripe, and receive instant full-resolution downloads. No pre-booking. No upfront payment. No obligation.
icodelabs built the complete platform on Sharetribe Extended with a custom photographer-initiated session invite flow, Cloudinary photo delivery with watermarking, package-based pricing, a GDPR consent mechanism, and an admin photographer verification system behind the Sihmo Badge.

.webp&w=1536&q=75)
The Challenge
Every standard marketplace starts with the customer. They search, discover, book, pay, and receive a service. Sihmo inverts this entirely — the photographer initiates the transaction in person, the customer doesn't know the platform exists until they receive an email invite, and payment only happens after the product has already been created. This required building a completely custom transaction process on Sharetribe that begins with a photographer-created session rather than a customer booking.
The platform also needed watermarked photo previews that protect the photographer's work before purchase, a GDPR-compliant consent flow for processing personal photographic data, package-based pricing rather than per-image pricing, and a trust layer — the Sihmo Badge — that signals verified, professional photographers to members of the public being approached on the street.




Tech Stack
A reverse-flow photography stack — Sharetribe Extended layered with photographer-initiated session invites, Cloudinary-powered watermarking and private gallery delivery, package-based Stripe checkout, and an admin-governed photographer verification system.
Marketplace Platform
Sharetribe Extended
Frontend
React.js
Backend / APIs
Node.js
Photo Storage & Delivery
Cloudinary
Watermarking
Cloudinary Transformations
Payments
Stripe
Market
Europe
Editorial typography and minimal tones of Sihmo
Clean, editorial, and light-touch — a platform that gets out of the way and lets the photography do the talking. The private gallery experience is minimal and personal, echoing a digital darkroom rather than a shopping cart. The homepage leads with authenticity — real testimonials from real moments captured in Amsterdam, Lisbon, Seoul, and Paris — positioning Sihmo as the antithesis of posed, pre-booked portrait photography. The Sihmo Badge and transparent pricing are foregrounded in the UX because trust is the entire product in a marketplace where the photographer finds you, not the other way around.
Pumpkin Orange
#FF6713
RGB: 255, 103, 19Dark Blue Grey
#223A46
RGB: 34, 58, 70Sunglow
#FFC930
RGB: 255, 201, 48Jungle Green
#31A38D
RGB: 49, 163, 141Early Dawn
#FFFAEA
RGB: 255, 250, 234Rubik
Semi-Bold
What We Built
Photographer-Initiated Session Invite Flow
The most technically distinctive feature of the entire build — and a first-of-its-kind transaction model on Sharetribe. Instead of a customer creating a booking, the photographer creates a Session Invite directly from the platform after completing a shoot. The invite captures the customer's first name, last name, email, a personal message, and session description. The platform sends a branded email to the customer with a unique session link — bringing them onto Sihmo for the first time, often minutes after their photo was taken. This entirely replaces Sharetribe's standard listing-browse-book flow with an outbound, photographer-driven onboarding mechanism.
GDPR Consent Flow
When a customer opens their session link for the first time, a custom GDPR consent step was built into the transaction flow — before the customer can view any photos. The consent mechanism explicitly captures the customer's agreement to have their personal photographic data processed and stored by Sihmo and the photographer, in compliance with European data protection regulations. Consent is logged against the session record. Customers who do not consent cannot proceed — protecting both the platform and the photographer from GDPR exposure across their European markets.
Cloudinary Photo Storage & Private Gallery Delivery
All session photos are uploaded by the photographer to Cloudinary, which handles storage, optimisation, and delivery. Each customer receives access to a private gallery scoped exclusively to their session — no cross-session access, no public listing. Photos are delivered via Cloudinary's CDN at preview resolution, with watermark transformations applied automatically before serving to the customer. The gallery experience is clean and personal — customers see their photos as if in a private digital darkroom.
Watermarked Preview System
Cloudinary's image transformation layer was used to apply automatic watermarks across all preview images served to customers before purchase. Watermarks protect the photographer's work during the browse-and-decide phase — customers can evaluate composition, expression, and quality through the watermarked previews, but cannot extract usable images without completing a purchase. On payment confirmation, full-resolution unwatermarked files are unlocked for instant download.
Package-Based Pricing
Rather than per-image pricing, Sihmo uses a package model — customers select from tiered photo bundles (e.g. 5 photos for a fixed price). Package options are configured per photographer or per session type, giving the platform flexibility across different shoot contexts and location tiers. Stripe processes the package payment at checkout, and Cloudinary delivers the corresponding number of full-resolution downloads immediately on payment confirmation.
Instant Full-Resolution Download
On successful Stripe payment, the customer's selected photo package is unlocked for instant download — full-resolution, unwatermarked files served directly from Cloudinary. The entire post-payment experience is designed to be immediate and frictionless — reinforcing the "if it clicks, you have it instantly" promise central to Sihmo's product positioning.
Sihmo Badge — Photographer Verification
A custom admin verification workflow was built for photographer onboarding. Photographers apply to join the platform and are reviewed and approved by the Sihmo team before receiving the Sihmo Badge — a visible verification mark displayed on photographer profiles. The badge is the primary trust signal for members of the public being approached by a Sihmo photographer in a public space. Without the badge, a photographer cannot create session invites or upload photos. This verification layer is foundational to Sihmo's ability to operate a street photography business model safely and at scale across European cities.






















Technical Highlights
- Completely inverted Sharetribe transaction process — photographer-initiated Session Invite replaces standard customer booking flow
- Custom session invite engine generating unique per-customer gallery access links delivered via email
- GDPR consent step built into the transaction flow — consent logged before any photo access is granted
- Cloudinary watermark transformation layer applied automatically to all preview images before serving
- Package-based pricing with Stripe checkout unlocking full-resolution Cloudinary downloads on payment
- Instant full-resolution photo delivery on payment confirmation — no manual fulfilment step
- Admin-governed photographer verification with Sihmo Badge required before session invite capability is activated
- Private per-session gallery architecture — zero cross-session data access


Ready to Build Your Service Marketplace?
Sihmo inverted the photography booking model — photographers approach travellers, capture spontaneous portraits, then invite them onto Sharetribe to pick favourites from a watermarked Cloudinary gallery. We build service marketplaces with custom transaction flows from $3,000. Fixed price. 90-day bug-free guarantee.
- 50+Marketplaces Delivered
- 90 DaysBug-Free Guarantee
- $3,000Starting Price
Real stories, Real Result

Sophie
Customer — Paris
"I hesitated at first — a stranger taking photos? But the Sihmo badge, the private gallery and the fair, transparent pricing won me over. Best portrait of me in years."





















