AWS Builder Center
A postcard from the version of you a year from now

A postcard from the version of you a year from now

Last weekend I wrote down the agent I wished I could talk to. This weekend I built it. It is called Future Self Postcard, and it does one small thing: you tell it one real thing happening in your life right now, and it writes back as you, one year ahead.

Cloud Engineer

What it does and who it's for

Open the site. A cream postcard sits at the top with a little stamp and a postmark ring. The prompt is simple: tell me one real thing on your mind today. You type something true. Maybe it's a worry you have been carrying. Maybe it's a decision you keep putting off.
What comes back is a short note in the first person, written as you, twelve months from now. It references the exact thing you said. It speaks from a year of hindsight. Then it asks you one genuine question and stops, the way a real letter does. You write back, and the correspondence continues.
It is for anyone stuck in a hard moment who does not need advice so much as perspective. Not a coach, not a therapist, not a motivational poster. Just a quieter, steadier version of your own voice, writing from a little further down the road.
uture
Future
Future

How I built it

The whole thing is serverless and small. The backend is a single Python 3.12 Lambda behind a Lambda Function URL, with AuthType NONE and CORS set so the browser can POST straight to it. No API Gateway. The model is Amazon Nova Pro on Amazon Bedrock, called through the Converse API. One IAM role scopes the Lambda to exactly one action: bedrock:InvokeModel on the Nova Pro model. The frontend is a static index.html with hand-written CSS and vanilla JavaScript, served from an S3 website bucket. There is no database. The conversation is stateless: the browser holds the whole thread and resends it on every turn, and the Lambda stores nothing.
Here is the part I am most happy with. This is the fifth agent I have built on one shared skeleton. The reusable plumbing, a module called bedrock_agent.py that wraps Bedrock plus CORS, and a thin handler that wires it together, is copied byte-for-byte between agents. The only backend file that changes per agent is agent_config.py, which holds the persona and the system prompt. So building Future Self meant swapping one config file, re-theming the frontend into a postcard, and renaming the AWS resources. The stack I already trusted did not move.

The delightful detail, and how I know it worked

Most "future self" prompts produce fortune cookies. I wanted the opposite. The one thing I spent my effort on is how the agent behaves when you are catastrophizing. When you say something like "my whole career is over," a lot of bots either argue with the feeling or drown it in good vibes. This one does neither. It names the feeling from hindsight, kindly, without dismissing it, and then it reassures you with something specific.
I know it worked because I drove the live agent and read the transcripts. I opened with "I just bombed a job interview I spent weeks preparing for and I am certain my whole career is over." The reply began: "I know it feels like the end of the world right now. It wasn't. Here's what you couldn't see yet," and then it talked about what the prep was actually worth, and asked one question. On the next turn I admitted I still felt like a failure. It answered that feeling like a failure is part of the process, not the final word. It validated the feeling first, every time, then offered perspective. Across four turns the voice stayed the same warm, grounded person. When I said goodbye, it closed with one line and no question, the way a letter should end.
Future
Future

Proof it works

The agent was deployed and ran live. The site runs on S3, the Lambda Function URL answered real traffic during testing, the OPTIONS preflight returns 200 with the right CORS headers, and the deployed JavaScript carries the real Function URL with zero leftover placeholders. The proof here is the captured screenshots plus the recorded transcript, not an invitation to call the endpoint: public model access is being closed after this capture. proof-2.png shows a rendered postcard with the actual turn-one reply in the handwritten future-self voice, styled with the live deployed CSS. proof.png is the live S3 landing page.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article