Who always has good days? I was writing this and realized that none of us are perfect, none of us always have good days, and we all deserve to think about AI tools that are helpful on good days and bad days both. So I wrote two versions of this piece: one is my good day stack and one is my bad day stack—and obviously I put the bad day stack first because if you need that stack you need it now. Happy reading!
I have a confession: not every day of my life in 2025 feels like an orchestrated symphony of productivity. Some days, I’m hitting deadlines like an Olympic sprinter, and everything’s perfectly in tune. On (lots) of other days, I’m left juggling Google Meet calls and staring at my laptop with the mild panic of “How on earth am I going to make it through?” I hope I’m not alone there.
Over time, I realized I unconsciously adapted my AI toolkit for both of those kinds of days. And because my AI productivity looks so different depending on the day, I finally decided to stop averaging it out and just ship both versions.
So here it is: the “Bad Day Stack,” which keeps me going when I’m burned out and behind on everything, and the “Good Day Stack,” which amplifies my creativity and output on those bright mornings when the coffee hits just right.
On those rough days, I’m usually running late, half my tasks have been rescheduled three times, and the other half never made it to my to-do list in the first place. This is when I reach for a group of AI companions that can bail me out even if I can barely string two coherent thoughts together.
First, Granola.ai comes to the rescue every time I’m drowning in back-to-back meetings. I still use my trusty Hobonichi for hand-written notes, but Granola ensures I actually catch everything. I used to hastily scribble notes or try to record calls on random apps, but I’d always miss key points or forget who promised what. Now I just fire up Granola, let it transcribe the conversation from my system audio, and then it auto-generates reasonably good summaries with action items. I can even chat with it to get extra detail from the transcript.
It might sound magical—and on a day when I’m one whisker away from meltdown, it kind of is. I still need to prompt it with a few keywords taken during the meeting (or a screenshot)—if I stare blankly and give it nothing, I’ll get a generic set of notes. But even that is better than my old system of half-legible scrawls (so many notebooks!). Early on, it was only Mac-compatible, but they’ve gradually rolled it out more broadly. Honestly, it’s one of those apps that’s just built to make bad days easier and I love it.
While Granola helps me survive calls, ChatGPT o3‑mini‑high and ChatGPT‑4o step in whenever I need an immediate answer—be it a question about extra product frameworks that have slipped my limited brain RAM or a random question about the deeper implications of an ARXIV paper. Think of these models like the world’s fastest reference librarians. On a day when I’m in sheer desperation mode, I basically pepper them with frantic “SOS” queries: “How do I fix this bug?” or “Remind me of the title of that new Reid Hoffman book?” or “How do you break down this essay and where do you see weak spots?” Both models will spit back an answer faster than I can remember my next meeting. They’re not always perfect. And I don’t need them to be! I argue with my models all the time, and so should you. Sometimes they overthink simple stuff, and occasionally they default to a heavier approach that might slow them down. Still, 99% of the time, they save me from scouring the internet and facing a blank page for hours while deadlines loom.
At least once during a desperation day, I’ll face some obscure question that neither I nor my usual chatbots can handle. That’s when Deep Research steps in. I submit a query or a problem, and it literally scours the web like a mini search army, returning a thorough, citation-backed report. It’s slower than a typical chatbot—sometimes it takes a good 15 or 20 minutes to churn through sources—but it solves problems that would have forced me to spend my evening reading obscure PDFs. I do have to remain a bit cautious: it’s stronger at reasoning and thinking through than citing all academic papers (it can’t get behind paywalls). But if I keep an eye on the references and do some quick verification, I find it’s right enough to be a huge timesaver. It is enabling me to ask new kinds of questions—which is exactly what I want from AI! I wrote about it here.
By midday, I’m often staring at a chaotic heap of half-finished work, and o1 Pro is my saving grace. This model is the thoughtful, more measured cousin to the rapid-fire chatbots. If I’ve got raw content—like a messy doc or a half-complete Bolt project that is very much in code and not working—o1 Pro can reorganize it into something that actually makes sense. It’s slow, yes, and it’s not the best choice for a quick “Is this function correct?” question. But when I have a big, gnarly chunk of text or code that needs to be shaped into something coherent and I’m too frazzled to do it alone, o1 Pro’s methodical approach nearly always works.
Of course, a hectic day means lots of clutter. I dump quick references and prompts into Notion simply because it’s right there where I keep my notes. You might ask what I think about Notion AI. Don’t. I don’t use it. But Notion itself is a phenomenally easy way to keep and share stuff and I am in love with their code boxes feature, which I use for prompt keeping and versioning.
But not everything is a prompt. When I just need a safe place to paste ideas and do a messy round of editing and polish to final, Google Docs remains my stalwart fallback. In survival mode, I don’t crave fancy features. I don’t use Google’s AI for example! I just want a stable doc that everyone in my team can load, comment on, and adjust without me having to worry about version control. It’s not glamorous, but on a bad day, reliability is gold.
By late afternoon, if my browser has about fifty different tabs open—maybe more—I’m thanking my lucky stars for Arc. With vertical tabs, Spaces, and auto-archiving, it keeps my digital environment from feeling like a neglected junk drawer. I used to have Chrome nearly kill my laptop with 100+ open tabs. Now Arc stashes the old ones automatically, so I only keep the crucial tabs front and center. If you’re on older hardware, it can still eat up a ton of RAM, but for me, it’s the difference between meltdown and functionality.
At least once a day, I find myself needing a quick image—maybe a blog illustration or a mock cover for a presentation. That’s the exact moment I call on MidJourney. No I don’t go to 4o because it’s just not as good. Even on a disastrous day, I can feed it a prompt like “whimsical neon city in watercolor” and get near-pro art within minutes. I do have to watch out for weird nonsense text and it doesn’t handle logos well. But since I’m in desperation mode anyway, I’m just glad it’s giving me an 95% solution on a single prompt. And it’s easy to adjust the prompt and finalize.
Finally, if I need a quick, credible snippet of info—like a summarized product comparison or some last-minute reference—Perplexity is my unsung hero. It’s a thoughtful search engine that coughs up a neat summary with linked sources. Adding R1 has given it real extra flavor since it shows chain of thought. I can do a quick fact-check by clicking the references, which is great when I’m in such a rush that even thirty seconds of verifying data matters. Sometimes it’s a bit superficial, but if I need deeper insights and a full report, that’s what Deep Research is for.
So there you go, the Bad Day stack: scrappy, quick, and reliable enough to keep my day afloat when everything’s on fire.
Then there are those mornings when I wake up energized, turn on my laptop, and everything just flows. I’ve got grand ideas for new features, or maybe I want to map out a product concept from scratch. On these days, I get to call upon my “Good Day Stack”—the bigger guns for creativity, coding, and design exploration.
When I’m in a deep building zone, I rotate between Cursor and Windsurf. I know! I’m supposed to choose one. I can’t. I love Windsurf better for the UI and the flow. If I want maximum control, I crack open Cursor: it’s an entire AI-enhanced code editor where the model indexes my entire project so I can do multi-file edits and real-time debugging. On a day I feel unstoppable, I love that Cursor can rename functions across multiple files in seconds and refactor half my codebase if I ask. Cursor is also a secret superpower for working through a Product Requirements Document (PRD) since I can get to technical details and build context within Cursor pre-code.
Windsurf, on the other hand, is more accessible. It offers helpful coding suggestions and does a great job keeping me in flow. I toggle between them sort of on vibes —Cursor for precise performance, Windsurf if I’m in a breezier mood. No, I have not yet used a voice app to voice code but that would definitely be fun!
Also on good days, I pull out my buddy ChatPRD. I can open it in the morning, drink coffee, listen to Taylor Swift, and fire off half-formed “What if we built X?” ideas. It’s always game to iterate on product sketches, offer potential user stories, or highlight pitfalls I might’ve overlooked. It tends to be pretty structured and opinionated but sometimes that’s nice because I don’t have to be. Since I’m not in a rush, I can let ChatPRD push back with questions that refine my vision, effectively turning a random brainstorm into a structured product outline.
When my curiosity kicks in, I also rely on Perplexity more intensively than on bad days. On a good day, I’m not just searching for a quick fact; I’m exploring a topic in depth. Perplexity’s follow-up question interface feels like I’m having a conversation with a knowledgeable friend who can instantly reference multiple web sources. I end up going down rabbit holes I’d never have discovered with a normal search engine and I love how it understands larger queries in a way Google just doesn’t. The best part is that it cites everything, so I can check the references for a deeper dive. I don’t always agree with those references and I absolutely will tell it to dump references if I don’t like them.
For extended writing—maybe drafting a big essay or a book chapter—Lex.page is my go-to. It’s built for longer text composition, and there’s nothing else quite like it. I can pull in a style tag with previous blog posts, or I can have a brainstorming conversation and use search to kick around ideas and put them straight into a larger document. I can ask an AI model of my choice about specific parts of a larger piece I’m composing and get targeted conversations going.
Lex provides this clean, no-distractions zone where I can channel my inspiration. When the ideas are flowing, I am working with Lex to riff on outlines and take half-baked paragraphs and refine them. That synergy doesn’t mean the writing isn’t mine, it means I have a partner to work with as I compose more polished prose, especially if I schedule a longer writing block during the day. Lex helps me stay in flow.
For design or user experience tinkering, I sometimes use v0, sometimes just try and get Cursor to code a frontend off a PRD, but sometimes I’m feeling loose in the morning and don’t want to go to code yet. UXPilot.ai is where I can unleash the playful side of my brain. I might have a wild notion for a new interface or want to experiment with different flows. On a day full of momentum, I’ll jump into UXPilot, mock something up, and it will quickly let me see user flows or visualize quick options for a design. It’s a fast tool for design iteration—far faster than manually wireframing. And if it’s a particularly good day and I’m still riding that creative wave later in the afternoon, I might open LangGraph to toy with building AI agent workflows. Agents are hard! But LangGraph has a product suite that makes building operational agents at least plausible. Imagine chaining different AI tasks into a multi-step pipeline—on a relaxed day, I can acquire some extra stress by looking in clean LangGraph documentation and wondering why my agent doesn’t work, but hey at least I have tools to see what’s going on.
Then there’s Bolt, a no-code prototyping tool that’s perfect for those impulsive “Let’s spin up an entire new app idea even if it’s not great in one evening” moments. When everything’s going right, I can test out wild software concepts in minutes. Replit also lets me do that and has gotten much better recently. Lovable has come on very hot and I sort of switch between Lovable and Bolt depending on the vibe—Bolt feels slightly more mature right now but Lovable feels more fun. If I want to finish up the evening by trying something a little bit fiddly, there’s Operator, which I sometimes use for personal tasks like booking dinner. It has mixed real world results but it’s really hypnotizing to watch it actually work while I’m doing other stuff. I just check in every now and then it kind of adds value, most of the time. It will get better, it’s not really a production app right now.
Here’s a quick reference if you’re curious about why each tool appears in either the Bad Day or Good Day category—or sometimes both. Think of it as a cheat sheet for their primary use, main benefits, and watch-outs.

Core Purpose: Automated transcription and meeting summaries.
When to Use: Hectic days with too many back-to-back calls; it captures everything so you can stay focused on the conversation.
Key Benefits: Generates organized notes and action items automatically, saving 15–30 minutes of post-call busywork per meeting.
Watch Out For: Requires some user input to guide the summary. If you zone out and provide no guidance, you might get a bland transcript. Also was Mac-only at first.
ChatGPT o3‑mini‑high and GPT‑4o

Core Purpose: Rapid-fire Q&A, coding, and on-the-fly troubleshooting.
When to Use: Any time you need an instant explanation or fix—whether it’s a bug in your code or a random fact check.
Key Benefits: Faster, more thorough answers than older ChatGPT versions. Great at problem-solving, with 4o also handling multimodal tasks (like interpreting images or audio).
Watch Out For: Occasionally overthinks simple queries, which can slow you down if you only need a quick “yes or no.” Also be mindful that it might slip into slower “deep reasoning” mode at inconvenient times.

Core Purpose: Comprehensive, citation-backed investigations for complex questions.
When to Use: Once a day (or so) for that really tough query you can’t solve with normal search.
Key Benefits: Crawls multiple sources, compiles them into a cohesive report, and references its findings so you can verify.
Watch Out For: Can take 15+ minutes to finish. Sometimes it hallucinates sources or includes outdated info, so double-check citations.

Core Purpose: Deep reasoning and thorough content reorganization (coding or text).
When to Use: When you have a massive chunk of disorganized content or a complicated technical document that needs polishing.
Key Benefits: Methodical approach yields top-quality, well-structured results. Great for finalizing big reports, code reviews, or analyses.
Watch Out For: Slower than normal chatbots—don’t expect instant quick fixes. Best used when accuracy and structure matter more than speed.
Core Purpose: Quick content generation and note augmentation within your Notion workspace.
When to Use: Adding short summaries or reformatting paragraphs inside Notion, especially if you live in Notion for project notes.
Key Benefits: Convenient because it’s integrated right where you take notes. Helps turn messy scraps into mildly cohesive text. Also easy to share stuff with others and publish to web. Super easy code blocks.
Watch Out For: Well funny enough, I don’t love their AI. I don’t find it useful! It’s a place for putting text I refer to a lot.
Core Purpose: It’s just docs. You know what it does.
When to Use: Polished docs. Brainstorming. Editing.
Key Benefits: Everyone knows it, everyone can open it, zero learning curve. Great for quick shared editing when you don’t need fancy AI bells and whistles.
Watch Out For: Don’t use the Google AI it’s really really not helpful. It won’t even frickin’ format the page.

Core Purpose: A more organized browser experience with Spaces, vertical tabs, and auto-archiving.
When to Use: Research-heavy or chaotic days with dozens (or hundreds) of open tabs.
Key Benefits: Keeps your tabs under control and auto-archives old ones, preventing browser clutter. Offers split-screen browsing and other productivity tricks.
Watch Out For: Can be a memory hog on older machines. Its unique interface may feel odd if you’re used to traditional browsers.
MidJourney

Core Purpose: AI image generation for quick visuals, concept art, or brainstorming.
When to Use: Whenever you need an illustration fast—be it for a blog post, a pitch deck, or creative exploration.
Key Benefits: Produces near-professional art with minimal effort, can handle various art styles from photorealistic to whimsical.
Watch Out For: Struggles with certain details (text or intricate logos). Not as good at photorealism as some (Google ImageFX or Krea is better here). May require some trial-and-error prompt engineering.

Core Purpose: AI-based “answer engine” that delivers quick search results with citations.
When to Use: Factual queries, quick “tell me about X” searches, or short references when you don’t want to open a full-blown research tool.
Key Benefits: Quick summaries powered by LLM reasoning with linked sources. Great for verifying facts quickly. In a good-day flow, you can explore follow-up questions more deeply.
Watch Out For: Some results remain surface-level, so if you need deep analysis, you might have to do further digging. Also depends on the quality of web sources it references.
Cursor / Windsurf


Core Purpose: AI-augmented coding. Cursor is a full editor that indexes your entire project; Windsurf is lighter and more accessible. Cascade is nice!
When to Use: If you’re more PM-ish, on good days when you’re building new features or refactoring code for speed/clarity. If you’re more engineering leaning, Cursor is rapidly becoming the de facto winner in the AI coding space. Cursor especially shines for multi-file edits and advanced debugging.
Key Benefits: Build fast. Speed up repetitive tasks, code generation, and get from idea into code quickly. It does have the power to build real apps correctly, and that is a huge thing.
Watch Out For: It won’t fix everything. You might need to go to o1 Pro or o3-mini-high for some bug fixes. Or maybe even you will have to fix stuff! You also have to either have patience to skill up (if you’re new) or the willingness to not leave your brain at the door as an experienced engineer.

Core Purpose: AI assistant for brainstorming product ideas, writing PRDs, and iterating on product concepts.
When to Use: Early-day creative sessions or when you want to “talk out” product requirements.
Key Benefits: Iterative conversation helps refine your product vision, user stories, and potential pitfalls.
Watch Out For: Doesn’t replace real user feedback. Can propose cool ideas that might be impractical without deeper feasibility checks.
Lex.page

Core Purpose: Longform writing and content creation in a distraction-free environment.
When to Use: Drafting essays, book chapters, or big reports when you’re feeling creative (or at least not rushed).
Key Benefits: Helps structure and refine text on the fly. Feels more like a dedicated writer’s tool than a generic doc editor.
Watch Out For: Not a collaborative tool like Google Docs. You will need to export the text eventually to publish.
UXPilot.ai

Core Purpose: Experimenting with user interface concepts and refining UX flows.
When to Use: On a good day with creative energy, especially when prototyping new features or rethinking an app’s design.
Key Benefits: Rapid UX iteration—lets you jump from rough concept to a tested flow quickly.
Watch Out For: Concept checks? Great. UX ideas? Fine. It is NOT amazing at design. And ironically getting into the coding tools like Cursor or v0 seems to work better for that.
LangGraph

Core Purpose: Building AI agents that work.
When to Use: When you want to build real agents.
Key Benefits: It’s enterprise-grade. It has excellent docs. It has excellent monitoring and auditing tools.
Watch Out For: Complexity! This is for real agents that deliver real value and the learning curve is formidable.
Bolt

Core Purpose: Rapid no-code prototyping of apps or ideas.
When to Use: Immediate inspiration strikes, and you want a fast MVP without heavy coding.
Key Benefits: Lets you validate ideas quickly. Handy for short-term proofs-of-concept.
Watch Out For: Limited depth for highly customized or large-scale apps. Eventually, you might need a more robust dev environment.
Operator

Core Purpose: Experimental autonomous agent for personal tasks, like booking dinner or automating small errands.
When to Use: Good days when you’re feeling playful or want to hand off random personal tasks.
Key Benefits: Feels like you have a mini personal assistant that does your scheduling or light admin chores.
Watch Out For: It’s still a bit rough around the edges. Sometimes it confuses details or misfires on real-world tasks.
Claude would have been here until just a week or two ago. But I find I’m using Claude only occasionally now that o3-mini-high is out. Mostly, it’s for Claude’s personality which I absolutely adore. But the persistent usage limits have really turned me off over time, especially with other models coming out with search integrated. It’s too bad because I want to love Claude.
The magic of a well-chosen AI stack is that it molds itself to your day, not the other way around. On messy, frantic days, I’m shoving my way through the calendar with tools like Granola.ai and ChatGPT to keep my schedule afloat, leaning on Deep Research for tough queries, and letting Notion or Google Docs house my frantic scribbles. On those shining good days, I’m indulging in advanced code manipulation with Cursor, riffing on product concepts in ChatPRD, or drafting something much longer form in Lex.page.
It took me a while to realize that no single AI tool dominates all scenarios. Instead, they each fill different niches in my daily routine. Some of them might seem redundant (Bolt and Lovable), but I find it’s more useful to keep a raft of tools around to pick up what I want in a pinch than to try to limit myself. And before you ask, no I don’t subscribe to all of them at once! I have a few on subscribe that I use heavily and others I use lightly and free.
So you know the obvious end here—what is in your stack? What did I miss? Where do you disagree? I think my takeaway writing this is that personal workflows are just that—personal. We should probably do more writing like this and sharing like this so we start to understand how complex these workflows are, and how many winners there can be in AI tooling spaces. I’ll be writing new versions of this piece periodically as AI continues to evolve.
For now, happy stacking, and here’s to many more good days ahead!
