AI Playground AI Agent
📽️ Code from tutorials presented on the "Code AI with Rok" YouTube channel
AI Playground is an open-source ai agent by rokbenko, written mainly in Python, with 321 GitHub stars and the MIT license. Its code was last updated Apr 23, 2026.
Code from YouTube channel<br> Code AI with Rok
Found something awesome here?<br> Star this repo and help me hit 325 ⭐!
<sub><a href="https://github.com/rokbenko/ai-playground?tab=readme-ov-file#-my-story-">Why am I using AI voiceover?</a></sub><br> <sub><a href="https://github.com/rokbenko/ai-playground?tab=readme-ov-file#-support-">Want to support me?</a></sub>
</div> <br>📚 Table of contents 📚
<details> <summary>Click to expand</summary>- LLM providers<br>
- Frameworks<br>
- LlamaIndex<br>
- Agents
- Cloud<br>
- Google Cloud<br>
- Snowflake<br>
- Monitoring<br>
- LangSmith<br>
- Vector DBs<br>
- Milvus<br>
- NLP<br>
- spaCy<br>
- My story<br>
- Support<br>
- Star history<br>
- Contributions<br>
- License
👾 LLM providers 👾
OpenAI
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>Response in JSON format</td> <td>Python and Node.js examples on how to get a JSON response using the OpenAI Chat Completions API</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/1-Get_response_in_JSON_format" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/o4q2qsGKVkE" target="_blank">YouTube</a> </td> </tr> <tr> <td>#2</td> <td> Personal Math Tutor*<br> <sup>*Assistants API <code>v1</code> beta</sup> </td> <td>Python and Node.js examples on how to build a Personal Math Tutor using the OpenAI Assistants API <code>v1</code> beta with the Code Interpreter tool</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/2-Build_personal_math_tutor" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/F-KRs6vg4mM" target="_blank">YouTube</a> </td> </tr> <tr> <td>#3</td> <td> GUI for the Personal Math Tutor*<br> <sup>*Assistants API <code>v1</code> beta</sup> </td> <td>Next.js GUI for the <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/2-Build_personal_math_tutor">#2 Personal Math Tutor</a> tutorial</td> <td> <img alt="Next.js badge" src="https://img.shields.io/badge/Next.js-%23202020?style=flat&logo=nextdotjs"> <img alt="Tailwind CSS badge" src="https://img.shields.io/badge/Tailwind%20CSS-%23202020?style=flat&logo=tailwindcss"> <img alt="Material UI badge" src="https://img.shields.io/badge/Material%20UI-%23202020?style=flat&logo=mui"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/3-GUI_personal_math_tutor" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/QThg_MqiYCo" target="_blank">YouTube</a> </td> </tr> <tr> <td>#4</td> <td> Customer Support Chatbot*<br> <sup>*Assistants API <code>v1</code> beta</sup> </td> <td>Python and Node.js examples on how to build a Customer Support Chatbot using the OpenAI Assistants API <code>v1</code> beta with the Knowledge Retrieval tool</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/4-Build_customer_support_chatbot" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/xbgX8fu78DI" target="_blank">YouTube</a> </td> </tr> <tr> <td>#5</td> <td> TUI for the Customer Support Chatbot*<br> <sup>*Assistants API <code>v1</code> beta</sup> </td> <td>Python and Node.js TUIs for the <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/4-Build_customer_support_chatbot">#4 Customer Support Chatbot</a> tutorial</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/5-TUI_customer_support_chatbot" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/RUZwYQnIX_0" target="_blank">YouTube</a> </td> </tr> <tr> <td>#6</td> <td> TUI for the Customer Support Chatbot with response streaming*<br> <sup>*Assistants API <code>v1</code> beta</sup> </td> <td>Python and Node.js TUIs for the <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/4-Build_customer_support_chatbot">#4 Customer Support Chatbot</a> tutorial with response streaming</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/6-TUI_customer_support_chatbot_streaming" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/d8dsFlLATrw" target="_blank">YouTube</a> </td> </tr> <tr> <td>#7</td> <td> TUI for assistants: response polling vs. streaming*<br> <sup>*Assistants API <code>v2</code> beta</sup> </td> <td>Python and Node.js TUIs for assistants to show the difference between response polling (manual or with a helper) and streaming (with a helper)</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/7-TUI_assistants_polling_vs_streaming_Assistants_API_v2_beta" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/_uUSclN-O9M" target="_blank">YouTube</a> </td> </tr> <tr> <td>#8</td> <td>LLMs explained</td> <td>Python and Node.js examples on how LLMs work using the OpenAI SDK <code>top_logprobs</code> parameter</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/openai-tutorials/8-LLMs_explained" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/cervFqzf7ec" target="_blank">YouTube</a> </td> </tr> </table>🛠️ Frameworks 🛠️
LlamaIndex
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>Create Llama app with 1 command in 2 minutes</td> <td>Instructions on how to create a LlamaIndex chat streaming app using Next.js GUI and OpenAI LLM with 1 command in 2 minutes</td> <td> <img alt="Next.js badge" src="https://img.shields.io/badge/Next.js-%23202020?style=flat&logo=nextdotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/llamaindex-tutorials/1-Create_llama" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/IQqiIfRLNY4" target="_blank">YouTube</a> </td> </tr> <tr> <td>#2</td> <td>GUI for a Travel Recommendation RAG</td> <td>Streamlit GUI for a Travel Recommendation RAG with response streaming using LlamaIndex and OpenAI LLM</td> <td> <img alt="Streamlit badge" src="https://img.shields.io/badge/Streamlit-%23202020?style=flat&logo=streamlit"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/llamaindex-tutorials/2-GUI_travel_recommendation_RAG" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/93uru3QmgAo" target="_blank">YouTube</a> </td> </tr> <tr> <td>#3</td> <td>Eval of the Travel Recommendation RAG</td> <td>Evaluation of the <a href="https://github.com/rokbenko/ai-playground/tree/main/llamaindex-tutorials/2-GUI_travel_recommendation_RAG">#2 GUI for a Travel Recommendation RAG</a> tutorial</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/llamaindex-tutorials/3-Eval_travel_recommendation_RAG" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/l5z_Peocss0" target="_blank">YouTube</a> </td> </tr> </table> <br>🤖 Agents 🤖
LangGraph
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>TUI for a LangGraph agent with a web connection</td> <td>Python and Node.js TUIs for a LangGraph ReAct agent using OpenAI LLM and Tavily tool to get a web connection</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/langgraph-tutorials/1-TUI_LangGraph_agent_Tavily" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/Qa0B5m0t1Cs" target="_blank">YouTube</a> </td> </tr> <tr> <td>#2</td> <td>TUI for a LangGraph agent with memory</td> <td>Add memory to the <a href="https://github.com/rokbenko/ai-playground/tree/main/langgraph-tutorials/1-TUI_LangGraph_agent_Tavily">#1 TUI for a LangGraph agent with a web connection</a> tutorial</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/langgraph-tutorials/2-TUI_LangGraph_agent_memory" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/GMaGG8UBek8" target="_blank">YouTube</a> </td> </tr> <tr> <td>#3</td> <td>TUI for a LangGraph agent with persistent memory using PostgreSQL</td> <td>Add persistent memory using PostgreSQL to the <a href="https://github.com/rokbenko/ai-playground/tree/main/langgraph-tutorials/1-TUI_LangGraph_agent_Tavily">#1 TUI for a LangGraph agent with a web connection</a> tutorial</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/langgraph-tutorials/3-TUI_LangGraph_agent_PostgreSQL_memory" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/hE8C2M8GRLo" target="_blank">YouTube</a> </td> </tr> <tr> <td>#4</td> <td>TUI for a LangGraph agent with persistent memory using PostgreSQL with pgvector</td> <td>Add persistent memory using PostgreSQL with pgvector to the <a href="https://github.com/rokbenko/ai-playground/tree/main/langgraph-tutorials/1-TUI_LangGraph_agent_Tavily">#1 TUI for a LangGraph agent with a web connection</a> tutorial</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/langgraph-tutorials/4-TUI_LangGraph_agent_PostgreSQL_memory_pgvector" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/wKeFV11Uvds" target="_blank">YouTube</a> </td> </tr> </table>CrewAI
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>Podcast prepper</td> <td>Python example using CrewAI, Anthropic LLM and Exa tool, designed for podcast hosts, helping them:<br> <ul> <li>research a guest</li> <li>prepare detailed insights about the guest</li> <li>suggest relevant questions for an upcoming episode with the guest</li> </ul> </td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/crewai-tutorials/1-Podcast_prepper/podcast_prepper" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/vUQZvc5NTPw" target="_blank">YouTube</a> </td> </tr> <tr> <td>#2</td> <td>Personalized poem writer</td> <td>Python example using CrewAI, Mistral LLM and Exa tool, designed for creative writers and lyricists, helping them:<br> <ul> <li>research a person</li> <li>prepare detailed insights about the person</li> <li>write a personalized, funny, and light-hearted poem inspired by the person's life story</li> </ul> </td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td>Coming soon... ✨</td> <td>Coming soon... ✨</td> </tr> </table>Fetch.ai
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>uAgents starter</td> <td> Python examples on how to:<br> <ul> <li>build a Fetch.ai agent with a startup task</li> <li>build a Fetch.ai agent with an interval task</li> <li>build a Fetch.ai agent and get its address</li> <li>build a Fetch.ai stateful agent</li> </ul> </td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/fetchai-tutorials/1-uAgents_starter" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/AZhKvDc2O20" target="_blank">YouTube</a> </td> </tr> <tr> <td>#2</td> <td>uAgents communication</td> <td>Python examples on how to make Fetch.ai agents communicate with each other locally or remotely using Almanac contracts</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/fetchai-tutorials/2-uAgents_communication" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/40sixkWgXGc" target="_blank">YouTube</a> </td> </tr> </table> <br>☁️ Cloud ☁️
Google Cloud
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>Vertex AI Gemini Pro API starter</td> <td>Python and Node.js examples on how to use the Vertex AI Gemini Pro API</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/google-cloud-tutorials/1-Vertex_AI_Gemini_Pro_API_starter" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/I8W-4oq1onY" target="_blank">YouTube</a> </td> </tr> </table>Snowflake
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>Snowflake Cortex LLM functions starter</td> <td>Python example on how to use the Snowflake Cortex LLM functions</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/snowflake-tutorials/1-Snowflake_Cortex_LLM_functions_starter" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/3vCuoezBMEY" target="_blank">YouTube</a> </td> </tr> </table> <br>📈 Monitoring 📈
LangSmith
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>LangSmith observability starter</td> <td>Add observability using LangSmith to the <a href="https://github.com/rokbenko/ai-playground/tree/main/langgraph-tutorials/3-TUI_LangGraph_agent_PostgreSQL_memory">#3 TUI for a LangGraph agent with persistent memory using PostgreSQL</a> tutorial</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/langsmith-tutorials/1-LangSmith_observability_starter" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/fU-TEVNrRYY" target="_blank">YouTube</a> </td> </tr> </table> <br>🗃️ Vector DBs 🗃️
Milvus
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>Milvus Standalone starter</td> <td>Python and Node.js examples on how to install Milvus Standalone using Docker, connect to a Milvus Standalone server and list all Milvus collections</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="JavaScript badge" src="https://img.shields.io/badge/JavaScript-%23202020?style=flat&logo=javascript"> <img alt="Node.js badge" src="https://img.shields.io/badge/Node.js-%23202020?style=flat&logo=nodedotjs"> <img alt="Docker badge" src="https://img.shields.io/badge/Docker-%23202020?style=flat&logo=docker"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/milvus-tutorials/1-Milvus_standalone_starter" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/OD5FS7qUfBQ" target="_blank">YouTube</a> </td> </tr> <tr> <td>#2</td> <td>Attu starter</td> <td>Instructions on how to run Attu, a GUI for Milvus Standalone, using Docker</td> <td> <img alt="Docker badge" src="https://img.shields.io/badge/Docker-%23202020?style=flat&logo=docker"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/milvus-tutorials/2-Attu_starter" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/oUQUVcJBnYk" target="_blank">YouTube</a> </td> </tr> <tr> <td>#3</td> <td>Text similarity search</td> <td>Python example on how to do text similarity search with Milvus Standalone</td> <td> <img alt="Python badge" src="https://img.shields.io/badge/Python-%23202020?style=flat&logo=python"> <img alt="Docker badge" src="https://img.shields.io/badge/Docker-%23202020?style=flat&logo=docker"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/milvus-tutorials/3-Text_similarity_search" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/ySZp0rcGr4A" target="_blank">YouTube</a> </td> </tr> </table> <br>💬 NLP 💬
spaCy
<table> <tr> <th></th> <th>Tutorial title</th> <th>Tutorial description</th> <th>Tech stack</th> <th colspan="2">Links</th> </tr> <tr> <td>#1</td> <td>Add a new entity label to NER</td> <td>Jupyter Notebook example on how to add a new entity label to spaCy's default NER model</td> <td> <img alt="Jupyter Notebook badge" src="https://img.shields.io/badge/Jupyter%20Notebook-%23202020?style=flat&logo=jupyter"> </td> <td> <a href="https://github.com/rokbenko/ai-playground/tree/main/spacy-tutorials/1-Add_new_entity_label_to_NER" target="_blank">GitHub</a> </td> <td> <a href="https://youtu.be/W-0EOzFomO0" target="_blank">YouTube</a> </td> </tr> </table> <br>🌱 My story 🌱
I started this YouTube channel in November 2023. At the time, I was working full-time as a developer and also being very active on Stack Overflow. I didn’t have much free time, but I still wanted to share my knowledge in video format. Using AI voiceover was the only way I could realistically make tutorials without burning out. It saved me from recording myself and needing any special equipment.
Some people mention the voiceover in the comments. I get it. Everyone has different preferences.
But... Making just one 10-minute tutorial takes me 25+ hours!
Here’s what goes into it:
-
🔍 Researching
- I always try to cover the latest stuff in AI.
- I spend time reading official docs.
- I test everything myself before sharing it.
-
💻 Coding
- I spend hours writing and debugging code.
- I add comments and docstrings so it’s easier to follow.
- I organize the GitHub repo by framework to keep it neat.
- I always include the
requirements.txt,pyproject.toml, orpackage.jsonfile so you know exactly which dependency versions to use.
-
✍️ Scripting
- I think a lot about what’s important and what’s not.
- I try to keep things clear and to the point.
- I always aim to explain even complex concepts in a simple way.
- I make sure everything is practically explained, no theoretical fluff.
-
🎥 Recording
- I record everything: the code editor, terminal, Docker Desktop, pgAdmin, and the browser for official docs, installation steps, or GitHub repos.
- I show the full process, not just the code.
- I capture how the code behaves in real-time, including command flow and output examples.
- I walk you through the entire process step by step.
-
🗣️ Voiceover
- I use AI to generate voiceover.
- I rework the script and try again in case AI mispronounces something.
-
🎞️ Editing
- I cut out boring parts, like when my computer lags.
- I blur secrets when I show the
.envfile. - I make sure the video flows well and stays focused.
-
📤 Uploading
- I organize my YouTube channel so it’s easy to find videos by framework.
- I add timestamps so you can jump to the part you need.
- I write a detailed description of the video, so whether you want to reach out to me, get the links I mention, or support me, you can find everything there.
-
🧾 Writing
- I write the
README.mdfile with helpful notes, tips, warnings, output examples, screenshots, GIFs, and more. - I use grammar checkers to make sure it’s clean.
- I double-check all the links to make sure nothing’s broken.
- I write the
-
📣 Sharing
- I write posts for LinkedIn and X to help people discover the content.
- I always link back and forth between the YouTube video and GitHub code so everything stays connected.
I do all of this for free! Yes, you’ll see ads when watching my tutorials, but I’m not earning anything from them. My YouTube channel doesn’t meet all the requirements for monetization (yet).
Despite using AI voiceover, I believe my tutorials are valuable. I focus more on delivering quality content than worrying about how natural the voice sounds.
So yeah, that’s why I’m using AI voiceover. Anyway, you're here to learn coding, not to judge my voice’s acting career, right? Because I’m not counting on becoming a voice actor anytime soon. Unless they’re casting for a robot.
<br>☕ Support ☕
If you found my content helpful and want to help keep the tutorials brewing, you can buy me a coffee.
<a href="https://www.buymeacoffee.com/rokbenko"><img src="https://img.buymeacoffee.com/button-api/?text=Keep tutorials brewing&emoji=☕&slug=rokbenko&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff" /></a>
Thanks for the support! ❤️
<br>⭐ Star history ⭐
<a href="https://star-history.com/#rokbenko/ai-playground&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=rokbenko/ai-playground&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=rokbenko/ai-playground&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=rokbenko/ai-playground&type=Date" /> </picture> </a> <br> <br>🤝 Contributions 🤝
Thank you for considering contributing to my repo. While I don't accept direct additions of tutorials, I warmly welcome contributions in the following forms:
- Reporting major issues: Found a bug, or error? Feel free to open an issue on GitHub. Be sure to provide as much detail as possible, including steps to reproduce the issue.
- Fixing minor issues: Found a typo, grammatical error, or other small issue? Feel free to open a pull request to fix them directly.
- Making suggestions: Have an idea how I can enhance my tutorials or topics I should cover? Share your thoughts by creating a new issue outlining your suggestion. I'll carefully consider all reasonable ideas.
To contribute:
- Fork this repo.
- Make your desired changes.
- Create a commit and push the changes.
- Create a pull request.
I'll review your pull request and get back to you as soon as possible.
<br>📄 License 📄
This project is open source and available under the MIT license.
AI Playground alternatives
View more →Similar ai agents in Learning Resources, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| AI Playground (this page) rokbenko | 321 | MIT | Apr 23, 2026 | Scanned, no flagged issues |
| Prompt Engineering Guide dair-ai | 80k | MIT | Mar 11, 2026 | Scanned, no flagged issues |
| Learn Claude Code shareAI-lab | 80k | MIT | Oct 27, 2026 | Scanned, no flagged issues |
| AI Engineering From Scratch rohitg00 | 76k | MIT | Oct 29, 2026 | Scanned, no flagged issues |
| Front End Checklist thedaviddias | 75k | MIT | Oct 31, 2026 | Scanned, no flagged issues |
| System Prompts Leaks asgeirtj | 71k | CC0-1.0 | Nov 1, 2026 | Scanned, no flagged issues |