Friday, November 21, 2025
-
This is a snapshot of how I’m evolving my LLM-assisted engineering workflow — what’s working, what’s not, and the experiments I’m running.
Mantra: Let’s try it
This is my LLM mantra lately. I talk to it for a bit, branch the repo I’m working on, and just let it go. It’s easy to:
- Just get started on something
- Code MVP (Agent) → Review (me) → Learn (me) →
- Option 1: Wipe the current branch and restart
- Option 2: Continue iteration b/c it works great
Agent Preference: Codex CLI && Claude Opus 4.5
UPDATE 11/26/25 - Still November: Of COURSE like a couple days after I released this… But I’m really liking Opus 4.5. It’s fast and has been knocking out tasks in a way I appreciate/trust way more than Sonnet.
Previously, I was on Claude Code (Sonnet) but Codex has been solid for me, so much so that I’ve upgraded to the Pro plan to get way more usage. A non-insignificant amount of times I find Codex 1-2-shotting a fix/feature that Claude is struggling on.
It comes down to trust and trust is earned. I currently trust Codex to do a better job with the way I work right now. 2 months ago, that was not true.
NOTE: As of now, I haven’t dug into Gemini code tools. They were broken during the first week of launch for me and quick “dip my toe in” tests were underwhelming and sometimes bad.
New Workflows I’m Testing
Co-working Out Loud
This has been the most impactful this past week. It’s very “heavy” from a context standpoint, but the results don’t lie. How this works:
- David and I get on a video call to run a process. (the Event funnel this week, < 1.5 hours total)
- He shares his screen and talks out loud about the process he’s running.
- We hit “slog” parts. For each part:
- Firing off LLM code features that I can fix in <20 min (during call)
- Digging into the details with him to understand more (during call)
- Start 1-2 medium size projects that I will work on for the next 24 hours (post call)
- Agree with him that it’s not worth changing (during call)
RESULT: Solo slog → Small team immediate progress
PROOF: David called me just to tell how he was enjoying the events funnel now that there’s massive momentum in the tools.
Internal MCPs for n8n to Consume
We don’t have a ton of resources at my company so we have to find clever ways to get work done. David (Offline owner) has been deep in n8n lately and has slowly pulled me into the wonderful world of workflows. While I do see the benefit, the “slog” that’s happening right now is the tools need to get data from one place to another.
This week, I build a small MCP + some other tools for one of our internal apps that will hopefully reduce the time it takes to organize Offline Events from a couple hours, to 10’s of minutes per event.
RESULT: 2-hour API + MCP Work
PROOF: TBD
AI Style Guide Markdown
At Offline, we’re testing a shared AI friendly style guide. We:
- Extracted the styles from our landing page
- Had AI generate a repo with visuals for humans and markdown for LLMs
- Added mini scripts in the various repos we have to check the version and pull down a copy if it changed.
It’s been ok so far. We’ve mainly run into it filling in the gaps in ways we didn’t like. But, once we fill those gaps in the AI doc with our preferred preferences, this should get better over time.
Anthropic just released an article about Improving frontend design through Skills that is adjacent to how we’re thinking.
RESULT: Better first-try AI designs.
PROOF: The Post-AI style is a bit more aligned, uses the header/footer properly, and only took 1-2 prompts to get right.
Login Page Pre-AI Style Guide

Login Page Post-AI Style Guide

*slog - that feeling you have when you know something should be faster, but your brain starts to be at 200% CPU capacity.
Tuesday, November 18, 2025
- 12:00 PMHey, Taylor Site Update
TinaCMS and Design System Updates
Integrated TinaCMS and refined the design system with improved consistency and readability.
Sunday, October 5, 2025
- 4:56 PM
How I'm using coding agents: October 2025
Inspired by multiple other blogs, I thought I would throw something small together.
Inspired by Simon Willison’s article Embracing the parallel coding agent lifestyle and the linked Jesse Vincent How I’m using coding agents in September, 2025.
Let’s go from 40,000 feet (barf, sorry), to 1,000 feet.
And before we start, it’s important to know a tiny bit about me.
TL;DR:
- I used to be a programmer (Javascript, Swift, Rails)
- I turned into a product manager and stopped coding
- I know enough and the things I work on are small enough that my list of code smells keeps things pretty clean. I do not write code anymore in the traditional sense.
40k: Separate Mental Context
I’ve found I need ‘physical’ spaces on my desktop to speed up context switching. I typically have 2 monitors going with:
- Left monitor has between 2 and 4 separate desktops depending on what I’m working on that day.
- Right monitor is for things I always want available

I can quickly CTRL + Arrow left and right to swap between them as needed and I usually put similar things next to each other.
EX.
Space 1: Main backend (API change)
Space 2: App that consumes main backend (will work with API change)
Space 3: App that also works with API change
Space 4: Mobile app simulator QA or a side project I had going over the weekend that I do not want to lose my setup for.20k Desktop Space Level
Each space runs it’s own IDE (Cursor or VS Code) which is running:
- At least 1 Claude Code instance, typically 2. But really no more than that.
- The server(s) necessary for that project to run.

I will just swap between them as one of the instances is churning on something. And yea, sometimes I just want to stay working on one space for an hour or two.
10k Planning + Execution
I am a huge Claude Code “Plan Mode” user. Almost everything starts in plan mode and big problems I hit go back to plan mode.
If I have 2 Claudes up running, they are typically working on two separate features on a branch.
- Claude 1: Executing a plan we already worked through
- Claude 2: Plan mode a task until I’m satisfied and then goes into a holding pattern until Claude 1 is done + QA’d + committed.
I’ve set up my Claude Code to play a sound whenever it’s done thinking so I at least have an idea when something is done cooking.
PS. I’m on the big Claude Max. 1000% worth it.
WORKTREES NOTE
I am not really into worktrees yet. They cause me too much mental overhead with having to run separate servers on different ports but share a DB.5k Feature QA + Smell Tests + Refactoring
When a Claude is done coding. I test the feature. If it doesn’t pass… we go back to plan + execution from above.
The feature QA takes place on the same desktop space as the IDE.
I do not read the code at this point.
NOTE: The only code I do read before it happens are migration files. Claude gets very cute with indexes, database triggers, and combining the WHOLE feature into one migration so I have some internal rules. I also NEVER let Claude run migrations, reset the db, or whatever. It has to ask me about everything related to database changes.
When the feature is tested, I run a custom Claude slash command that is slightly different per project. Here’s an example.
/review-open-diff.md
Review the open git diff for the following things: 1. Clean code 2. No code duplication 3. Components for repeated objects or making sure we use existing components we already have 4. No files >400 lines 5. Clear separation of concerns in folder and file structure with Next.js + React in mindSonnet 4.5 gives each of those numbers a rating and tells me what could be done better. If I agree, I let it fix it or give it slightly different notes. A little more QA/test suite work happens after this if the refactor is large enough.
1k Final QA + Acceptance
The feature is done.
- Commit it myself (I’m still not into letting Claude commit/make PRs, one day).
- Clean branch = Hit Enter on Claude 2 to let it cook
- Claude 1 is back to planning for another feature/bug/research task
Other Vibe Coding Thoughts
- I haven’t used Codex/Copilot environments to auto-start PRs b/c the databases we use (Supabase, AWS) are a bit annoying to set up for them.
- I’m pretty tired by the end of the day when I have 3-4 desktops and try to take lots of mental breaks.
- I try to not start big, new things past a certain point of the day b/c I do not like crossing days for the same feature if I can avoid it.
- I will very often fire off a “Research Claude” I have no intention of working on just to give me some context for stuff I am thinking about. “How would you implement a presense tool for the app so we know when 2 admins are on the same edit page?” Lets me scratch an itch without getting into something I’m not ready to work on yet.
- If my plan mode fills the context too much, I’ll have Claude write to a plan file so nobody loses context.
- I tried subagents, and will try again, but the only one I like and use is a Code Researcher that writes a doc about the thing we’re trying to work on.
Speed Unlock
- Doing this ends up causing you to type a LOT. One thing that has unlocked this for me is using a tool like Wispr. Something with history is important. You can ramble on and think out loud about what you want Claude to do so it’s more of a conversation. Why plan mode is so important — Plan mode becomes conversation mode.
Saturday, September 13, 2025
- 12:00 PM
Hudson FAQ & Privacy Policy
Frequently asked questions and privacy policy for Hudson: Relationship Assistant
← Back to Hudson
Frequently Asked Questions
What is Hudson?
Hudson helps you remember important details about your partner - birthdays, anniversaries, their favorite things, and clothing sizes.
Do I need to create an account?
No! Hudson works completely without an account. You can optionally sign in with Apple or Google to sync your data across devices.
What can I track with Hudson?
- Important dates and reminders
- Clothing and jewelry sizes
- Date night memories and ratings
- Gift ideas with photos
- Their favorite things
- Love languages
Can I add photos?
Yes! Take photos of gift ideas or choose from your gallery.
How do reminders work?
Add important dates and Hudson will remind you so you never forget.
What devices work with Hudson?
iPhone and Android phones.
Why does Hudson need camera access?
Only for taking photos of gift ideas. You can skip this and choose existing photos instead.
Is my data private?
Yes! Hudson uses anonymous accounts by default, so your data isn’t tied to your personal identity. Even if you sign in, your relationship data stays completely private to you.
What if I delete the app?
Without signing in: All data is deleted with the app. With sign-in: Your data stays safe and restores when you reinstall.
Can I get my data out of the app?
Your data stays accessible in Hudson. Export features may be added in future updates.
Does Hudson work without internet?
Yes! Hudson works completely offline. If you’ve signed in, it syncs when you reconnect.
How do I contact support?
Email us through the app settings or find us in the App Store.
Privacy Policy
Effective Date: September 13, 2025
Hudson (“we,” “our,” or “us”) respects your privacy and is committed to protecting your personal information. This Privacy Policy explains how we collect, use, and safeguard information when you use the Hudson mobile application.
Information We Collect
Personal Information You Provide:
- Account information (if you choose to sign in with Apple or Google)
- Relationship data you enter (dates, notes, preferences, etc.)
- Photos you add to gift ideas
Automatically Collected Information:
- Anonymous usage analytics to improve app performance
- Device information for crash reporting
How We Use Your Information
- Provide and maintain app functionality
- Sync your data across devices (if you choose to sign in)
- Improve app performance and user experience
- Display relevant advertisements
- Provide customer support
Data Storage and Security
Anonymous-First Design: By default, Hudson creates an anonymous cloud account that protects your identity while keeping your data secure.
Optional Cloud Sync: If you sign in with Apple or Google, your data syncs across devices while remaining completely private to you.
Local Storage: Data is cached on your device for offline access and faster performance.
Security: We implement appropriate technical and organizational measures to protect your information.
Information Sharing
We do not sell, trade, or share your personal relationship data with third parties. Anonymous analytics may be shared with service providers to improve the app.
Third-Party Services:
- Google Firebase (cloud storage and authentication)
- Apple Sign-In (authentication)
Your Rights
- Access and update your information within the app
- Delete your account and data through app settings
Children’s Privacy
Hudson is not intended for users under 13. We do not knowingly collect information from children under 13.
Changes to Privacy Policy
We may update this policy and will notify users of significant changes through the app.
Contact Us
For privacy questions, contact us through the app settings or at the email provided in the App Store listing.
Friday, September 5, 2025
-
One of my favorite recent vibe-code projects came from necessity—our lead dev heads into the mountains each year with no internet, leaving me on solo duty.
Right before he left, we added uptime monitors, but I was curious how our Rails crons were doing. So Claude and I built a dead-simple cron watcher. Most of it was just a UI tweak, but the magic was in this line:
Instead of updating every cron job, we just changed the runner. Clean, elegant, and gave me peace of mind all week.
As we add or remove crons, the page and system automatically adjust.
bundle exec rails runner "CronRun.create!(task_name: '$TASK_NAME', ran_at: Time.current, status: '$STATUS')" 2>/dev/null || true
Thursday, September 4, 2025
- Hey, Taylor Site Update
Enhanced blog navigation with clickable post cards and added a lightbox-style fullscreen viewer for all blog images.
Tuesday, September 2, 2025
Saturday, August 30, 2025
- Hey, Taylor Site Update
I'm Claude Code's new writer agent, and yes, I'm writing a project update about myself writing project updates. Meta? Absolutely.
- Hey, Taylor Site Update
Claude Code implemented a global component system for cleaner MDX files - no more import statements needed!
Friday, August 29, 2025
- 5:20 PMHudson: Relationship Assistant Update
One-Shot Icon Comparison Tool
Making an icon comparison tool for Hudson.
- 5:02 PMHudson: Relationship Assistant Update
Tech Decisions for Hudson
Trying new tech, trial and error
Friday, August 22, 2025
-
The Context
I’m doing some experiments with the Claude Code Agents and wanted to check out using sub-agents as report writers. I saw this in a YouTube video this week and thought it was an interesting idea.
Before

After

Considering each agent seemd to use around 50k tokens per task, I was delighted to see how much context I had left over for activities!
The Agents
- 📊 Monetization
- 🎨 UI Design
- 🏗️ Architecture
- ⚛️ Design Engineering
- 🧪 Testing
- 🔒 Security
The Prompt
I want you to talk to every agent that we have, the monetization, the mobile UI designer, the React Native Architect, the design engineer, the test engineer, and the security code reviewer, and ask them to generate a Markdown report in the .claude/docs folder rating this app on each of their area of expertise from 1 to 10 on up to 5 subtopics. And why they are rating it the way they are. They need to be brutally honest but reasonable in their assumptions that the app is just going to be a kind of like a simple side project app for awhile. So we don’t need to be enterprise grade. Any of them can take advantage of the high level repo researcher agent. When they are done, tell me. Do not read their documents yet.

The Roast
1. 📊 Monetization Evaluation
Score: 3/10
- AGENT: Found significant untapped revenue potential with disabled RevenueCat integration
- ME: What, you mean “opt-in ads” ISN’T a good strategy?
2. 🎨 UI Design Evaluation
Score: 7.2/10
- AGENT: Strong theme system but needs professional icons instead of emoji
- ME: Yes. Vibe coding LOVES emoji.
3. 🏗️ Architecture Evaluation
Score: 7.5/10
- AGENT: Well-structured modular architecture, appropriate for current scale
- ME: Perfect. I’ll take this as a compliment.
4. ⚛️ Design Engineering Evaluation
Score: 7.2/10
- AGENT: Solid foundations but critical accessibility gaps
- ME: Reasonable, lots of small todos here for progress.
5. 🧪 Testing Evaluation
Score: 4/10
- AGENT: Only 12% test coverage, needs significant improvement
- ME: React Native isn’t super fun to test.
6. 🔒 Security Evaluation
Score: 4/10
- AGENT: CRITICAL: lol, nice try
- ME: Nice try, Snowden. I’ll work on these before launch obviously.
Sunday, July 13, 2025
Saturday, July 12, 2025
- 5:57 PMHey, Taylor Site Update
Scripts, Scripts, Scripts
I need slightly faster ways.
- 5:54 PMHey, Taylor Site Update
Ooops, Maybe I do Need Something
I realize some structure is helpful.
Friday, July 11, 2025
- 5:58 PM
99 Problems of Beer On The Wall
Using LLMs as part of my process helps me understand how much of my job isn’t just bashing out code.
My job is to identify problems that can be solved with code, then solve them, then verify that the solution works and has actually addressed the problem.
As a PM who used to program, but stopped b/c I had other strengths, being able to go back to creating feels almost addictive. I have to remember that I don’t need to JUST create things b/c I can (Jurassic park reference), I need to be creating things that help solve real problems.
Sunday, June 1, 2025
-
What you’ll find here
- Products I’ve Worked On from my product work
- Clips of interesting things I discover around the web
- Random projects that I build for fun
Why I built this
I wanted something simple, fast, and completely under my control. No complex CMS, no vendor lock-in, just HTML, CSS, and JavaScript doing what they do best.
The whole thing is built with vanilla web technologies and deploys automatically whenever I push new content. Simple and effective. It’s based on Astro.build which is fun to have an LLM mess with.
I create with Gen AI tools now. I’ve heard the term “Gen AI Engineer”, so maybe I’m that. I used to be a Swift and Rails developer, but after a long time out of the coding game and in the PM game, I’m using new technology to realize things I’ve not been able to do more.
What’s next
I’m planning to add more product examples, share some design patterns I’ve been exploring, and build more in public.
Thanks for stopping by! 👋

