Inspiration

I kept noticing the same thing happen to me: someone would mention, in passing, that they'd always wanted to try pottery, or that they hate loud bars, or that their birthday is in a few weeks — and by the time it actually mattered, I'd forgotten. Not because I didn't care. My attention just moves faster than my memory, especially with everything going on day to day. That's a really common experience, especially for people with ADHD or anyone whose brain is just a little too busy. I wanted something that caught those little details the moment I heard them, with basically zero effort, so I'd actually remember to use them later.

What it does

Kindred is a notebook for the people in your life. You tell it things about someone, out loud or typed, whenever you hear them: "Maya wants to try pottery, hates loud bars." It pulls that into a structured fact automatically and asks you to confirm it before saving anything, so nothing gets invented. It also tracks birthdays and other key dates for each person.

The part I like most: when it's time to actually do something for someone, you just say "plan a dinner date for me and Maya." Kindred asks what it still needs to know (when, where), then puts together a few real plan options, each stop grounded in an actual place and the actual facts you told it about that person, with the reason spelled out. You can swap out any single stop if it's not quite right, and save the one you like.

How we built it

The backend is FastAPI with a plain SQLite database. The frontend is Next.js and React. For the AI side, I used Nemotron 3 through Nebius's Token Factory, split across its three sizes for three different jobs: the small model turns a sentence into structured facts, the mid-size model goes and searches for real places, events, and weather for the date, and the large model takes all of that and writes the actual plan with citations back to the facts that justified each stop.

Voice capture uses the browser's own built-in speech recognition, so there's no extra audio model needed; it just turns your speech into text and feeds it through the same pipeline as if you'd typed it. For places, weather, and geocoding, I used free, keyless sources, so none of this depends on paid API keys to actually run.

Challenges we ran into

The reasoning models were the trickiest part. They spend a chunk of their token budget on invisible internal reasoning before they ever write the actual answer, so my first attempts kept coming back empty because I'd capped the output too low. Fixing that was simple once I understood what was happening, but figuring out why the model kept returning nothing took a while.

The bigger challenge was trust: an AI that makes up a restaurant that doesn't exist, or cites a fact you never actually said, is worse than no AI at all. So I added a grounding step after the model responds: every cited fact and every linked URL gets checked against what's actually real before it's ever shown to you. If the model invents something, it just gets silently stripped out rather than shown.

I also hit a strange one where a floating animation on the landing page looked completely frozen. Turned out an infinite animation loop wasn't actually running in the browser the way I expected, so I had to dig into it with dev tools and switch it to a plain CSS animation to get it reliably working.

Accomplishments that we're proud of

Getting the whole pipeline to work off of one spoken sentence is the thing I'm most proud of. You say "plan a dinner date for me and Maya," and in a few seconds you've got real, grounded plan options with reasons attached, without ever filling out a form.

I'm also proud that nothing in the app requires a paid API key to actually function. Places, weather, and location lookups all come from free sources, so anyone can run this without a credit card.

And honestly, the citation system itself. Every stop in a plan tells you why it's there, tied to something real you said about that person. It makes the AI feel less like a black box and more like it was actually paying attention.

What we learned

I learned a lot about working with reasoning models specifically — they behave differently from a normal chat model, and you have to budget for the thinking you never see. I also learned that trust matters more than cleverness: showing your work (citing the actual fact behind a suggestion) does more for how an AI feels than almost any other feature. And building around one real, specific problem — forgetting the small things about people you love — made every design decision easier than trying to build a generic assistant would have.

What's next for Kindred

A few things I'd want to add: planning for a group of people at once instead of just one, syncing key dates with an actual calendar, and a proper mobile app so capturing something by voice is as fast as pulling out your phone. I'd also like it to notice conflicting facts (if you mention someone loves something they'd earlier said they hated) and gently flag it instead of just saving both.

Built With

Share this project:

Updates

Submission history