Blog: /resources/blog is a server page that calls your API at /blogs (featured + latest). Admin-published posts replace the carousel and lists when the CMS returns rows; errors or empty data show curated showcase posts from the frontend until live content exists.
Research reports: VisiboReportsList on /resources/research loads GET /reports (limit ≈50, LONG_TERM plus optional category/search). Rows reflect admin fields—title, slug, featured, dates, categories, tags mapped to BUY/SELL/HOLD—and refresh on a short React Query stale window (~5 minutes) after publish.
Stock calls: /services/stock-calls embeds HoldingsTable, which loads GET /stock-calls/public when logged out or GET /stock-calls when signed in—with category & search params. Guests see demo sample cards only if the public API returns nothing; authenticated users see catalog calls from Admin → Stock calls after publish.
Homepage (/): intentionally static hero + sections—no inlined “live CMS ticker.” New research and desk calls surface through Resources / Services routes, Navbar, Pricing, Dashboard, or any external lifecycle emails you configure.