Inspiration
My washing machine broke down.
I needed the warranty information — but I couldn't find it anywhere.
Notes app: empty. Paper receipt: gone.
I spent twenty minutes trying to remember if I bought it from PChome or somewhere else, before I could even make a phone call.
This wasn't a memory problem. I knew this once. I just couldn't find it when I needed it.
And that's when I realized: Google searches the world. Nothing searches your own life.
What it does
Within is a personal search engine for your own experiences. You speak naturally. Months later you search naturally. Nothing to organize, nothing to fill in.
You say: "I bought a washing machine from PChome, two-year warranty."
Within stores: 2026/09/14 · PChome · washing machine · 2-year warranty
Six months later you search: "where did I buy my washing machine"
Within retrieves: 2026/09/14 · PChome · washing machine · 2-year warranty
And the original words you said are preserved: "I bought a washing machine from PChome, two-year warranty."
And it isn't limited to things you buy.
You say: "To visit the Statue of Liberty, take the Staten Island Ferry — it's free. Buy the pedestal tickets directly from the official site, cheaper than third-party sellers. Bring ID."
Within stores: 2026/09/14 · Statue of Liberty · Staten Island Ferry · free · pedestal tickets · official site · cheaper · ID required
Next time you plan the trip, you search: "how do I get to the Statue of Liberty and where to buy tickets"
Within retrieves: 2026/09/14 · Statue of Liberty · Staten Island Ferry · free · pedestal tickets · official site · cheaper · ID required
Be vague when recording. Be precise when searching.
One of the most important design decisions was how Within handles corrections.
When a user says "wait, Hafa restaurant is on Zhongshan Road, not Yangming Road," the agent doesn't just update a field — it recognizes a correction is being made, marks the old value as superseded, and preserves the original record untouched.
History is never overwritten.
How I built it
Built with AWS Strands Agents SDK with Claude Haiku 4.5 as the model provider. Two narrowly scoped agents: one for extraction (record), one for semantic matching (search). Flask web app deployed on Render.
Challenges
AWS Bedrock access was locked on my account (Error 002), so I switched to Anthropic API directly. Strands SDK supports this cleanly — the agent logic stayed exactly the same.
The hardest design problem wasn't technical: it was deciding what the agent should NOT do. It must never invent information the user didn't say. If you said "I think it was on Yangming Road," that uncertainty has to be preserved, not silently turned into a fact.
Why no edit function
Within intentionally has no edit function — only delete.
This is a deliberate design choice. We don't want you spending your time rewriting your past records just to keep them perfectly organized.
Your time should be spent living your life, not maintaining the software that records it.
If something changes, you can simply record it again. The new record becomes part of the history instead of silently replacing what you said before.
We want you to spend your time living, not editing your life.
What I learned
What we really want to keep is not just information.
It is the things that happened in a person's life — things that felt worth remembering at the time, but might slowly disappear from memory a few months later.
- The restaurant a friend took you to, and you later wanted to visit again.
- The washing machine you bought, but later couldn't remember where.
- The hotel you stayed at in Tainan that you really liked.
- The route you once spent hours figuring out.
- Something someone casually told you at the time.
- Even something as simple as, "I really didn't like this place. Don't come here again."
What we want to keep is not "information."
It is the experiences that happened in your life.
What's next for Within
Within is currently a web app. The next natural step is a mobile app — because the moments worth recording happen away from a desk.
A few directions worth exploring:
- Voice input — speak a memory the moment it happens, without stopping to type
- Reminders from your own records — "your car warranty expires March 2027" surfaces itself when the time is near
- Shared records — a family or travel group where everyone can add to the same personal index
- Offline-first — the core loop should work without internet, syncing when connected
The principle stays the same: record naturally, find it when you need it, never lose what actually happened.
Built With
- amazon-web-services
- anthropic
- claude
- flask
- python
- render
- strands
Log in or sign up for Devpost to join the conversation.