Wenwei Lin

← All projects

Hackathons & competitions

Serendip

Tired after work and not knowing what to do, I kept repeating things I didn't enjoy. To break the loop: generate a few small things to do tonight in one tap, and swipe to pick.

When
2025.04 – 2025.07
Context
2025 Microsoft AI Agent Hackathon
My role
Design and development
Built with
Next.js · Server Actions · Vercel AI SDK · GPT-4.1 · Supabase
看建筑的城市散步今晚 · 1 小时 · 免费✕♥←→

Why

I was the user. After work I was tired and didn’t know what to do, so every evening went phone, TV, sleep. It wasn’t that I didn’t want to do anything else; deciding what to do was simply too much effort.

I wanted it to come up with ideas for me: read a new book, exercise, walk a street in Shanghai I’d never walked, find a restaurant I’d never tried.

From big to small

At first I wanted it to do everything. I gave the idea to v0 and it generated an interface with everything in it:

The interface v0 generated from my first idea: a home screen with today’s picks, city exploration, nearby food and more

“When I saw this design I paused for a second. It seemed like it could actually work? But should it really be all-in-one? Then it wouldn’t do any one thing well.”

Then I worked it out: “What you build at a hackathon doesn’t matter, having fun matters more. So build something fun, and skip the big concepts.”

What it does

Serendip demo video thumbnail; click to watch

Click to watch the demo.

  1. One tap and the AI suggests 3 to 5 things to do tonight, like “a casual painting session” or “an architecture walk through the city”;
  2. swipe left or right like Tinder to keep the ones you like;
  3. the ones you keep go into a “Tonight” list, and you tick them off when done.

Mobile first, and it works on desktop too. No sign-in, no image generation, no location: just the loop of “suggest → pick → feedback”. A round of ideas takes about three seconds.

Why it counts as an agent

The hackathon was about AI agents. I gave two reasons:

  • It plans on its own: with very little context (the time now, what you liked before), it puts together a small plan for the evening;
  • It remembers feedback: your swipes are fed back into the next prompt, so ideas repeat less over time.

There’s no separate back end; the agent logic lives in Next.js Server Actions, calling GPT-4.1 on GitHub Models through the Vercel AI SDK, with data in Supabase.

What didn’t make it

I wanted to connect Meituan to find nearby places I hadn’t eaten at, but Meituan has no API for individuals; I tried Amap instead and didn’t get that working either. Other ideas for later: filtering by location, remembering what you like, a morning check-in, and a group mode for picking with friends.