What's the hard technical aspects of building a product like Windsurf or Cursor?

I've only seen codebase indexing or generating embeddings with Turbopuffer. There has to be more magic to that, right?

On the agent side it's just the UI and LLM wrapper really. But the completion is a completely different custom thing. There's a video of the cursor team on Lex Fridman where they mention a few details https://youtu.be/oFfVt3S51T4