Windsurf has become less of a tool and more of a core part of how I build. I do not think in terms of writing code line by line anymore; I think in terms of features, flows, and systems, and Windsurf helped me translate that into actual implementation across the codebase. It fits especially well when I am doing rapid prototyping, exploring new ideas or architectures, or iterating on existing features quickly. At the same time, one thing I have noticed in my workflow is around model switching. When I switch between models, the GPT generating agent models sometimes the deeper context regarding decision reasoning or intermediate steps does not fully carry over, so I end up re-establishing context manually every time. It is so much painfully manual; that is not a blocker, but since I work on fairly complex multi-step systems, having strong cross-model memory consistency would make it even more powerful. One thing I would really appreciate is stronger cross-model memory and context continuity. Right now, when I switch between models, the surface-level context is there, but the deeper reasoning regarding why certain decisions were made or how a flow evolved does not always carry over fully. Since I work on complex and multi-step agents, I end up re-establishing the context manually. If Windsurf could maintain a kind of shared memory layer across models where intent, decisions, and intermediate steps persist, it would make the whole experience much more seamless. Improving the memory continuity and control would take it from powerful to extremely reliable at scale. Overall, Windsurf is already a strong tool, but there are a few areas where improvements would make a big difference, especially for advanced workflows. The first is cross-model memory and context continuity. The second is better control over agent execution. Right now, when switching between models—for instance, if I am using a tier of models and then I reach a limit, and then I need to switch to a lesser limit model—the high-level context is there, but deeper reasoning is lost. A shared memory layer across models would make the experience much more seamless. Furthermore, while Cascade is powerful, for larger changes, it would help to have more visibility or control, such as previewing the execution plan and guiding steps before it runs. The UI and documentation provided are pretty good, though I think there is room for true visibility and feedback during agent execution. While the amount of time put into the design and documentation is great, figuring out things with the documentation can often be done without any third-party help. Some advanced use cases are not fully explored in the documentation, but the best practices for using agents effectively are very clear, such as how to structure prompts for multi-file changes and how to guide Cascade for better outputs. Real-world advanced examples are already implemented in there; that could be very helpful for us. The main advice I would give to others looking into using Windsurf is to not use it as a traditional code assistant. Windsurf really shines when you treat it as a feature-level or system-level tool, not just something for autocomplete or small snippets. So instead of thinking "write this function," think more toward "build this flow." Learn how to guide it properly. That is the main thing I would advise: learn how to guide it properly, how to prompt it properly, and start with real use cases, not toy examples.