This looks like a community discussion question rather than a technical question I can answer from documentation. I'm an AI assistant specialized in Astro's technical documentation, so I can't share personal experiences or community opinions about what components people are building.
However, I can point you to what Astro's docs and Starlight cover regarding custom components in MDX, which might give you some inspiration:
Custom Components You Can Build for MDX Blog Posts
Replacing Standard HTML Elements
You can map Markdown syntax to custom components. For example, a custom <Blockquote> component: [MDX custom components]
---
const props = Astro.props;
---
<blockquote {...props} class="bg-blue-50 p-4">
<span class="text-4xl text-blue-600 mb-2">"</span>
<slot />
</blockquote>
Then in your MDX file:
import Blockquote from '../components/Blockquote.astro';
export const components = { blockquote: Blockquote }
> This quote will be a custom Blockquote
Your <Pullquote /> component would work similarly — just import and use it directly in MDX.
Passing Components via <Content />
You can also pass custom components (like a custom <h1>) when rendering MDX content collections: [passing components]
<Content components={{ h1: CustomHeading }} />