Inspiration

For an independent photographer, a new inquiry is only the beginning. Turning a client’s idea into a shoot means gathering missing details, developing a creative direction, finding visual references, planning deliverables, checking availability, and coordinating decisions. Much of that preparation repeats with every client.

I built ShotCraft to give photographers a prepared starting point and give clients a clear path from “I have an idea” to “we’re booked.”

What it does

ShotCraft is a shared workspace for photographers and clients. A client submits a shoot inquiry, and Strands agents assess what is missing and ask focused follow-up questions. Once the details are complete, ShotCraft prepares a creative brief, moodboard, and editable shoot plan for the photographer.

ShotCraft then checks the calendar and presents valid time options that fit the shoot’s duration. The photographer decides what to share; the client approves the plan and chooses a time. The application checks availability again before saving the booking. If plans change, ShotCraft helps the photographer review rescheduling and cancellation requests.

The agents handle preparation and recommendations. People make the decisions: approving the plan, sharing times, confirming a booking, and responding to a cancellation.

How I built it

ShotCraft gives photographers and clients dedicated workspaces for each stage of a shoot, from the first inquiry to a confirmed booking. Behind them, a FastAPI service orchestrates the workflow. Strands agents use task-specific tools to assess inquiries, develop creative direction, review scheduling options, and help photographers respond to cancellation requests. The agents run on Amazon Bedrock AgentCore, with Amazon Bedrock providing text reasoning.

FastAPI owns the data and booking rules: it checks calendar conflicts, applies a 30-minute buffer, validates agent recommendations, and saves decisions after human approval. For moodboards, the agents plan the visual direction and OpenAI’s image generation model creates the images. ShotCraft stores those images in private Amazon S3 with a local fallback. The application runs on Amazon EC2.

Challenges I ran into

One of the hardest decisions was defining what the agent could safely do. A time slot can sound plausible without being available, so ShotCraft calculates valid options in application code and lets the scheduling agent rank only those choices. It checks the client’s selected slot again before confirming the booking.

Latency was another challenge. Moodboard images took time to generate, so I ran image generation concurrently with the LLM call that drafts the shoot plan. ShotCraft saves results as they arrive and supports retries and fallbacks if either step fails.

Keeping the client and photographer workspaces in sync was difficult too. An inquiry, plan approval, shared time option, or booking changes what each person needs to see and do next. I had to make those transitions clear in both workspaces, including whose decision was pending, so neither person was left acting on an outdated view.

Accomplishments that I’m proud of

ShotCraft connects the full journey: inquiry, clarification, creative direction, photographer review, scheduling, client approval, and booking. It provides separate experiences for both people involved while keeping them connected through one workflow.

I’m especially proud of the human approval points. The photographer can edit the plan and decide which options to offer. The client can review the plan and choose a time. The agents move the work forward while leaving those decisions with the people involved.

What I learned

Building ShotCraft was a joyful way to learn Strands Agents and Amazon Bedrock AgentCore firsthand. I experienced how Bedrock can help turn an incomplete client inquiry into a useful creative brief and shoot plan, while Strands gives each agent a clear task and the tools to carry it out.

I also learned that good agent design depends on clear boundaries. Creative reasoning benefits from an LLM, but availability and policy decisions need reliable application rules. Structured agent results helped me validate recommendations, and the client and photographer workspaces taught me that showing who needs to act next matters as much as producing the first answer.

What’s next for ShotCraft

I want to put ShotCraft in the hands of working photographers, learn where it saves them time, and build the features they need most. Their feedback will guide improvements to the inquiry and planning flow, along with calendar and client communication integrations.

I also want to make it easier for clients to describe what they want, with clearer choices and voice support during the inquiry. Beyond the booking, I plan to extend ShotCraft into the post-shoot workflow, including image delivery and follow-up communication.

The goal is a tool that helps photographers from the first client idea through the final handoff.

Built With

Share this project:

Updates

Submission history