Fred’s search card · live

Find me a 1 bed in Williamsburg, Greenpoint or the East Village under $4,500

Apartment search

Done
StepListings checked
  1. Searching listings1,214
  2. Reviewing matches
  3. Picking the best
  • $3,350 · Greenpoint

    1 bed, 1 bath · $950 under the area’s usual

  • $3,900 · Greenpoint

    2 bed, 1 bath · 4 min to the G at Greenpoint Av

  • $4,750 · East Village

    1 bed, 1 bath · 9 min to the F · Washer/dryer in unit

Fred • 2026

An AI agent that hunts apartments in New York

Overview

Fred is an apartment-hunting agent for New York. You tell Fred what you want, and it searches the listing sites for you, checks each building against city data and keeps likely scams out of your inbox.

James Darby and I built it in one day at the AI Engineer NYC hackathon. I did the research, the product design and the web app, and James built the backend and Fred himself. It’s live, and you can try the demo without an account.

Role
Research, product design and frontend
Team
Me and James Darby
Timeline
1 day, October 11, 2026
Built with
Next.js, Tailwind CSS, Vercel AI SDK, MapLibre
Fred’s web app: a sidebar with New places, Saved, Passed, Tours, Profile and Application packet, the chat with Fred in the middle, and an inbox of places on the right, each with a price, neighborhood, one line of facts and a fit word like Strong fit or Over budget with fees.
Fred in three panes: where you are, your chat with Fred, and the places Fred found. Listing photos are blurred because they belong to the listing sites.

Problem

How might an AI agent find you an apartment without becoming one more thing you can’t trust?

James and I are apartment hunting in New York right now, and it’s really a full-time job. Zillow, Apartments.com and Zumper all launched AI chat search in the last two years, so another chatbot wasn’t the answer. Jack & Jill, an AI agent for job hunting, turns a search into a conversation with an agent and an inbox of matches, and I wanted that for renting.

A New York apartment hunt has 4 problems a design has to handle:

  • Every site is its own hunt

    Each one has its own alerts, and the same apartment shows up on several of them.

  • The real cost is hidden

    You find out about the broker fee and the monthly fees after you’ve fallen for a place.

  • The building is a mystery

    Violations, heat complaints and bedbugs are public records, but few renters look them up before a tour.

  • Scams look like deals

    A place well under the area’s usual rent is either a great find or someone asking for a deposit before you see it.

Goal

Build something James and I would trust with our own hunt, in one day.

What it had to do

Only put places in the inbox that fit what we asked for, and back every number with the listing or city data.

Research

Renters didn’t need it faster. They needed to trust it.

Before drawing anything I pulled 8,205 App Store reviews from 31 rental, roommate and touring apps and sorted the 1 and 2 star ones by what went wrong. I expected speed to top the list, since good apartments here go in days, and it barely showed up.

What 4,190 one and two star reviews were about

  • App bugs, crashes and login26%
  • Scams or fake listings12%
  • Search ignores my criteria11%
  • Paywalls and billing10%
  • Touring and scheduling6%
  • Landlords never respond5%
  • Stale or already rented3%
  • Alerts arrive too slowly0.5%
The share of 1 and 2 star reviews that mention each problem, from 8,205 reviews of 31 rental, roommate and touring apps. I tagged them by keyword and spot-checked the tags by hand.
0.5%
12%
56 of 72
  • Scams and ignored criteria were the real pain.

    Scams were 12% of bad reviews, and search that ignores what you asked for was another 11%. The usual scam is an out-of-state “landlord” who wants a deposit by Zelle before anyone sees the place.

  • AI was a liability.

    56 of the 72 reviews from 2026 that mention AI gave 1 or 2 stars. People hated AI that was pushy and hard to turn off, and praised AI that kept an eye out for them quietly.

  • Speed wasn’t the complaint. Wrong alerts were.

    Slow alerts were 0.5% of bad reviews. Renters complained about alerts that ignored their criteria or pointed to places that were already gone.

  • Renters asked for proof.

    Their feature requests included building and landlord reviews, verification, a way to hide a whole building and comparing saved places side by side.

What it meant for the design

So the brief changed. Fred had to earn trust and stick to your criteria, and do it quietly, instead of racing to be first or chatting at you. I wrote that down as 4 rules.

  • Quiet by default

    Fred’s thinking is one line, and it speaks up when something matches.

  • Your criteria are rules

    A dealbreaker stays a dealbreaker, and places that clearly miss one never reach your inbox.

  • Every number comes from the data

    When a listing doesn’t say, Fred says Unknown and why, instead of guessing.

  • Nothing goes out without you

    Fred drafts the email to a leasing office, and it only sends after you approve it.

Ideation

Is Fred a character?

I mocked up three directions before building anything, and each one answered that question differently.

  • Direction A

    Doorman

    Fred is the doorman who knows every building: a warm character with a serif, deep green and brass.

    Morning. One of these is worth getting up early for.

    Kept:
    “Why this one” on every listing
    Left:
    The serif and brass, and a doorman works for the building, not for you
  • Direction B

    Express

    Fred talks like a good subway announcement: a clipped voice, signage type and an orange F.

    1 strong match. Listed 18 min ago. Tour it tomorrow.

    Kept:
    The short, plain voice
    Left:
    The orange F, and it sold speed, which renters didn’t ask for
  • Direction C

    Markup

    Fred is just a name, and a highlighter marks the fine print for you.

    Fred found 1 strong match among 212 new listings.

    Kept:
    The restraint, and Geist
    Left:
    The highlighter, which got busy fast
Each direction answered the same question: is Fred a character? The listing, numbers and screen were the same in all three, so only the system changed.

None of them felt right on its own. The layout I kept coming back to was Jack & Jill’s: a sidebar, a chat and an inbox of matches on a quiet near-white page with black buttons. So I built Fred in that shape and brought back the best part of each direction. I didn’t borrow their line-drawn faces, colors or typeface, so Fred needed a mark of its own.

Design decisions

Quiet, precise and honest about what it doesn’t know.

A window instead of a face

Fred’s mark is a portrait window, a box with a cross drawn in a 1.25px line. While Fred works, the four panes light up yellow one at a time, and they go dark when it’s done. Yellow has no other job in the app, so when you see it, Fred is on it.

The mark · live

Sidebar · 20 × 26

Fred

In the chat · 13 × 17

Watching for new places…
The panes light in a circle, top left, top right, bottom right, bottom left, 0.6 seconds apart. In the sidebar the mark sits still next to Fred’s name.

Thinking in one line, not a log

My first version showed Fred’s work as a card with a checklist, and it was way too much to read while you wait. Now it’s one line. While Fred works it says what it’s doing next to the lit mark, and when it’s done it folds into a short summary you can open. When Fred asks you something, the answers come as buttons you can tap.

Fred’s thinking · before and after

First version

Does 292 Nassau take dogs?

Checked 212 new listings since 7:00 AM

  • Merged 31 duplicates across sites
  • Skipped 2 likely scams. Both wanted a Zelle deposit before a showing.
  • Checked pet policy and laundry on 14
  • Asking 2 landlords about dogs…

What shipped

Does 292 Nassau take dogs?

2 steps

The listing says pets are case by case, so I’d ask before you tour. Want me to write to the agent?

Yes, ask themNot now
Left, the work log from my first version. Right, what shipped: one line while Fred works, folded into a summary when it’s done, and answers to tap.

When Fred searches, the reply gets a card like Jack & Jill’s job search, with numbered steps and a skyline. I drew Fred’s skyline from the mark, so its windows light up yellow as Fred looks and the areas and listings it’s checking float over the city. When it’s done the lights hold where they were, and the places Fred picked show up underneath, ready to save or pass without leaving the chat. That’s the card at the top of this page, rebuilt from its code.

An inbox that reads like answers

  • Each place is its price and neighborhood, one line of facts and a fit word, grouped by the day Fred found it.
  • Fit is always a word and never a percentage: Strong fit, Good fit, or the reason it’s a stretch, like Over budget with fees or Broker fee.
  • You can sort by newest, price, best fit or neighborhood, or switch to the map, where every place is a price pill. The map frames your places once, so saving or passing one leaves it where you put it.
  • You can drag the seams between the panes to give the chat more room, and the mic turns your voice into text with Whisper, right in the browser.
The map view: places shown as black price pills over a light map of Manhattan and Brooklyn, with a legend for new, seen and over budget.
The map, on free OpenFreeMap tiles that switch with light and dark mode.

The facts first, and Unknown when the listing doesn’t say

I picked a modal over a side pane so a listing gets your full attention, and each one still has its own link, so you can text it to a roommate and the back button closes it. The arrows and arrow keys step through your inbox, and the places on either side load in the background, so the next one opens right away.

A listing open in a modal: a large photo with thumbnails, the price and beds, the address, a Strong fit label, Pass and Save at the top, and arrows to step to the next place at the bottom.
Pass and Save sit at the top, and the arrows and Ask Fred about this place sit at the bottom.
Lower in the same listing: four fact boxes for monthly cost, move-in, availability and broker fee, a Why this one list, a Worth knowing list, a mini map, and a building score of 99 out of 100 from NYC Open Data.
Under the photos: the four facts, Fred’s take, the mini map and the building report.
  • The four facts are the monthly cost with required fees, what you’d pay to move in, when it’s available and the broker fee. If the listing doesn’t say, the box says Unknown and why.
  • “Why this one” and “Worth knowing” come from Fred, like “Not clear who pays the broker: ask”.
  • The mini map zooms with its buttons, a double-click or a pinch, and leaves the scroll wheel and arrow keys to the modal so it never traps you.
  • Each building gets a score from NYC Open Data, built from open violations, heat complaints, pests and 311 noise.
  • Passing asks what put you off, so Fred learns from it, and Undo is right there.
A different listing: a strong fit with no broker fee and laundry in unit, whose building scores 76 out of 100 with 5 open class C violations and bedbugs in one unit.
A strong fit on paper, with 5 open class C violations and bedbugs on file. Fred shows you both, and you decide.

Dealbreakers are rules, and nuance lives in Fred’s memory

Search that ignores what you asked for was 11% of the bad reviews, almost as many as scams, so the Profile page makes the difference between must and nice clear. Hard limits like area, budget, bedrooms and pets are dealbreakers. A nice-to-have is one tap from important and two taps from a dealbreaker, and Fred sees the difference.

Nice-to-haves · tap one

Nice to have · Tap once for important, twice for a dealbreaker

What Fred remembers · example notes

What Fred remembers

Notes Fred keeps from your chats and uses in every search. Fix or delete anything that’s wrong.

Needs

Two baths ideally, one is OK

Dislikes

Walk-ups above the 3rd floor · Fred’s guess

Timing

Moving by December 1

Under the search, What Fred remembers lists the notes Fred keeps from your chats, grouped into needs, likes, dislikes, timing and about you. You can fix or forget any of them, and notes Fred worked out on its own are marked as Fred’s guess.

I tried adding “ideally 2 baths, at least 1” to the form as two controls, and the page got worse, so I took it back out. That kind of nuance is easier to say in a sentence, so it lives in Fred’s memory.

The Profile page: your photo and name, then What you’re looking for with neighborhoods, budget, bedrooms, bathrooms, pets, a move-by date, a no broker fee checkbox and nice-to-have chips, then What Fred remembers.
Profile for a brand new demo guest, before Fred has any notes.

System

One set of tokens for light, dark and phones.

Every color is a token with a light and a dark value, named the way shadcn names them so components pick them up for free. The map tiles and controls switch with your system too. On a phone the chat sits on top, the inbox below it, and a listing opens full screen.

TokenLightDarkUsed for
Background#FFFFFF#121211The inbox, cards and the modal
Sidebar#F5F5F2#1A1A18A step warmer than the inbox
Foreground#141413#EDEDEAText, the send button, unread dots and the mark
Highlight#FFDD55#F2CF45Lit panes and skyline windows, only while Fred works
Success#2E9E5B#4CC27EStrong fit, Good fit and a healthy building
Warning#B86E14#F0A050Over budget with fees, broker fees and building flags
A listing in dark mode, with dark map tiles and the map’s zoom buttons themed to match.
Dark mode. The map’s zoom buttons and credits follow the theme too.
  • Fred on a phone: the chat box at the top and the inbox of places below.

    Inbox

  • A listing open full screen on a phone, with photos, price, address and the four facts.

    Listing

  • Lower in the listing on a phone: Why this one, Worth knowing, the mini map and the building score.

    Facts and map

  • The map view on a phone, with price pills.

    Map

Results

Live, with a demo anyone can try.

Fred runs on our own domain, and the demo signs you in as a fresh guest with an example search, so you can try the real app, real listings and the real Fred without an account.

Built in
1 day
37
195

How I built it

Next.js on Cloudflare, the Vercel AI SDK for the streaming chat and MapLibre for the maps, talking to James’s Mastra agent through one typed contract. The engineering side has the details.

Reflection

Reading reviews before designing changed what I built. I almost made Fred fast and chatty, and renters care much more about trust and a search that sticks to what they asked for.

What I’d do next:

  • Give a new person a first conversation. Right now the chat starts as one line of example text, which leaves a lot of empty column.
  • Design alerts properly. Email works today, and texts would reach people faster.
  • Compare saved places side by side, which renters asked for in the reviews.
  • Put it in front of renters who aren’t us.