I have recently become a bit annoyed at how hard it is to schedule things with friends. Missing contact info, mismatched platforms, long text threads, people misinterpreting each other, non-committal answers. It seems like we should have better solutions by now. I went to check out Doodle again because I remembered using it in college, but through the power of enshittification, it barely has a free tier and also lost all of its personality. I had some extra tokens to spend because of the recent Codex resets, so I decided to see if I could make my own spin on the problem and how quickly it could come together with the latest LLM releases.

What whenshouldwehangout.fyi actually does

The spin on the problem I thought I’d try to figure out was to let folks use a free-form text field rather than complicated controls. An LLM takes care of interpreting that text and displays a calendar of the proposed times for the event. Share it with your friends and they get the same opportunity to use chat instead of a massive tic-tac-toe board. The organizer can then see how all the responses match together, and the app surfaces the best times to actually hang out.

The ability to just brain-dump your schedule without worrying too much about accuracy is pretty special. It is able to fairly reliably take natural language, even with messy input like “I’m free Tuesdays after 3, but not Wednesdays, or next Tuesday either now that I think about it.”

Event form with a free-text availability description for Trivia over the next three weeks

Suggested Trivia dates highlighted on a September and October 2026 calendar, with a 6 to 9 PM time range

The stack

The tech isn’t anything novel, but it is easy, quick, and effective. All of the choices are extremely cost effective to the point that I don’t mind sharing it openly on the internet.

  • Frontend: React + Vite, hosted on Cloudflare Pages
  • Backend: Cloudflare Workers
  • Database: Cloudflare D1
  • AI: OpenRouter with GPT-6 Luna (~$0.0001 per call)
  • Email: Porkbun email forwarding to my personal Gmail
  • CI/CD: GitHub Actions

It is truly mindblowing to me how accurate GPT-6 Luna is, especially with how affordable it is. My evals suite has run hundreds of AI calls, and I’ve spent less than a quarter total. I did test other small models through OpenRouter too. I assumed that I would have ended up with Qwen, DeepSeek, or even Gemini Flash, but GPT-6 Luna outperformed them all.

What still takes time to ship

All of this came together in my free time over a couple of days during the work week, which still feels kind of wild. The app itself seemed to materialize effortlessly with the help of LLMs, especially with how limited the scope is. There are still a number of tech-y things that take time though. I didn’t bother with infrastructure as code since I think that learning would have taken longer than the manual steps I already know. So I registered whenshouldwehangout.fyi through Porkbun by hand, then spent another probably 15-20 minutes click-ops-ing. Setting the nameservers to Cloudflare, waiting for them to be recognized, setting up the custom domain in CF Pages, setting up email forwarding, etc.

I used to think that this type of speed at all costs comes with a lot of obvious and visible trade-offs because that’s typically what happened when humans were writing all the code. It usually meant there was a lot of copying/pasting, incorrect uses of the technology choices, or just tons of bugs and inconsistencies with minimal polish. AI has tended to mirror those issues, but they do seem to be doing that with less frequency over time, especially if you can tell it the things to watch out for and how to double check itself against your values before declaring something “done”. I’ve been especially impressed with how writing CI/CD configs come together much more easily (at least for me) and allow for faster iteration and more sophisticated features within the same amount of time.

So what?

I’ve been thinking a lot lately about how people keep saying “SaaS is dead”. It’s definitely less defensible than it was, but I also feel like those who have distribution will likely keep it because of their reputation. I don’t know why anyone would trust my dinky little website, even if it does what they need. I don’t know how anyone would find it. I’m not really on social media much, nor do I like sharing things on it, and I’m not going to hype myself on places like Reddit. So making the software is less burdensome, but things like getting people to trust it and figuring out if it was worth making are still difficult.

I wouldn’t say I get quite the same satisfaction as I would have if I had written it all by hand. I sometimes miss those “eureka” moments after a long bout of struggle. But some of the things that blocked me before required skills outside my wheelhouse or interests, like coming up with a consistent style and brand. Those are no longer keeping me from making something. So I wouldn’t say I’m completely AI-pilled, but it does continue to help me turn ideas I might have otherwise abandoned into things I can actually release.

You can check it out here whenshouldwehangout.fyi.

Update (November 2026)

I ended up completely redesigning whenshouldwehangout.fyi. It’s got a new look and a more simplified calendar UX. You can talk through a schedule, type it out, or pick dates on the calendar directly. Here’s a peek:

The redesigned plan creation screen, with voice input and a calendar for choosing dates