Skip to main content

Claude/ChatGPT Prompt to Build a Photographer Portfolio with Lightbox

Photographer portfolio UI: category filter, lazy-loaded masonry grid, keyboard-navigable lightbox with EXIF overlay, and booking inquiry form.

Fill in the placeholders

Edit the values, then copy your finished prompt.

Your Prompt
prompt.txt

                                

What this prompt does

This prompt assigns the model the role of a senior front-end engineer who builds image-heavy sites and asks it to specify a photographer portfolio tightly enough to build, returning working component code rather than pseudocode. Photographers live or die on load speed, so performance is treated as a requirement, not a nice-to-have. Four variables steer it: [stack] sets the framework (Next.js with react-photo-gallery by default), [categories] defines the gallery filters, [image_source] says where images are served from (Cloudinary with responsive transforms), and [mood] sets the visual tone like "editorial, minimal, full-bleed."

The deliverables cover a category filter that updates the grid without a full reload, a masonry grid with lazy-loaded responsive images and blur-up placeholders, and a lightbox with keyboard navigation, touch swipe, and an EXIF overlay toggle. It adds a booking inquiry form with validation and a success state, a prints-shop preview section, and a performance plan covering image sizing, priority hints, and lazy loading to protect LCP — the part that most determines whether a gorgeous gallery janks on mobile or feels fast. Because the prompt asks for working component code and a sample gallery data shape rather than pseudocode, the filter, grid, and lightbox arrive with real props you can wire up, and treating performance as a named deliverable keeps the imagery from quietly sabotaging the booking the whole site exists to win.

When to use it

  • Building a photographer or visual-artist portfolio that is mostly imagery
  • Designing a lazy-loaded masonry grid with blur-up placeholders
  • Adding a keyboard- and touch-navigable lightbox with EXIF overlay
  • Filtering by [categories] without a full page reload
  • Tuning delivery from your [image_source] to protect LCP
  • Generating component code with a sample gallery data shape

Example output

You get components, props and types, and a sample gallery and image data shape: the category filter, the masonry grid with lazy loading and blur-up placeholders, the lightbox with keyboard and swipe navigation and an EXIF overlay toggle, the booking inquiry form with validation and a success state, the prints-shop preview, and a performance plan covering image sizing, priority hints, and lazy loading.

Pro tips

  • Treat the performance plan as a requirement, not a nice-to-have; unoptimized hero images are the number-one reason these sites feel slow.
  • Set [image_source] to a CDN with responsive transforms, like Cloudinary, so the grid serves correctly sized images.
  • Use blur-up placeholders to keep the grid calm while images load on mobile.
  • Keep [categories] short and meaningful so the filter stays scannable.
  • Use [mood] to drive the layout feel, but ask for the lightbox keyboard and swipe handling as explicit code.
  • If the gallery janks, ask the model to add priority hints to above-the-fold images to protect LCP.

Frequently Asked Questions

How does the prompt keep an image-heavy site fast?
It includes a dedicated performance plan covering image sizing, priority hints, and lazy loading to protect LCP, plus blur-up placeholders in the grid. The prompt treats this as a requirement because unoptimized hero images are the main reason photographer sites feel slow on mobile.
Does the lightbox support keyboard and touch?
Yes, the lightbox is specified with keyboard navigation, swipe on touch devices, and an EXIF overlay toggle. That makes it usable on both desktop and mobile, and the EXIF toggle lets photographers show capture details without cluttering the default view.
Where are images served from?
The `[image_source]` variable defines that, such as Cloudinary with responsive transforms. Pointing it at a CDN that resizes images lets the masonry grid serve correctly sized images per device, which is central to keeping the page fast.
Can visitors filter the gallery?
Yes, the category filter updates the grid without a full reload, using the values in `[categories]` such as weddings, portraits, and travel. Keeping the category list short and meaningful makes the filter scannable rather than overwhelming.
Does it return code or a description?
It returns working component code with props and types and a sample gallery and image data shape, not pseudocode. Set the `[stack]` to your framework so the components and gallery library match what your project already uses.
Engr Mejba Ahmed

Need this built for real?

Engr Mejba Ahmed

AI Developer · Software Engineer

I'm Mejba — I design and ship production AI systems, automations, and full-stack apps. If you want this turned into a working solution for your team, let's talk.

More in Creative & Portfolio UI Prompts

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support