Jeff

An AI friend who always knows what's on

Jeff is an iPhone app that finds things to do you'll love: gigs, comedy, theatre, sport and days out across the UK. Instead of another listings app, Jeff works like a friend who always knows what's on. You chat to him, he learns your taste, and he messages you first when he finds something good.

I took Jeff from idea to the App Store, designing and building the whole product myself — the app, the AI behind it and the systems that keep him useful.

Role
Founder, Designer & Developer
Responsibilities
Strategy, design & development
Platform
iOS
Technology
React Native, Expo, Supabase & Claude
The home feed: just announced, tomorrow, and a button to plan something with Jeff

The problem

There's always something on. Finding it is the hard part.

Every weekend there are thousands of gigs, comedy nights, matches and days out across the UK. But finding the ones you'd actually enjoy means scrolling through ticket sites, newsletters and social feeds, each organised around what they want to sell rather than what you're into.

The result is familiar: you hear about the gig after it's sold out, the plan with friends dies in the group chat, and Saturday night ends up being the same as last Saturday.

Existing apps tended to fall into two camps:

The opportunity was to flip the model: rather than asking people to search, give them someone who searches for them — and who gets better at it the more they talk.

Asking Jeff for comedy on Friday, with three picks as event cards
What Jeff knows about you, the food you like, saved events and the acts you're watching

The solution

A friend in your phone, not another listings app.

Jeff is built around two simple ideas: a home feed that's already full of things you'd enjoy when you open the app, and a chat for when you want something specific. You tell him what you're into and when you're free, and he does the digging — searching live listings, picking a few good shouts and explaining why they suit you.

I focused on five core principles:

Show, before asking.

Open the app and the feed is already waiting: just-announced shows with tickets about to go, and a few weeks of picks, from easy nights this week to bigger things worth booking now. Nobody has to know what to search for to find something good.

Just ask.

Talk to Jeff the way you'd talk to a mate who always knows what's on. "Comedy on Friday?" or "something to do with my girlfriend next Saturday" should be all it takes.

Plan the whole night.

A gig is rarely the whole evening. Jeff can turn any pick into a plan — somewhere to eat beforehand and somewhere for drinks after, close to the venue — ready to send to friends.

Get to know people.

Every save, "not for me" and conversation teaches Jeff something. He keeps a short, editable note of what he's learned, so recommendations improve without people filling in forms.

Speak first, but only when it matters.

The most valuable moments are time-sensitive: a favourite announcing a tour, presale opening tomorrow. Jeff checks in throughout the day and messages first when he finds something worth knowing — and stays quiet when he doesn't.

The feed, with a line from Jeff on each pick and Make a plan under every card
Not for me asks what put you off: too far, too pricey, not my thing or can't make it
Choosing the food you like and anything you can't eat

The design & key decisions

Designing an AI product that feels human, not technical.

01. Make every pick on the feed earn its place

The feed is a short, curated list rather than a wall of listings. "Just announced" sits at the top as a row to swipe through, because those are the moments people miss; "Coming up" follows, mixing things this week with bigger nights further out, mostly close to home.

Every card carries one line in Jeff's voice on why it's a good shout for that person — not a repeat of the title, date and venue, which the card already shows. That line is what makes the feed feel picked for you rather than sorted by an algorithm.

02. Turn every tap into taste

Saving a card or marking it "Not for me" isn't just tidying the feed. "Not for me" asks why — too far, too pricey, not my thing or can't make it — and the next feed steers away accordingly: nearer, cheaper or simply different. People teach Jeff without ever filling in a preferences screen.

03. Make chat the interface

For anything more specific, there's a chat: an iMessage-style conversation with event cards that slot into it. Familiar patterns meant there was nothing to learn, and the cards kept actions — get tickets, save, share — one tap away.

04. Plan around the event, not just book it

Make a plan turns a single pick into a night out: dinner nearby, the event, then drinks, with timings that work together. Places come from Google, only within about ten minutes' walk of the venue and only those plenty of people rate well, so every suggestion is somewhere you'd be happy to end up.

Food was designed around the person, too. People choose the cuisines they like and anything they can't eat — vegetarian, vegan, halal, gluten-free — so Jeff never suggests somewhere that doesn't work for them. Plans stay flexible: "somewhere cheaper" or "a pub, not a cocktail bar" updates the plan card rather than starting again. And because plans are usually for more than one person, each comes with a short message ready to send to friends.

05. Design for groups, not just individuals

Plans rarely happen alone. In a group, anyone can ask Jeff for ideas, everyone votes, and Jeff calls it. If it's a tie, he picks the best option for the group and explains why. Reminders make sure nobody forgets their ticket.

06. Make the AI's understanding visible and editable

"What Jeff knows about you" shows his note in plain English, alongside the food people like and the acts they follow. Seeing — and correcting — what an AI has learned builds trust far more effectively than hiding it.

07. Give the AI a personality, and guardrails

Jeff's tone was designed as carefully as the interface: warm, brief and opinionated, like a friend's recommendation rather than a search result. Behind that, clear rules kept him honest — always labelling resale tickets, never inventing events, and choosing to stay quiet rather than send something that doesn't fit.

08. Private by design

No sign-up forms and no adverts. Jeff creates an anonymous account automatically, only uses a rough location that's never stored, and lets people delete everything with one tap.

A plan around Cat Power: dinner at a Greek restaurant, the gig, then drinks at a pub nearby
Asking for somewhere cheaper for dinner, and the updated plan

Iteration & delivery

From a chat prototype to a product ready for the App Store.

Jeff started as a single chat screen connected to live event listings. Using it day to day quickly showed where it needed to grow: a home feed so there was something to see before asking, plans for the whole night rather than a single event, and groups so recommendations could turn into actual plans.

Because Jeff's behaviour is driven by an AI, testing went beyond the interface. I built automated conversation tests that talk to Jeff as different people, checking that he finds relevant events, remembers what he's told and handles groups and reminders correctly.

Preparing for the App Store brought its own design work, including reporting and blocking in group chats and asking for consent before anything is shared with the AI. These weren't just compliance tasks — they were part of making an AI product people could trust.

Chats: your personal chat with Jeff, and a group with your friends
A group chat asking Jeff for comedy on Saturday, with picks to vote on
Jeff calls it and saves the winning night for the whole group

Outcomes & learnings

Designing the product, and the intelligence behind it.

Jeff brought together everything from interface and conversation design to the systems behind them: event search across Ticketmaster, Skiddle, See Tickets and more, a memory of each person's taste, scheduled check-ins and group decision-making.

What's next: from finding to doing

Today, Jeff finds the night and plans it, but booking still happens elsewhere. The longer-term vision is for Jeff to act as an agent: booking the tickets on your behalf, then everything around the event too — reserving the table, sorting travel there and back, and keeping everyone in the group up to date.

The aim is to make the whole experience as frictionless as possible, so the gap between "that looks good" and actually being there is a single conversation. Designing that well means deciding where Jeff should act on his own and where he should check first, especially when money is involved — making sure that convenience never comes at the cost of trust.

What I took away

Designing with AI changes what a product can be. The interface is only part of the experience; the rest lives in how the AI behaves — what it remembers, when it speaks and how it explains itself.

The biggest lesson was that restraint matters as much as capability. Jeff became more useful when he did less: fewer picks, shorter messages and the confidence to stay quiet. Getting that balance right is a design problem, not just an engineering one.

Building it end to end also reinforced the value of shipping early and living with the product. Many of Jeff's best features came from using him, noticing where he fell short and iterating quickly.