All Insights
#SundayCoffeeAndCode
July 2026

Sunday Coffee & Code: Google OAuth, Three Models, One Working App

Grab your coffee - this week mixed 'learn something new' with 'watch three AI models handle parts of the same job very differently.' (It was a long day today.)

By Steve Harris

๐—ฆ๐˜‚๐—ป๐—ฑ๐—ฎ๐˜† ๐—–๐—ผ๐—ณ๐—ณ๐—ฒ๐—ฒ & ๐—–๐—ผ๐—ฑ๐—ฒ: ๐—š๐—ผ๐—ผ๐—ด๐—น๐—ฒ ๐—ข๐—”๐˜‚๐˜๐—ต, ๐—ง๐—ต๐—ฟ๐—ฒ๐—ฒ ๐— ๐—ผ๐—ฑ๐—ฒ๐—น๐˜€, ๐—ข๐—ป๐—ฒ ๐—ช๐—ผ๐—ฟ๐—ธ๐—ถ๐—ป๐—ด ๐—”๐—ฝ๐—ฝ

Grab your coffee - this week mixed โ€learn something newโ€ with โ€watch three AI models handle parts of the same job very differentlyโ€. (It was a long day today.)

๐—ง๐—ต๐—ฒ ๐—ด๐—ผ๐—ฎ๐—น: learn what it takes to bolt Google OAuth onto a ๐˜š๐˜ต๐˜ณ๐˜ถ๐˜ค๐˜ต๐˜ถ๐˜ณ๐˜ฆ๐˜ฅ Vibe Coded app - not loose prompt-and-pray coding, but one built on a real contract (BUILD-CONTRACT.md, Gherkin requirements and Expand-Migrate-Contract migration). Point a model at real OAuth and a real deployment, and see if the scaffolding holds.

๐—ง๐—ต๐—ฒ ๐—ฏ๐—ฎ๐—ธ๐—ฒ-๐—ผ๐—ณ๐—ณ:

  • ๐—™๐—ฎ๐—ฏ๐—น๐—ฒ got the job done but burned through tokens fast enough that I was sitting around waiting for a reset.
  • ๐—ข๐—ฝ๐˜‚๐˜€ ๐Ÿฐ.๐Ÿด picked up next - and spent ๐Ÿฎ๐Ÿฏ% ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐˜€๐—ฒ๐˜€๐˜€๐—ถ๐—ผ๐—ป just re-orienting before writing a line of code.
  • ๐—ฆ๐—ผ๐—ป๐—ป๐—ฒ๐˜ ๐Ÿฑ took over from there and just worked: fast, efficient, seemingly no re-orientation tax, finished the build and chased down every bug without burning the budget.

While mostly anecdotal, if youโ€™re picking a model for a long build with real infrastructure stakes, that efficiency is a consideration not just which model ๐˜ค๐˜ข๐˜ฏ do the work, but which one gets out of its own way.

๐—ง๐—ต๐—ฒ ๐—ฏ๐˜‚๐—ถ๐—น๐—ฑ: this app pulls fitness step data from the new Google Health API and putting real control in front of it, in three layers:

  • ๐—”๐—ฐ๐—ฐ๐—ฒ๐˜€๐˜€ - Vercel firewall, obviously.
  • ๐—”๐˜‚๐˜๐—ต๐—ฒ๐—ป๐˜๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป - Sign in with Google OAuth
  • ๐—”๐˜‚๐˜๐—ต๐—ผ๐—ฟ๐—ถ๐˜‡๐—ฎ๐˜๐—ถ๐—ผ๐—ป - a new email allow-list controlling whoโ€™s actually let in, not just proving identity

Getting there meant chasing down some genuinely satisfying bugs:

  • A redirect_uri_mismatch traced to a missing entry in Google Cloud Console - a missing call-back uri.
  • A deployment that built clean but crashed every request with `ModuleNotFoundError:โ€™ Good old dependencies to deal with.
  • Sign-out that silently didnโ€™t sign anyone out - a cookie-deletion header mis-match.

๐—ช๐—ต๐—ฒ๐—ฟ๐—ฒ ๐—ถ๐˜ ๐—น๐—ฎ๐—ป๐—ฑ๐—ฒ๐—ฑ: a working app - sign in with Google, connect your health data, see your (once-FitBit, now Google Health) steps by day. The integrationโ€™s cleanly isolated behind its own module, so the next metric - heart rate, sleep, whatever comes next - should be a small, contained change.

๐—” ๐—ด๐—ผ๐—ผ๐—ฑ ๐—ฆ๐˜‚๐—ป๐—ฑ๐—ฎ๐˜†. ๐—–๐—ผ๐—ณ๐—ณ๐—ฒ๐—ฒโ€™๐˜€ ๐˜€๐˜๐—ถ๐—น๐—น ๐˜„๐—ฎ๐—ฟ๐—บ.

Want to Discuss This Topic?

Steve is always happy to have a direct conversation.