around the same time, i was spending my days supporting our users. "nobody's dream project" was ironically addressing an issue that was by far and away the *worst* part of a user's day. unglamorous problems are a ripe opportunity to own what's overlooked, and make a real change
My first project as a new grad at @stripe was a service to turn chargeback evidence submitted through our API into PDFs and fax them to our banking partners. I'd never seen a fax in my life.
It was nobody's dream project, and I was sure I'd get fired, so I went deep. I learned how much complexity we could hide behind a simple API, even when our banking partners still relied on paper faxes. Two years later, I got to build the first version of Stripe Radar to stop fraudulent chargebacks in the first place.
You often don't get to choose where you start, but going deep, becoming the expert, and earning the trust to take bigger swings is still a great way to build a career. AI has changed how we work, but I don't think it's changed that playbook.
@vikrams039 wrote the guide I wish I'd had as a new grad: https://t.co/Iol9v4dRBI
my piano started playing in the other room while i was home alone, i rushed to my phone thinking codex picked up my old player piano work
…was just our cat taking a stroll
@tobi hey! was just at my local garden center for ~3 hours helping with their Shopify POS regarding fulfillments/marking delivered, POS v11.11 shared cart, and Flow. I was pretty stumped during parts too, so sharing a bunch of feedback below while it's fresh :)
===
– POS "Mark in-store order as fulfilled", but it doesn't apply to orders marked for shipping / delivery. As a garden center, all their purchases are in-store including for delivery. Since this isn't automatable out of product, they end up with a lot of unfulfilled orders, and therefore incorrect inventory. Takes up a meaningful part of their admin's daily work to try to bookkeep.
Flow is very cool, and is how we fixed it. But it was really hard even for me (took me hours), required 3 distinct workflows to work around async object nuances, and a lot of manual debugging.
– Every time you reset the initial trigger condition, subsequent step conditionals *and* saved test cases have to be re-saved even if the object params are the same. I had to go one-by-one and reset name matches. (Also would've been nice to just share test cases across Flow, I had to keep finding the same orders over and over.)
– "Order paid" or "Order ready for fulfillment" seemed like obvious triggers. But my conditional to check if `order.shippingLine.custom == true` (they use $0 shipping so they can bill it custom on the spot) kept failing, along with every other related parameter I tried (looping over fulfillment orders in case it was a nested object, matching against shipping rate title, etc) and trigger (requiring a harder reconfig). Turns out you need a ~5 minute delay due to payment provider callbacks, but it's not clear from the <empty> state or debug info, and no order update option made it hard to figure out the event modeling (I ended up with 3 diff workflows).
– Debugging parameter mismatches was incredibly manual. The trigger event only shows the payload properties immediately needed. The test result pages only showed the value of the matched properties, which in my case were always `<empty>`, and changing those to try different permutations required I rerun tests every time.
– Seeing logs for the test events (like you can real events on a workflow) and/or the full object JSON payload would've been massively useful. I eventually found it via https://t.co/gEqmExYqEf<id>.json, but because of the async order paid thing it didn't line up: the admin endpoint showed shippingLines as a non-empty array, but Flow saw <empty>
– Nitpick, but a first-class action for marking an order as delivered would be nice. Had to use a fulfillmentEvent mutation via the API.
POS shared carts:
– from v11.11: she was very excited about shared carts across devices, but couldn't get it to work even after confirming on right version. Eventually figured out it's because their team members didn't have permissions—not for any particular reason—and it was non-obvious that would be why; since her account is admin but no one else is able to use it, it seemed like the feature was just disabled even for her. Hard to realize that "Managed recent carts" permission is what you want for "Shared cart"; honestly we spent most our time looking in the Orders settings. A NUX on the orders tab calling out permissions for this new feature would have helped. – She also reported a small-but-annoying friction: with v11.11.0, every app open has a ~5 second syncing delay now. Notable when IRL with customers bouncing back and forth. Not sure if fixed but because they're on the go and have 10+ devices it is a papercut. Possible v11.11.2 fixes per support? but couldn't find confirmation of the release.
codex: automate codex
`$codex-meta` gives codex a comprehensive view of itself, and how core concepts fit together: subagents, automations, hooks, security, memory, App Server. helps me have codex adopt new codex features for me, and improve my setup e2e
https://t.co/9ZLNVAHGeE
my fiancée and i love to design, so we don’t give up the fun exploration part. from iphone/ipad, select safari tabs, tap copy links, paste to codex. it’ll batch order, find deals, checkout, track orders for any issues, and work with support to resolve.
make Codex great at the boring parts of shopping by telling it to remember these tips:
* use Chrome, reuse existing carts/tabs, and keep live checkout state intact
* build every cart as far as possible, then batch blockers/questions for me
* exhaust discounts: online codes, email/SMS signup, stacking; use best code and unsubscribe later
* prefer Shop Pay/Stripe Link over normal checkout; authorized to use emailed/texted auth codes
* accept required checkout terms/steps, but don’t opt into marketing unless needed for a discount
* don’t final-submit/pay without action-time confirmation
* prefer reputable retailers; flag sketchy sellers, spec mismatches, bad return terms, weird lead times
* verify exact qty/color/specs, delivery type, lead time, returnability, and total before handoff
* use white-glove only for heavy/fragile/assembly-heavy items; flag absurd shipping and consider alternatives
* on vintage/marketplaces, make aggressive offers; batch same-seller items for bulk leverage
* in live support chat, check it every 30–60s and respond fast
* authorized to share order/customer details with checkout/support channels when needed
* keep monitoring email & texts for order updates until delivery, work with support to resolve any issues
codex windows uses past few days:
* Turned LG rolling TV into remote workstation: connected to monitor to setup Homebrew, Moonlight, and on the PC Sunshine so I can use my desktop anywhere in the house.
* Built OBSBot camera plugin, logging in to UniFi dashboard to find camera, downloading SDK from Gmail, and vision to fine-tune camera API perf.
* Put NAS on Tailscale, setup Plex Media Server, diagnosed slow transfers from NAS admin & UniFi network topology. Got my father-in-law remote access to his favorite media -- oh, and it used Chrome to go find out how to buy him an iPad remotely in Maine and deliver it.
* Built a safer webOS dev token refresh flow, the Homebrew channel option sends tokens to a remote server, so after a security audit decided to make its own.
* Made my Mac bootstrap repo cross-platform & setup entire PC in Windows native way: PowerShell native dev env (wrapped w/ Socket Firewall of course), PowerToys config, keyboard mapping, taskbar cleanup, path normalization, WSL w/ dotfiles installed, and common apps like VLC, OBS, Tailscale (full setup via admin on browser).
* Built a "record every window" automation for OBS screen recording: automatically notices new windows, adds to OBS as a window capture source, tiles them into a scene, and records for easy demo compilation.
now to go wheel ’dex out to my new metal fabricator!
Last night I asked Codex to reverse-engineer my building's ancient door system.
Just now I unlocked the front door by asking Codex in ChatGPT to do it.
From my phone.
✨🤯