9a5fff81bf355a2ce417afb8e73e20c14f364eb6
Some checks failed
Deploy / deploy (push) Has been cancelled
Package-level slog.With() vars are evaluated at init time, before observability.InitLogger() runs in main. They captured the original default slog handler and bypassed the countingHandler that increments log_messages_total — so warn/error calls from these packages weren't being counted. Convert to functions so each call resolves slog.Default() at use time and inherits the active counting handler. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Terminal Coffee Shop
ssh sshops.uk
it's a coffee shop but in your terminal. you ssh in, browse the menu, chuck stuff in your cart, put in your address and card, and buy coffee without ever touching a browser. your ssh key is your account so there's no login or signup or any of that.
made it because i thought it would be fun to see if you could build a real e-commerce flow that lives entirely in a terminal. turns out you can. heavily inspired by terminal.shop.
running on Hetzner, behind Cloudflare.
tech: Go, Bubbletea, Wish, Chi, PostgreSQL, Stripe, Shippo, Bring
Description
Languages
Go
94.7%
Shell
3.8%
JavaScript
1.2%
Makefile
0.3%