AutomationFlowsAI & RAG › AI-Powered HN Resource Recommendations

AI-Powered HN Resource Recommendations

Original n8n title: Learn Anything From Hn - Get Top Resource Recommendations From Hacker News

Learn Anything From Hn - Get Top Resource Recommendations From Hacker News. Uses lmChatGoogleGemini, chainLlm, hackerNews, httpRequest. Event-driven trigger; 10 nodes.

Event trigger★★★★☆ complexityAI-powered10 nodesGoogle Gemini ChatChain LlmHacker NewsHTTP RequestForm TriggerEmail Send
AI & RAG Trigger: Event Nodes: 10 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Chainllm → Emailsend recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "41183066-0045-4a75-ba23-42f4efcfeccc",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        720,
        720
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-1.5-flash"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "eb061c39-7a4d-42e7-bb42-806504731b11",
      "name": "Basic LLM Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        700,
        560
      ],
      "parameters": {
        "text": "=Your Task is to find the best resources to learn {{ $('GetTopicFromToLearn').item.json[\"I want to learn\"] }}. \n\nI have scraped the HackerNews and The following is the list of comments from HackerNews on topic about Learning {{ $('GetTopicFromToLearn').item.json[\"I want to learn\"] }}\n\n\nFocus only on comments that provide any resouces or advice or insight about learning {{ $('GetTopicFromToLearn').item.json.Learn }}. Ignore all other comments that are off topic discussions.\n\nNow based on these comments, you need to find the top resources and list them. \n\nCategorize them based on resource type (course, book, article, youtube videos, lectures, etc) and also figure out the difficultiy level (beginner, intermediate, advanced, expert).\n\nYou don't always to have fill in these categories exactly, these are given here for reference. Use your intution to find the best categorization.\n\nNow based on these metrics and running a basic sentiment analysis on comments you need to figure out what the top resources are. \n\nRespond back in Markdown formatted text. In the following format\n\n**OUTPUT FORMAT**\n\n```\n\n## Top HN Recomended Resources To Learn <topic Name> \n\n### Category 1\n\n- **Resource 1** - One line description\n- **Resource 2** - One line description\n- ... \n\n<add hyperlinks if any exists>\n\n### Category 2\n\n- **Resource 1** - One line description\n- **Resource 2** - One line description\n- ... \n\n<add hyperlinks in markdown format to the resource name itself if any exists. Example [resource name](https://example.com)>\n\n...\n```\n\nHere is the list of HackerNews Comments.\n\n{{ $json.text }}",
        "promptType": "define"
      },
      "typeVersion": 1.5
    },
    {
      "id": "94073fe0-d25c-421e-9c99-67b6c4f0afad",
      "name": "SearchAskHN",
      "type": "n8n-nodes-base.hackerNews",
      "position": [
        -160,
        560
      ],
      "parameters": {
        "limit": 150,
        "resource": "all",
        "additionalFields": {
          "tags": [
            "ask_hn"
          ],
          "keyword": "={{ $json[\"I want to learn\"] }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "eee4dfdf-53ab-42be-91ae-7b6c405df7c2",
      "name": "FindHNComments",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        260,
        560
      ],
      "parameters": {
        "url": "=https://hacker-news.firebaseio.com/v0/item/{{ $json.children }}.json?print=pretty",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "e57d86ae-d7c1-4354-9e3c-528c76160cd9",
      "name": "CombineIntoSingleText",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        480,
        560
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "text"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b2086d29-1de5-48f4-8c1e-affd509fb5f7",
      "name": "SplitOutChildrenIDs",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        40,
        560
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "children"
      },
      "typeVersion": 1
    },
    {
      "id": "6fe68a4b-744b-48c8-9320-d2b19e3eb92b",
      "name": "GetTopicFromToLearn",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -340,
        560
      ],
      "parameters": {
        "options": {
          "path": "learn",
          "buttonLabel": "Submit",
          "respondWithOptions": {
            "values": {
              "formSubmittedText": "We'll shortly send you an email with top recommendations."
            }
          }
        },
        "formTitle": "What do You want to learn ?",
        "formFields": {
          "values": [
            {
              "fieldLabel": "I want to learn",
              "placeholder": "Python, DevOps, Ai, or just about anything"
            },
            {
              "fieldType": "email",
              "fieldLabel": "What's your email ?",
              "placeholder": "john.doe@example.com",
              "requiredField": true
            }
          ]
        },
        "formDescription": "We'll find the best resources from HackerNews and send you an email"
      },
      "typeVersion": 2.2
    },
    {
      "id": "72fcb7f3-6706-47cc-8a79-364b325aa8ae",
      "name": "SendEmailWithTopResources",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1320,
        560
      ],
      "parameters": {
        "html": "=FYI, We read through {{ $('SplitOutChildrenIDs').all().length }} comments in search for the best.\n\n{{ $json.data }}",
        "options": {},
        "subject": "=Here are Top HN Recommendations for Learning {{ $('GetTopicFromToLearn').item.json[\"I want to learn\"] }}",
        "toEmail": "={{ $('GetTopicFromToLearn').item.json[\"What's your email ?\"] }}",
        "fromEmail": "allsmallnocaps@gmail.com"
      },
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b4d50b42-9e40-46b0-a411-90210b422de3",
      "name": "Convert2HTML",
      "type": "n8n-nodes-base.markdown",
      "position": [
        1100,
        560
      ],
      "parameters": {
        "mode": "markdownToHtml",
        "options": {},
        "markdown": "={{ $json.text }}"
      },
      "typeVersion": 1
    },
    {
      "id": "b79e867a-ea3b-4a94-9809-b5a01ee2820f",
      "name": "Finished",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1540,
        560
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "connections": {
    "SearchAskHN": {
      "main": [
        [
          {
            "node": "SplitOutChildrenIDs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert2HTML": {
      "main": [
        [
          {
            "node": "SendEmailWithTopResources",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "FindHNComments": {
      "main": [
        [
          {
            "node": "CombineIntoSingleText",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain": {
      "main": [
        [
          {
            "node": "Convert2HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GetTopicFromToLearn": {
      "main": [
        [
          {
            "node": "SearchAskHN",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SplitOutChildrenIDs": {
      "main": [
        [
          {
            "node": "FindHNComments",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CombineIntoSingleText": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "SendEmailWithTopResources": {
      "main": [
        [
          {
            "node": "Finished",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

How this works

This workflow harnesses Hacker News to deliver personalised recommendations for learning any topic, saving you hours of searching by surfacing the community's top resources and discussions. It's ideal for developers, students, or curious professionals eager to dive into subjects like machine learning or web development without sifting through endless links. You start by submitting a topic via a simple form, then the system queries Hacker News for relevant posts and comments, processes them with Google Gemini AI to extract the best insights, and emails you a curated list of high-value recommendations.

Use this workflow when you need quick, community-vetted learning paths for tech topics, especially during self-study or project planning. Avoid it for non-technical subjects, as Hacker News focuses on programming and startups; for broader searches, consider general web tools instead. Common variations include tweaking the AI prompts for deeper analysis or integrating Slack notifications for team learning sessions.

About this workflow

Learn Anything From Hn - Get Top Resource Recommendations From Hacker News. Uses lmChatGoogleGemini, chainLlm, hackerNews, httpRequest. Event-driven trigger; 10 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Learning something new? Endlessly searching to find the best resources? This workflow finds top community-recommended learning resources on any topic from Hacker News, delivered to your inbox. User su

Google Gemini Chat, Chain Llm, Hacker News +3
AI & RAG

This n8n workflow automatically retrieves recent Reuters news articles related to a user-specified keyword, summarizes the main findings using Google Gemini, formats the output into styled HTML, and s

HTTP Request, Form Trigger, Google Gemini Chat +2
AI & RAG

Episode 11: AI shorts factory app. Uses httpRequest, googleSheets, lmChatOpenAi, lmChatOllama. Event-driven trigger; 96 nodes.

HTTP Request, Google Sheets, OpenAI Chat +15
AI & RAG

Content - Newsletter Agent. Uses formTrigger, chainLlm, outputParserStructured, httpRequest. Event-driven trigger; 91 nodes.

Form Trigger, Chain Llm, Output Parser Structured +8
AI & RAG

Content - Newsletter Agent. Uses formTrigger, chainLlm, outputParserStructured, httpRequest. Event-driven trigger; 87 nodes.

Form Trigger, Chain Llm, Output Parser Structured +7