diff --git a/public/assets/camel-ai-logo.svg b/public/assets/camel-ai-logo.svg
new file mode 100644
index 000000000..64f2c091b
--- /dev/null
+++ b/public/assets/camel-ai-logo.svg
@@ -0,0 +1,12 @@
+
diff --git a/public/assets/fastapi-logo.svg b/public/assets/fastapi-logo.svg
new file mode 100644
index 000000000..582432b25
--- /dev/null
+++ b/public/assets/fastapi-logo.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/public/assets/golang-logo.svg b/public/assets/golang-logo.svg
new file mode 100644
index 000000000..82e89eb03
--- /dev/null
+++ b/public/assets/golang-logo.svg
@@ -0,0 +1,9 @@
+
+
+
\ No newline at end of file
diff --git a/public/assets/nextjs-logo.svg b/public/assets/nextjs-logo.svg
new file mode 100644
index 000000000..50ccbbd18
--- /dev/null
+++ b/public/assets/nextjs-logo.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/public/assets/python-logo.svg b/public/assets/python-logo.svg
new file mode 100644
index 000000000..25df8268f
--- /dev/null
+++ b/public/assets/python-logo.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/public/assets/qdrant-logo.svg b/public/assets/qdrant-logo.svg
new file mode 100644
index 000000000..058304c86
--- /dev/null
+++ b/public/assets/qdrant-logo.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/components/Common/InfoCard/InfoCard.jsx b/src/components/Common/InfoCard/InfoCard.jsx
index 73a63c60d..685533d3b 100644
--- a/src/components/Common/InfoCard/InfoCard.jsx
+++ b/src/components/Common/InfoCard/InfoCard.jsx
@@ -140,9 +140,7 @@ const InfoCard = ({ icon: Icon, iconVariant, title, description, iconColor, link
>
-
-
-
+ {React.isValidElement(Icon) ? Icon : }
{title}
{description}
diff --git a/src/components/IntegratedTutorials/ExternalTutorialLinks.jsx b/src/components/IntegratedTutorials/ExternalTutorialLinks.jsx
new file mode 100644
index 000000000..db294e629
--- /dev/null
+++ b/src/components/IntegratedTutorials/ExternalTutorialLinks.jsx
@@ -0,0 +1,68 @@
+import React from 'react';
+import { Box, Grid, Typography } from '@mui/material';
+import InfoCard from '../Common/InfoCard/InfoCard';
+import { getFullPath } from '../../lib/common-helpers';
+
+const TUTORIALS = [
+ {
+ icon:
,
+ title: '5 minute RAG with DeepSeek',
+ description: 'Ground your chatbot in fact-based knowledge using Retrieval-Augmented Generation.',
+ href: 'https://qdrant.tech/documentation/rag-deepseek/',
+ },
+ {
+ icon:
,
+ title: 'Hybrid Search with Qdrant',
+ description: 'Build your own keyword + semantic search service using Qdrant and FastEmbed.',
+ href: 'https://qdrant.tech/documentation/beginner-tutorials/hybrid-search-fastembed/',
+ },
+ {
+ icon:
,
+ title: 'Basic Semantic Search Engine',
+ description: 'Build information retrieval based on semantic meaning in 5 minutes.',
+ href: 'https://qdrant.tech/documentation/beginner-tutorials/search-beginners/',
+ },
+ {
+ icon:
,
+ title: 'Agentic RAG discord bot',
+ description: 'Develop a fully functional chatbot using Qdrant, CAMEL-AI, and OpenAI.',
+ href: 'https://qdrant.tech/documentation/agentic-rag-camelai-discord/',
+ },
+ {
+ icon:
,
+ title: 'E-commerce Search Engine',
+ description: `Build and deploy high-performance semantic retrieval for thousands of products.`,
+ href: 'https://qdrant.tech/documentation/tutorials-search-engineering/ecommerce-search-golang/',
+ },
+ {
+ icon:
,
+ title: 'See more tutorials on Qdrant.tech',
+ description: 'See more tutorials',
+ href: 'https://qdrant.tech/documentation/beginner-tutorials/',
+ },
+];
+
+const ExternalTutorialLinks = () => {
+ return (
+
+
+ {'Integrated Tutorials'}
+
+ .MuiGrid-root': { display: 'flex' } }}>
+ {TUTORIALS.map((tutorial) => (
+
+
+
+ ))}
+
+
+ );
+};
+
+export default ExternalTutorialLinks;
diff --git a/src/pages/TutorialIndex.jsx b/src/pages/TutorialIndex.jsx
index 8214f4c1f..186a97df1 100644
--- a/src/pages/TutorialIndex.jsx
+++ b/src/pages/TutorialIndex.jsx
@@ -3,6 +3,7 @@ import { Alert, Box, Grid, Typography } from '@mui/material';
import { useClient } from '../context/client-context';
import InfoCard from '../components/Common/InfoCard/InfoCard';
import TutorialLinks from '../components/InteractiveTutorial/TutorialLinks';
+import ExternalTutorialLinks from '../components/IntegratedTutorials/ExternalTutorialLinks';
import { Zap, FileCode } from 'lucide-react';
export const TutorialIndex = () => {
@@ -79,6 +80,7 @@ export const TutorialIndex = () => {
+
);