<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tolulope Victor</title>
    <description>The latest articles on DEV Community by Tolulope Victor (@startup_guy).</description>
    <link>https://dev.to/startup_guy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2444483%2Fc0a5c015-d391-4bb8-b418-85f662179e0a.jpg</url>
      <title>DEV Community: Tolulope Victor</title>
      <link>https://dev.to/startup_guy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/startup_guy"/>
    <language>en</language>
    <item>
      <title>Building an AI‑Powered Web Scraper in n8n (HTTP, HTML, JS, OpenAI)</title>
      <dc:creator>Tolulope Victor</dc:creator>
      <pubDate>Tue, 23 Dec 2025 07:35:15 +0000</pubDate>
      <link>https://dev.to/startup_guy/building-an-ai-powered-web-scraper-in-n8n-http-html-js-openai-1ipk</link>
      <guid>https://dev.to/startup_guy/building-an-ai-powered-web-scraper-in-n8n-http-html-js-openai-1ipk</guid>
      <description>&lt;p&gt;This workflow is a clean, end‑to‑end example of how to pull content from the web, process it with JavaScript, and then hand it off to an AI model – all from a single visual canvas.&lt;/p&gt;




&lt;h2&gt;
  
  
  What this workflow does
&lt;/h2&gt;

&lt;p&gt;At a high level, the workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Starts when you manually click &lt;strong&gt;Execute workflow&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Sends an &lt;strong&gt;HTTP Request&lt;/strong&gt; to a target URL.&lt;/li&gt;
&lt;li&gt;Parses the response using an &lt;strong&gt;HTML&lt;/strong&gt; node to extract just the part of the page you care about.&lt;/li&gt;
&lt;li&gt;Runs a &lt;strong&gt;Code in JavaScript&lt;/strong&gt; step to clean or reshape that content.&lt;/li&gt;
&lt;li&gt;Feeds the processed text into &lt;strong&gt;Message a model&lt;/strong&gt;, which generates a final, human‑readable summary or analysis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is ideal for turning any web page into something more readable: a short summary, a bullet‑point brief for teammates, or even a draft blog post.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step‑by‑step through each node
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Manual trigger
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd9mvcggt5sc55fwuqny1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd9mvcggt5sc55fwuqny1.png" alt=" " width="458" height="281"&gt;&lt;/a&gt;&lt;br&gt;
The workflow begins with a &lt;strong&gt;When clicking ‘Execute workflow’&lt;/strong&gt; node.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This keeps things simple for a portfolio demo: there is no cron, no webhooks, just a clear “Run” button.
&lt;/li&gt;
&lt;li&gt;It is great for exploratory analysis or for showcasing the pipeline in a live walkthrough, because you control exactly when the flow starts.
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. HTTP Request: fetching the page
&lt;/h3&gt;

&lt;p&gt;Next, the flow moves into &lt;strong&gt;HTTP Request (GET)&lt;/strong&gt;, pointing at the target URL (for example, &lt;code&gt;https://www.leftclick.ai&lt;/code&gt;).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The request node is responsible for downloading the raw HTML of the page, including all the markup, scripts, and styles.&lt;/li&gt;
&lt;li&gt;In a real project, this is where you might add headers, authentication, or query parameters if the page is behind an API or needs filters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwf7s0boq8soxa5wo8i7n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwf7s0boq8soxa5wo8i7n.png" alt=" " width="284" height="251"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fij3o3ek8ltowvk4wz1q0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fij3o3ek8ltowvk4wz1q0.png" alt=" " width="800" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. HTML node: extracting meaningful content
&lt;/h3&gt;

&lt;p&gt;Raw HTML is noisy, so the next step uses an &lt;strong&gt;HTML&lt;/strong&gt; node (named &lt;code&gt;extractHtmlContent&lt;/code&gt;) to pull out just the parts that matter.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using CSS selectors or XPath, the node can target the main article container, headings, or specific sections instead of the entire page.&lt;/li&gt;
&lt;li&gt;This dramatically reduces token usage for the model and improves response quality, because the AI sees focused text instead of layout code and navigation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbr3bt95ve7hdo108h5h8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbr3bt95ve7hdo108h5h8.png" alt=" " width="308" height="271"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwi27o315dtn391a48p9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwi27o315dtn391a48p9t.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Code in JavaScript: cleaning and shaping the text
&lt;/h3&gt;

&lt;p&gt;After extraction, the &lt;strong&gt;Code in JavaScript&lt;/strong&gt; node gives you a place to fine‑tune the content before handing it to the model.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typical tasks here include stripping leftover tags, normalizing whitespace, truncating extra‑long pages, or assembling a structured prompt for the AI.&lt;/li&gt;
&lt;li&gt;This node is where you can add your own opinionated logic — for example, building a JSON object with &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;summary&lt;/code&gt;, and &lt;code&gt;keyPoints&lt;/code&gt; that will be passed forward.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8u77vtuvb49iy1ax4b4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8u77vtuvb49iy1ax4b4.png" alt=" " width="282" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flq20kdb1486kqkh30cr8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flq20kdb1486kqkh30cr8.png" alt=" " width="800" height="511"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Message a model: turning data into narrative
&lt;/h3&gt;

&lt;p&gt;Finally, the processed text flows into &lt;strong&gt;Message a model&lt;/strong&gt;, which calls an OpenAI‑compatible chat or responses endpoint.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The node can send a system message (for example: “You are a helpful web analyst.”) and a user message containing the cleaned page content.&lt;/li&gt;
&lt;li&gt;The model then returns a well‑structured explanation, summary, or analysis that becomes the workflow’s final output — perfect for feeding into emails, dashboards, or documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2k3tq0kopjbrwyiu5fk0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2k3tq0kopjbrwyiu5fk0.png" alt=" " width="504" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzk3p0htnzefolm83v7q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuzk3p0htnzefolm83v7q.png" alt=" " width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This workflow demonstrates several skills that are valuable for modern web and automation work.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It shows understanding of HTTP, HTML parsing, and JavaScript data shaping, all wired together in a visual automation tool.&lt;/li&gt;
&lt;li&gt;It highlights practical use of AI APIs: not just calling a model, but preparing high‑quality input and integrating the response into a repeatable process.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>json</category>
      <category>n8nbrightdatachallenge</category>
    </item>
    <item>
      <title>Airtable Automation Demo: Streamlining Applications, Payments &amp; Team Workflow for a Yoga Coach</title>
      <dc:creator>Tolulope Victor</dc:creator>
      <pubDate>Tue, 10 Jun 2025 22:17:52 +0000</pubDate>
      <link>https://dev.to/startup_guy/airtable-automation-demo-streamlining-applications-payments-team-workflow-for-a-yoga-coach-4g7b</link>
      <guid>https://dev.to/startup_guy/airtable-automation-demo-streamlining-applications-payments-team-workflow-for-a-yoga-coach-4g7b</guid>
      <description>&lt;div&gt;
  &lt;iframe src="https://loom.com/embed/3bf65fab589447b08b30f515e9f65b6b"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;In this video, I walk through how I set up an automated system in Airtable to help a yoga coach manage their bootcamp process more easily.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The setup includes &lt;strong&gt;three main tables&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;One for &lt;strong&gt;people applying&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;One for &lt;strong&gt;accepted clients&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;One for the &lt;strong&gt;coaches&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When someone fills out the application form, their info goes into the Applicants table. Right away, they get an automatic email confirming their application.&lt;/p&gt;

&lt;p&gt;The coach can then review each applicant and choose who to admit. If accepted, the applicant is moved to the Clients table and receives a welcome email. If not, they get a polite rejection message encouraging them to try again next time.&lt;/p&gt;

&lt;p&gt;The Clients table also tracks how much each person has paid and what’s left. As soon as someone is added here, the coaching team gets a Slack alert so they can start onboarding.&lt;/p&gt;

&lt;p&gt;Finally, the Coaches table lists all the instructors and automatically shows which clients have been assigned to each one.&lt;/p&gt;

&lt;p&gt;This simple system helps the coach stay on top of applications, send timely updates, track payments, and keep the whole team in sync.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>airtable</category>
      <category>stripe</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Automate to Scale: How Founders &amp; Startups Can Streamline Bookings, Emails, and CRM with n8n</title>
      <dc:creator>Tolulope Victor</dc:creator>
      <pubDate>Tue, 10 Jun 2025 06:49:18 +0000</pubDate>
      <link>https://dev.to/startup_guy/automate-to-scale-how-founders-startups-can-streamline-bookings-emails-and-crm-with-n8n-2i6l</link>
      <guid>https://dev.to/startup_guy/automate-to-scale-how-founders-startups-can-streamline-bookings-emails-and-crm-with-n8n-2i6l</guid>
      <description>&lt;p&gt;When you start a new business, you often have to do many jobs at once. You might be handling sales, talking to customers, and running the business—all at the same time. This can be tiring and slow you down. But there is a way to make things easier: automation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5szkxlr4dq8nkmagxop.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5szkxlr4dq8nkmagxop.png" alt="workflow image with n8n" width="708" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;n8n is a tool that helps you connect your favorite apps (like Cal.com, Gmail, and ClickUp) so they work together automatically. You don’t need to know how to code. With n8n, you can stop doing boring tasks by hand and focus on growing your business.&lt;/p&gt;

&lt;p&gt;How the Automation Works&lt;br&gt;
Step 1: Cal.com Triggerbook on Cal.com&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gwaa68yv1qmejj8pdua.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gwaa68yv1qmejj8pdua.png" alt="First Trigger" width="602" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When someone books a meeting with you on Cal.com, it starts the automation.&lt;/p&gt;

&lt;p&gt;Step 2: Gmail Sends a Reply&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgww4q7h0ti3ojhtxmeaj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgww4q7h0ti3ojhtxmeaj.png" alt="Action by Gmail" width="451" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;receiving noification on gmai&lt;/p&gt;

&lt;p&gt;n8n sends a custom email to the person who booked, confirming their meeting or giving them more info.&lt;/p&gt;

&lt;p&gt;Step 3: ClickUp Saves the Details&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9joslr7cuz7u18wqxegz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9joslr7cuz7u18wqxegz.png" alt="Overview dashboard" width="717" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LOGGED IN crm&lt;/p&gt;

&lt;p&gt;The meeting info is added as a new task in ClickUp. This way, you and your team can keep track of what’s happening.&lt;/p&gt;

&lt;p&gt;Real-Life Ways Startups Can Use This&lt;br&gt;
Book Sales Calls&lt;/p&gt;

&lt;p&gt;When someone books a sales call, the system sends a confirmation, adds the person to your CRM, and gives your team a reminder to follow up.&lt;/p&gt;

&lt;p&gt;Welcome New Clients&lt;/p&gt;

&lt;p&gt;After a client books a first meeting, send them helpful info and create a checklist in ClickUp for their onboarding steps.&lt;/p&gt;

&lt;p&gt;Freelancer Consultations&lt;/p&gt;

&lt;p&gt;If you’re a solo worker, you can send invoices or forms right after someone books a session with you.&lt;/p&gt;

&lt;p&gt;Event Signups&lt;/p&gt;

&lt;p&gt;When people sign up for your event or webinar, their info goes into your CRM, and they get a calendar invite and reminder emails.&lt;/p&gt;

&lt;p&gt;Customer Support Calls&lt;/p&gt;

&lt;p&gt;Let customers book support calls. The system confirms the booking and adds a new ticket to your task list.&lt;/p&gt;

&lt;p&gt;Team Meetings or Interviews&lt;/p&gt;

&lt;p&gt;HR or team leads can use this to book interviews or meetings, and the details go straight into ClickUp for easy tracking.&lt;/p&gt;

&lt;p&gt;Why This Helps Founders&lt;br&gt;
Saves Time&lt;/p&gt;

&lt;p&gt;You can save 5–10 hours every week by not doing the same boring tasks over and over.&lt;/p&gt;

&lt;p&gt;Fewer Mistakes&lt;/p&gt;

&lt;p&gt;The system fills in details for you, so you don’t forget leads or tasks.&lt;/p&gt;

&lt;p&gt;Faster Service&lt;/p&gt;

&lt;p&gt;Customers get quick replies, which makes them happy and builds trust.&lt;/p&gt;

&lt;p&gt;Easy to Grow&lt;/p&gt;

&lt;p&gt;As your business gets bigger, this system can handle more work without needing to hire more people.&lt;/p&gt;

&lt;p&gt;Startups move fast and need to be smart about how they work. Automating small jobs with n8n gives you more time to think, create, and win new customers, while making sure nothing gets missed.&lt;/p&gt;

</description>
      <category>n8n</category>
      <category>automation</category>
      <category>productivity</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
