NeedleworkerLumpy907
u/NeedleworkerLumpy907
Showed my tiny invoice tracker to a friend and he asked “so where does it save the clients?” I just froze. A full week of me clicking around proudly and telling people it has login plus a dashboard, and i had not once formed an actual sentence about the database. Not once. Opened Cursor, searched “supabase”, saw 14 files, and said “yeah its in there somewhere” with confidence i had no right using. What dumb obvious question about your own app got you caught?
Got my first refund last night and it stung more than the blank signup days, which is stupid but here we are. Not bugs. The page said setup was basically instant, then the first screen asked them to connect 4 things before they could see anything, so yeah, thats on me lol. I refunded them and rewrote the first screen, then cut half the onboarding I was proud of. No signups let me blame traffic, this didnt
Ive been too casual about npm install scripts. `postinstall` runs when im barely watching the job, and if CI already has npm tokens or GitHub creds sitting in env, that code gets a shot before the app even starts
Mini Shai-Hulud and the GitHub Actions cache poisoning threads finally got me to set `ignore-scripts` by default, then allow scripts only when I can name the package and why it needs one. Annoying. Less annoying than learning the install step read a token at 2am, tho
I asked Claude Code to clean up a gross auth helper, and it came back with “this function is doing two jobs because the surrounding design makes that convenient,” which is just a polite way to point at me. Fine. Then I asked why the tests kept fighting the change, it said they were documenting behavior i didnt believe in anymore. I closed the laptop. Claude isnt reviewing my code now, its reviewing the dumb little bargains I make with myself so I can still ship Friday
We did the cute `authenticate -> loadUser -> requireRole -> handler` chain too, it looked tidy for like 2 weeks, then one route needed an exception, another skipped `loadUser`, somebody reordered stuff during a migration, and now your debugging why `req.user` is undefined at 1am because some earlier middleware didnt run
At this point i mostly dont trust auth spread across 3 or 4 tiny pieces. Logging, rate limits, that stuff is fine as seperate middleware. Auth isnt. I want one guard per route group, it does auth + user lookup + permission check in one place, returns the 401/403 consistently, then the handler gets a known shape and moves on
You loose a bit of the clean Lego-block feel
I get why we do it, nobody wants to be the person who said “that edge case will never happen” 20 minutes before prod proves otherwise. But some codebases get weirdly timid. At my job weve got retries around retries, fallback branches nobody has seen fire in like a year, null guards for shapes that cant even be produced anymore, and half the service reads like the author was scared to touch their own function and just kept adding one more if-check, then one more, and now reviews take twice as long because no one can tell whats dead and whats load-bearing
The dumb part is we pay for this every day. Harder debugging, stranger incidents because the “safe” path swallowed the first error, and the
Bumped one service from 22.11 to 22.12 last week, same lockfile, boring dep refresh, then a worker started dying on boot at 1am with `ERR_PACKAGE_PATH_NOT_EXPORTED` because some old internal helper had been deep-importing from `lib/` for who knows how long and Node suddenly stopped letting it slide
Fix was like 6 minutes, we changed the import and moved on. The dumb part was spending almost 2 hours trusting everything else first because a tiny Node bump feels like the last place you look, especially when the code didnt change and prod logs just start screaming out of nowhere
If youve got dusty packages reaching into `dist/` or `lib/` directly, audit that stuff now, this occured
We stopped hiring backend people because “fullstack owns it end to end” sounded clean in a planning doc, and for like 2 quarters it looked efficient if all you checked was ticket throughput
Then prod started handing out the same punishment every 6 weeks. Frontend-heavy folks rotating thru APIs, DB migrations, queues, auth, cron junk, all of it, meant nobody was holding the backend line day to day, so now weve re-added strict API contracts, migration review, actual observability, rate limits, retries, idempotency checks, release checklists, alot of the old boring discipline basically had to be rebuilt after incidents instead of designed in from the start
Fullstack devs arent the problem. Th
