Skip to content

Build A Static RSS Reader To Fight Your Inner FOMO — TechRuum

In a fast-paced industry like tech, it can be hard to deal with the fear of missing out on important news. But, as many of us know, there’s an absolutely huge amount of information coming in daily, and finding the right time and balance to keep up can be difficult, if not stressful. A classic piece of technology like an RSS feed is a delightful way of taking back ownership of our own time. In this article, we will create a static Really Simple Syndication (RSS) reader that will bring you the latest curated news only once (yes: once) a day.

We’ll obviously work with RSS technology in the process, but we’re also going to combine it with some things that maybe you haven’t tried before, including Astro (the static site framework), TypeScript (for JavaScript goodies), a package called rss-parser (for connecting things together), as well as scheduled functions and build hooks provided by Netlify (although there are other services that do this).

I chose these technologies purely because I really, really enjoy them! There may be other solutions out there that are more performant, come with more features, or are simply more comfortable to you — and in those cases, I encourage you to swap in whatever you’d like. The most important thing is getting the end result!

The Plan

Here’s how this will go. Astro generates the website. I made the intentional decision to use a static site because I want the different RSS feeds to be fetched only once during build time, and that’s something we can control each time the site is “rebuilt” and redeployed with updates. That’s where Netlify’s scheduled functions come into play, as they let us trigger rebuilds automatically at specific times. There is no need to manually check for updates and deploy them! Cron jobs can just as readily do this if you prefer a server-side solution.

During the triggered rebuild, we’ll let the rss-parser package do exactly what it says it does: parse a list of RSS feeds that are contained in an array. The package also allows us to set a filter for the fetched results so that we only get ones from the past day, week, and so on. Personally, I only render the news from the last seven days to prevent content overload. We’ll get there!

But first…

RSS is a web feed technology that you can feed into a reader or news aggregator. Because RSS is standardized, you know what to expect when it comes to the feed’s format. That means we have a ton of fun possibilities when it comes to handling the data that the feed provides. Most news websites have their own RSS feed that you can subscribe to (this is TechRuum’s RSS feed: An RSS feed is capable of updating every time a site publishes new content, which means it can be a quick source of the latest news, but we can tailor that frequency as well.

RSS feeds are written in an Extensible Markup Language (XML) format and have specific elements that can be used within it. Instead of focusing too much on the technicalities here, I’ll give you a link to the RSS specification. Don’t worry; that page should be scannable enough for you to find the most pertinent information you need, like the kinds of elements that are supported and what they represent. For this tutorial, we’re only using the following elements: </code></strong>, <strong><code><link/></code></strong>, <strong><code><description/></code></strong>, <strong><code><item/></code></strong>, and <strong><code><pubdate/></code></strong>. We’ll also let our RSS parser package do some of the work for us.</p> <div data-audience="non-subscriber" data-remove="true" class="feature-panel-container"> <aside class="feature-panel"> <div class="feature-panel-right-col"> <div class="feature-panel-image"><picture><source type="image/avif" srcset="https://archive.smashing.media/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/2732dfe9-e1ee-41c3-871a-6252aeda741c/typescript-panel.avif"><img loading="lazy" decoding="async" class="feature-panel-image-img" src="https://archive.smashing.media/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/c2f2c6d6-4e85-449a-99f5-58bd053bc846/typescript-shop-cover-opt.png" alt="Feature Panel" width="481" height="698" title="Build A Static RSS Reader To Fight Your Inner FOMO — TechRuum 1"></source></picture></div> </div> </aside> </div> <h2 id="creating-the-state-site">Creating The State Site</h2> <p>We’ll start by creating our Astro site! In your terminal run <code>pnpm create astro@latest</code>. You can use any package manager you want — I’m simply trying out pnpm for myself.</p> <p>After running the command, Astro’s chat-based helper, Houston, walks through some setup questions to get things started.</p> <pre><code class="language-bash"> astro Launch sequence initiated. dir Where should we create your new project? ./rss-buddy tmpl How would you like to start your new project? Include sample files ts Do you plan to write TypeScript? Yes use How strict should TypeScript be? Strict deps Install dependencies? Yes git Initialize a new git repository? Yes </code></pre> <p>I like to use Astro’s sample files so I can get started quickly, but we’re going to clean them up a bit in the process. Let’s clean up the <code>src/pages/index.astro</code> file by removing everything inside of the <code><main/></code> tags. Then we’re good to go!</p> <p>From there, we can spin things by running <code>pnpm start</code>. Your terminal will tell you which localhost address you can find your site at.</p> <p>The <code>src/pages/index.astro</code> file is where we will make an array of RSS feeds we want to follow. We will be using Astro’s template syntax, so between the two code fences (—), create an array of <code>feedSources</code> and add some feeds. If you need inspiration, you can copy this:</p> <pre><code class="language-javascript">const feedSources = [ ' ' // etc. ] </code></pre> <p>Now we’ll install the rss-parser package in our project by running <code>pnpm install rss-parser</code>. This package is a small library that turns the XML that we get from fetching an RSS feed into JavaScript objects. This makes it easy for us to read our RSS feeds and manipulate the data any way we want.</p> <p>Once the package is installed, open the <code>src/pages/index.astro</code> file, and at the top, we’ll import the rss-parser and instantiate the <code>Partner</code> class.</p> <pre><code class="language-javascript">import Parser from 'rss-parser'; const parser = new Parser(); </code></pre> <p>We use this parser to read our RSS feeds and (surprise!) <em>parse</em> them to JavaScript. We’re going to be dealing with a list of promises here. Normally, I would probably use <code>Promise.all()</code>, but the thing is, this is supposed to be a complicated experience. If one of the feeds doesn’t work for some reason, I’d prefer to simply ignore it.</p> <p>Why? Well, because <code>Promise.all()</code> rejects everything even if only one of its promises is rejected. That might mean that if one feed doesn’t behave the way I’d expect it to, my entire page would be blank when I grab my hot beverage to read the news in the morning. I do not want to start my day confronted by an error.</p> <p>Instead, I’ll opt to use <code>Promise.allSettled()</code>. This method will actually let all promises complete even if one of them fails. In our case, this means any feed that errors will just be ignored, which is perfect.</p> <p>Let’s add this to the <code>src/pages/index.astro</code> file:</p> <div class="break-out"> <pre><code class="language-typescript">interface FeedItem { feed?: string; title?: string; link?: string; date?: Date; } const feedItems: FeedItem[] = []; await Promise.allSettled( feedSources.map(async (source) => { try { const feed = await parser.parseURL(source); feed.items.forEach((item) => { const date = item.pubDate ? new Date(item.pubDate) : undefined; feedItems.push({ feed: feed.title, title: item.title, link: item.link, date, }); }); } catch (error) { console.error(`Error fetching feed from ${source}:`, error); } }) ); </code></pre> </div> <p>This creates an array (or more) named <code>feedItems</code>. For each URL in the <code>feedSources</code> array we created earlier, the rss-parser retrieves the items and, yes, parses them into JavaScript. Then, we return whatever data we want! We’ll keep it simple for now and only return the following:</p> <ul> <li>The feed title,</li> <li>The title of the feed item,</li> <li>The link to the item,</li> <li>And the item’s published date.</li> </ul> <p>The next step is to ensure that all items are sorted by date so we’ll truly get the “latest” news. Add this small piece of code to our work:</p> <div class="break-out"> <pre><code class="language-typescript">const sortedFeedItems = feedItems.sort((a, b) => (b.date ?? new Date()).getTime() - (a.date ?? new Date()).getTime()); </code></pre> </div> <p>Oh, and&mldr; remember when I said I didn’t want this RSS reader to render anything older than seven days? Let’s tackle that right now since we’re already in this code.</p> <p>We’ll make a new variable called <code>sevenDaysAgo</code> and assign it a date. We’ll then set that date to seven days ago and use that logic before we add a new item to our <code>feedItems</code> array.</p> <p>This is what the <code>src/pages/index.astro</code> file should now look like at this point:</p> <div class="break-out"> <pre><code class="language-typescript">--- import Layout from '../layouts/Layout.astro'; import Parser from 'rss-parser'; const parser = new Parser(); const sevenDaysAgo = new Date(); sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7); const feedSources = [ ' ' ] interface FeedItem { feed?: string; title?: string; link?: string; date?: Date; } const feedItems: FeedItem[] = []; await Promise.allSettled( feedSources.map(async (source) => { try { const feed = await parser.parseURL(source); feed.items.forEach((item) => { const date = item.pubDate ? new Date(item.pubDate) : undefined; if (date && date >= sevenDaysAgo) { feedItems.push({ feed: feed.title, title: item.title, link: item.link, date, }); } }); } catch (error) { console.error(`Error fetching feed from ${source}:`, error); } }) ); const sortedFeedItems = feedItems.sort((a, b) => (b.date ?? new Date()).getTime() - (a.date ?? new Date()).getTime()); --- <layout title="Welcome to Astro."> <main> </main> </layout> </code></pre> </div> <h2 id="rendering-xml-data">Rendering XML Data</h2> <p>It’s time to show our news articles on the Astro site! To keep this simple, we’ll format the items in an unordered list rather than some other fancy layout.</p> <p>All we need to do is update the <code><layout/></code> element in the file with the XML objects sprinkled in for a feed item’s title, URL, and publish date.</p> <pre><code class="language-html"><layout title="Welcome to Astro."> <main> {sortedFeedItems.map(item => ( ))} </main> </layout> </code></pre> <p>Go ahead and run <code>pnpm start</code> from the terminal. The page should display an unordered list of feed items. Of course, everything is styled at the moment, but luckily for you, you can make it look exactly like you want with CSS!</p> <p>And remember that there are even <strong>more fields available in the XML for each item</strong> if you want to display more information. If you run the following snippet in your DevTools console, you’ll see all of the fields you have at your disposal:</p> <pre><code class="language-javascript">feed.items.forEach(item => {} </code></pre> <h2 id="scheduling-daily-static-site-builds">Scheduling Daily Static Site Builds</h2> <p>We’re nearly done! The feeds are being fetched, and they are returning data back to us in JavaScript for use in our Astro page template. Since feeds are updated whenever new content is published, we need a way to fetch the latest items from it.</p> <p>We want to avoid doing any of this manually. So, let’s set this site on Netlify to gain access to their scheduled functions that trigger a rebuild and their build hooks that do the building. Again, other services do this, and you’re welcome to roll this work with another provider — I’m just partial to Netlify since I work there. In any case, you can follow Netlify’s documentation for setting up a new site.</p> <p>Once your site is hosted and live, you are ready to schedule your rebuilds. A build hook gives you a URL to use to trigger the new build, looking something like this:</p> <pre><code class="language-html"> </code></pre> <p>Let’s trigger builds every day at midnight. We’ll use Netlify’s scheduled functions. That’s really why I’m using Netlify to host this in the first place. Having them at the ready via the host greatly simplifies things since there’s no server work or complicated configurations to get this going. Set it and forget it!</p> <p>We’ll install <code>@netlify/functions</code> (instructions) to the project and then create the following file in the project’s root directory: <code>netlify/functions/deploy.ts</code>.</p> <p>This is what we want to add to that file:</p> <div class="break-out"> <pre><code class="language-typescript">// netlify/functions/deploy.ts import type { Config } from '@netlify/functions'; const BUILD_HOOK = ''; // replace me! export default async (req: Request) => { await fetch(BUILD_HOOK, { method: 'POST', }) }; export const config: Config = { schedule: '0 0 * * *', }; </code></pre> </div> <p>If you commit your code and push it, your site should re-deploy automatically. From that point on, it follows a schedule that rebuilds the site every day at midnight, ready for you to take your morning brew and catch up on everything that <em>you</em> think is important.</p> <div class="signature"><img src="https://www.smashingmagazine.com/images/logo/logo--red.png" alt="Smashing Editorial" width="35" height="46" loading="lazy" decoding="async" title="Build A Static RSS Reader To Fight Your Inner FOMO — TechRuum 2"><br /> <span>(gg, yk)</span></div> </div> <p>#Build #Static #RSS #Reader #Fight #FOMO #Smashing #Magazine</p> </div> <div class="post-tags wpex-mb-40 wpex-last-mr-0"><a href="https://techruum.com/tag/build/" rel="tag">Build</a><a href="https://techruum.com/tag/fight/" rel="tag">Fight</a><a href="https://techruum.com/tag/fomo/" rel="tag">FOMO</a><a href="https://techruum.com/tag/reader/" rel="tag">Reader</a><a href="https://techruum.com/tag/rss/" rel="tag">RSS</a><a href="https://techruum.com/tag/static/" rel="tag">Static</a><a href="https://techruum.com/tag/techruum/" rel="tag">TechRuum</a></div> <div class="wpex-social-share style-flat position-horizontal wpex-mx-auto wpex-mb-40 wpex-print-hidden" data-target="_blank" data-source="https%3A%2F%2Ftechruum.com%2F" data-url="https%3A%2F%2Ftechruum.com%2Fbuild-a-static-rss-reader-to-fight-your-inner-fomo-techruum%2F" data-title="Build A Static RSS Reader To Fight Your Inner FOMO — TechRuum" data-image="https%3A%2F%2Ftechruum.com%2Fwp-content%2Fuploads%2F2024%2F10%2Fbuild-static-rss-reader-fight-fomo.jpg" data-summary="RSS%20is%20a%20classic%20technology%20that%20fetches%20content%20from%20websites%20and%20feeds%20it%20to%20anyone%20who%20subscribes%20to%20it%20with%20a%20URL.%20It%E2%80%99s%20based%20on%20XML%2C%20and%20we%20can%20use" data-email-subject="I wanted you to see this link" data-email-body="I wanted you to see this link https%3A%2F%2Ftechruum.com%2Fbuild-a-static-rss-reader-to-fight-your-inner-fomo-techruum%2F"> <h3 class="theme-heading border-bottom social-share-title"><span class="text">Share This</span></h3> <ul class="wpex-social-share__list wpex-m-0 wpex-p-0 wpex-list-none wpex-flex wpex-flex-wrap wpex-gap-5"> <li class="wpex-social-share__item wpex-m-0 wpex-p-0 wpex-inline-block"> <a href="#" role="button" class="wpex-social-share__link wpex-social-share__link--twitter wpex-twitter wpex-flex wpex-items-center wpex-justify-center wpex-no-underline wpex-gap-10 wpex-duration-150 wpex-transition-colors wpex-social-bg" aria-label="Post on X"> <span class="wpex-social-share__icon"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></span></span> <span class="wpex-social-share__label wpex-label">Twitter</span> </a> </li> <li class="wpex-social-share__item wpex-m-0 wpex-p-0 wpex-inline-block"> <a href="#" role="button" class="wpex-social-share__link wpex-social-share__link--facebook wpex-facebook wpex-flex wpex-items-center wpex-justify-center wpex-no-underline wpex-gap-10 wpex-duration-150 wpex-transition-colors wpex-social-bg" aria-label="Share on Facebook"> <span class="wpex-social-share__icon"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"/></svg></span></span> <span class="wpex-social-share__label wpex-label">Facebook</span> </a> </li> <li class="wpex-social-share__item wpex-m-0 wpex-p-0 wpex-inline-block"> <a href="#" role="button" class="wpex-social-share__link wpex-social-share__link--linkedin wpex-linkedin wpex-flex wpex-items-center wpex-justify-center wpex-no-underline wpex-gap-10 wpex-duration-150 wpex-transition-colors wpex-social-bg" aria-label="Share on LinkedIn"> <span class="wpex-social-share__icon"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z"/></svg></span></span> <span class="wpex-social-share__label wpex-label">LinkedIn</span> </a> </li> <li class="wpex-social-share__item wpex-m-0 wpex-p-0 wpex-inline-block"> <a href="#" role="button" class="wpex-social-share__link wpex-social-share__link--email wpex-email wpex-flex wpex-items-center wpex-justify-center wpex-no-underline wpex-gap-10 wpex-duration-150 wpex-transition-colors wpex-social-bg" aria-label="Share via Email"> <span class="wpex-social-share__icon"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg></span></span> <span class="wpex-social-share__label wpex-label">Email</span> </a> </li> </ul> </div> <section class="author-bio wpex-boxed wpex-flex wpex-gap-20 wpex-flex-col wpex-sm-flex-row wpex-text-center wpex-sm-text-left wpex-mb-40"> <div class="author-bio-avatar wpex-flex-shrink-0"> <a href="https://techruum.com/author/simeonmoses9/" title="Visit Author Page"><img alt='' src='https://techruum.com/wp-content/uploads/2022/05/Techrumm-icon-01-300x300.jpg' srcset='https://techruum.com/wp-content/uploads/2022/05/Techrumm-icon-01-300x300.jpg 300w, https://techruum.com/wp-content/uploads/2022/05/Techrumm-icon-01-1024x1024.jpg 1024w, https://techruum.com/wp-content/uploads/2022/05/Techrumm-icon-01-150x150.jpg 150w, https://techruum.com/wp-content/uploads/2022/05/Techrumm-icon-01-768x768.jpg 768w, https://techruum.com/wp-content/uploads/2022/05/Techrumm-icon-01-1536x1536.jpg 1536w, https://techruum.com/wp-content/uploads/2022/05/Techrumm-icon-01-2048x2048.jpg 2048w' class='avatar avatar-70 photo wpex-align-middle wpex-round' height='70' width='70' decoding='async'/></a> </div> <div class="author-bio-content wpex-flex-grow wpex-last-mb-0"> <h3 class="author-bio-title wpex-heading wpex-m-0 wpex-mb-10 wpex-text-lg"> <a href="https://techruum.com/author/simeonmoses9/" title="Visit Author Page" rel="author" class="wpex-no-underline">TechRuum</a> </h3> <div class="author-bio-description wpex-mb-15 wpex-last-mb-0"><p>TechRuum Inc is a world class information technology company committed to use the best business practices to help companies develop the capabilities needed to compete in the global market. TechRuum partners with its clients to achieve success in the global markets with its specialized expertise in providing Onsite, Offsite and Offshore IT services and solutions. TechRuum’ core competency lies in enabling its clients to reduce the cost and complexity of deploying information technology while ensuring reliability, scalability, and manageability.</p> </div> <div class="author-bio-social wpex-mb-15"><div class="author-bio-social__items wpex-inline-flex wpex-flex-wrap wpex-gap-5"><a href="https://twitter.com/TechRuum" class="author-bio-social__item wpex-social-btn wpex-social-btn-flat wpex-social-bg wpex-rounded-full wpex-x-twitter"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></span><span class="screen-reader-text">Twitter</span></a><a href="https://www.facebook.com/TechRuum-114932764555254" class="author-bio-social__item wpex-social-btn wpex-social-btn-flat wpex-social-bg wpex-rounded-full wpex-facebook"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"/></svg></span><span class="screen-reader-text">Facebook</span></a><a href="https://www.linkedin.com/company/techruum" class="author-bio-social__item wpex-social-btn wpex-social-btn-flat wpex-social-bg wpex-rounded-full wpex-linkedin"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z"/></svg></span><span class="screen-reader-text">LinkedIn</span></a><a href="https://instagram.com/techruum" class="author-bio-social__item wpex-social-btn wpex-social-btn-flat wpex-social-bg wpex-rounded-full wpex-instagram"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg></span><span class="screen-reader-text">Instagram</span></a></div></div> </div> </section> <div class="related-posts wpex-overflow-hidden wpex-mb-40 wpex-clr"> <h3 class="theme-heading border-bottom related-posts-title"><span class="text">Related Posts</span></h3> <div class="wpex-row wpex-clr"> <article class="related-post col span_1_of_3 col-1 wpex-clr post-1775 post type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized tag-bar tag-creating tag-css tag-highlight tag-javascript tag-moving tag-navigation tag-techruum entry has-media"> <div class="related-post-inner wpex-flex-grow"> <figure class="related-post-figure wpex-mb-15 wpex-relative"> <a href="https://techruum.com/creating-the-moving-highlight-navigation-bar-with-javascript-and-css-techruum/" title="Creating The “Moving Highlight” Navigation Bar With JavaScript And CSS — TechRuum" class="related-post-thumb"> <img loading="lazy" class="wpex-align-middle" decoding="async" src="https://techruum.com/wp-content/uploads/2025/06/creating-moving-highlight-navigation-bar-javascript-css-700x350.jpg" alt="" width="700" height="350"> </a> </figure> <div class="related-post-content wpex-clr"> <div class="related-post-title entry-title wpex-m-0 wpex-mb-10"> <a href="https://techruum.com/creating-the-moving-highlight-navigation-bar-with-javascript-and-css-techruum/">Creating The “Moving Highlight” Navigation Bar With JavaScript And CSS — TechRuum</a> </div> <div class="related-post-excerpt wpex-leading-normal wpex-last-mb-0 wpex-clr"><p>In this tutorial, Blake Lundquist walks us through two methods of creating the “moving-highlight” navigation…</p></div> </div> </div> </article> <article class="related-post col span_1_of_3 col-2 wpex-clr post-1771 post type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized tag-designers tag-details tag-stop tag-stuck tag-techruum entry has-media"> <div class="related-post-inner wpex-flex-grow"> <figure class="related-post-figure wpex-mb-15 wpex-relative"> <a href="https://techruum.com/why-designers-get-stuck-in-the-details-and-how-to-stop-techruum/" title="Why Designers Get Stuck In The Details And How To Stop — TechRuum" class="related-post-thumb"> <img loading="lazy" class="wpex-align-middle" decoding="async" src="https://techruum.com/wp-content/uploads/2025/06/why-designers-get-stuck-in-details-700x350.jpg" alt="" width="700" height="350"> </a> </figure> <div class="related-post-content wpex-clr"> <div class="related-post-title entry-title wpex-m-0 wpex-mb-10"> <a href="https://techruum.com/why-designers-get-stuck-in-the-details-and-how-to-stop-techruum/">Why Designers Get Stuck In The Details And How To Stop — TechRuum</a> </div> <div class="related-post-excerpt wpex-leading-normal wpex-last-mb-0 wpex-clr"><p>Designers love to craft, but polishing pixels before the problem is solved is a time-sink…</p></div> </div> </div> </article> <article class="related-post col span_1_of_3 col-3 wpex-clr post-1767 post type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized tag-art tag-design tag-maintenance tag-motorcycle tag-teach tag-techruum tag-web tag-zen entry has-media"> <div class="related-post-inner wpex-flex-grow"> <figure class="related-post-figure wpex-mb-15 wpex-relative"> <a href="https://techruum.com/what-zen-and-the-art-of-motorcycle-maintenance-can-teach-us-about-web-design-techruum/" title="What Zen And The Art Of Motorcycle Maintenance Can Teach Us About Web Design — TechRuum" class="related-post-thumb"> <img loading="lazy" class="wpex-align-middle" decoding="async" src="https://techruum.com/wp-content/uploads/2025/05/what-zen-art-motorcycle-maintenance-teach-web-design-700x350.jpg" alt="" width="700" height="350"> </a> </figure> <div class="related-post-content wpex-clr"> <div class="related-post-title entry-title wpex-m-0 wpex-mb-10"> <a href="https://techruum.com/what-zen-and-the-art-of-motorcycle-maintenance-can-teach-us-about-web-design-techruum/">What Zen And The Art Of Motorcycle Maintenance Can Teach Us About Web Design — TechRuum</a> </div> <div class="related-post-excerpt wpex-leading-normal wpex-last-mb-0 wpex-clr"><p>Road-tripping along the line between engineering and spirituality, Robert M. Pirsig’s musings on the arts,…</p></div> </div> </div> </article></div> </div> </article> </div> </div> <aside id="sidebar" class="sidebar-primary sidebar-container wpex-print-hidden"> <div id="sidebar-inner" class="sidebar-container-inner wpex-mb-40"><div id="search-1" class="sidebar-box widget widget_search wpex-mb-30 wpex-clr"> <form role="search" method="get" class="searchform searchform--classic" action="https://techruum.com/"> <label for="searchform-input-68545b04808df" class="searchform-label screen-reader-text">Search</label> <input id="searchform-input-68545b04808df" type="search" class="searchform-input" name="s" placeholder="Search" required> <button type="submit" class="searchform-submit" aria-label="Submit search"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg></span></button> </form> </div> <div id="recent-posts-1" class="wpex-bordered-list sidebar-box widget widget_recent_entries wpex-mb-30 wpex-clr"> <div class='widget-title wpex-heading wpex-text-lg wpex-mb-20'>Recent Posts</div> <ul> <li> <a href="https://techruum.com/web-design-will-become-the-art-of-profiling-the-user/">Web Design Will Become the Art of Profiling the User</a> <span class="post-date">June 19, 2025</span> </li> <li> <a href="https://techruum.com/creating-the-moving-highlight-navigation-bar-with-javascript-and-css-techruum/">Creating The “Moving Highlight” Navigation Bar With JavaScript And CSS — TechRuum</a> <span class="post-date">June 13, 2025</span> </li> <li> <a href="https://techruum.com/designing-with-passion-judgment-and-a-lot-of-auto-layouts/">Designing with Passion, Judgment, and a Lot of Auto-Layouts</a> <span class="post-date">June 10, 2025</span> </li> <li> <a href="https://techruum.com/why-designers-get-stuck-in-the-details-and-how-to-stop-techruum/">Why Designers Get Stuck In The Details And How To Stop — TechRuum</a> <span class="post-date">June 4, 2025</span> </li> <li> <a href="https://techruum.com/this-website-curates-the-best-social-proof-on-the-internet/">This Website Curates the Best Social Proof on the Internet</a> <span class="post-date">June 1, 2025</span> </li> </ul> </div><div id="archives-1" class="wpex-bordered-list sidebar-box widget widget_archive wpex-mb-30 wpex-clr"><div class='widget-title wpex-heading wpex-text-lg wpex-mb-20'>Archives</div> <label class="screen-reader-text" for="archives-dropdown-1">Archives</label> <select id="archives-dropdown-1" name="archive-dropdown"> <option value="">Select Month</option> <option value='https://techruum.com/2025/06/'> June 2025  (5)</span></option> <option value='https://techruum.com/2025/05/'> May 2025  (8)</span></option> <option value='https://techruum.com/2025/04/'> April 2025  (9)</span></option> <option value='https://techruum.com/2025/03/'> March 2025  (7)</span></option> <option value='https://techruum.com/2025/02/'> February 2025  (8)</span></option> <option value='https://techruum.com/2025/01/'> January 2025  (2)</span></option> <option value='https://techruum.com/2024/12/'> December 2024  (9)</span></option> <option value='https://techruum.com/2024/11/'> November 2024  (7)</span></option> <option value='https://techruum.com/2024/10/'> October 2024  (9)</span></option> <option value='https://techruum.com/2024/09/'> September 2024  (10)</span></option> <option value='https://techruum.com/2024/08/'> August 2024  (10)</span></option> <option value='https://techruum.com/2024/07/'> July 2024  (11)</span></option> <option value='https://techruum.com/2024/06/'> June 2024  (8)</span></option> <option value='https://techruum.com/2024/05/'> May 2024  (10)</span></option> <option value='https://techruum.com/2024/04/'> April 2024  (10)</span></option> <option value='https://techruum.com/2024/03/'> March 2024  (10)</span></option> <option value='https://techruum.com/2024/02/'> February 2024  (10)</span></option> <option value='https://techruum.com/2024/01/'> January 2024  (10)</span></option> <option value='https://techruum.com/2023/12/'> December 2023  (10)</span></option> <option value='https://techruum.com/2023/11/'> November 2023  (10)</span></option> <option value='https://techruum.com/2023/10/'> October 2023  (11)</span></option> <option value='https://techruum.com/2023/09/'> September 2023  (10)</span></option> <option value='https://techruum.com/2023/08/'> August 2023  (10)</span></option> <option value='https://techruum.com/2023/07/'> July 2023  (10)</span></option> <option value='https://techruum.com/2023/06/'> June 2023  (10)</span></option> <option value='https://techruum.com/2023/05/'> May 2023  (17)</span></option> <option value='https://techruum.com/2023/04/'> April 2023  (13)</span></option> <option value='https://techruum.com/2023/03/'> March 2023  (22)</span></option> <option value='https://techruum.com/2023/02/'> February 2023  (24)</span></option> <option value='https://techruum.com/2023/01/'> January 2023  (40)</span></option> <option value='https://techruum.com/2022/12/'> December 2022  (74)</span></option> <option value='https://techruum.com/2022/11/'> November 2022  (20)</span></option> <option value='https://techruum.com/2022/10/'> October 2022  (14)</span></option> <option value='https://techruum.com/2022/09/'> September 2022  (15)</span></option> <option value='https://techruum.com/2022/08/'> August 2022  (17)</span></option> <option value='https://techruum.com/2022/07/'> July 2022  (15)</span></option> <option value='https://techruum.com/2022/06/'> June 2022  (12)</span></option> <option value='https://techruum.com/2022/05/'> May 2022  (11)</span></option> <option value='https://techruum.com/2022/04/'> April 2022  (10)</span></option> <option value='https://techruum.com/2022/03/'> March 2022  (2)</span></option> </select> <script> (function() { var dropdown = document.getElementById( "archives-dropdown-1" ); function onSelectChange() { if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) { document.location.href = this.options[ this.selectedIndex ].value; } } dropdown.onchange = onSelectChange; })(); </script> </div><div id="categories-1" class="wpex-bordered-list sidebar-box widget widget_categories wpex-mb-30 wpex-clr"><div class='widget-title wpex-heading wpex-text-lg wpex-mb-20'>Categories</div><form action="https://techruum.com" method="get"><label class="screen-reader-text" for="cat">Categories</label><select name='cat' id='cat' class='postform'> <option value='-1'>Select Category</option> <option class="level-0" value="1402">2000s  (1)</option> <option class="level-0" value="38">2022 vision awards  (1)</option> <option class="level-0" value="1403">2advanced  (1)</option> <option class="level-0" value="1404">2advanced.com  (1)</option> <option class="level-0" value="1459">404 pages  (1)</option> <option class="level-0" value="1533">Adobe  (1)</option> <option class="level-0" value="1509">ads  (1)</option> <option class="level-0" value="906">AI  (7)</option> <option class="level-0" value="1460">alerts  (1)</option> <option class="level-0" value="24">and How-Tos  (52)</option> <option class="level-0" value="1561">annoying  (1)</option> <option class="level-0" value="133">Apps  (2)</option> <option class="level-0" value="1567">artificial intelligence  (1)</option> <option class="level-0" value="1478">best new tools  (1)</option> <option class="level-0" value="1479">best new tools for designers  (1)</option> <option class="level-0" value="134">best video editing software  (1)</option> <option class="level-0" value="984">best web design resources  (2)</option> <option class="level-0" value="185">best web sites  (1)</option> <option class="level-0" value="1439">best website design  (1)</option> <option class="level-0" value="1440">best websites 2024  (1)</option> <option class="level-0" value="1446">browsers  (1)</option> <option class="level-0" value="43">Bullhorn News  (3)</option> <option class="level-0" value="1382">Business  (4)</option> <option class="level-0" value="34">Careers  (1)</option> <option class="level-0" value="225">Choosing a Font  (1)</option> <option class="level-0" value="1383">client  (1)</option> <option class="level-0" value="1424">code  (2)</option> <option class="level-0" value="1542">cognitive load  (1)</option> <option class="level-0" value="1562">collab  (1)</option> <option class="level-0" value="1563">collaboration  (1)</option> <option class="level-0" value="1468">Compilation  (1)</option> <option class="level-0" value="686">Compilations  (43)</option> <option class="level-0" value="31">Connected Services  (1)</option> <option class="level-0" value="1412">controversial  (1)</option> <option class="level-0" value="1413">conversations  (1)</option> <option class="level-0" value="1550">conversions  (1)</option> <option class="level-0" value="16">cpq  (1)</option> <option class="level-0" value="74">CRM Saas  (1)</option> <option class="level-0" value="11">Customer Success  (6)</option> <option class="level-0" value="54">Customer Webinar  (1)</option> <option class="level-0" value="326">Design  (25)</option> <option class="level-0" value="186">design inspiration  (1)</option> <option class="level-0" value="1392">design style  (1)</option> <option class="level-0" value="1485">design systems  (1)</option> <option class="level-0" value="187">design trends  (1)</option> <option class="level-0" value="1564">designer  (1)</option> <option class="level-0" value="1486">Designers  (1)</option> <option class="level-0" value="912">Development  (9)</option> <option class="level-0" value="1405">digital experiences  (1)</option> <option class="level-0" value="41">Digital Transformation  (2)</option> <option class="level-0" value="1414">discussions  (1)</option> <option class="level-0" value="1447">distractions  (1)</option> <option class="level-0" value="1393">ebay  (1)</option> <option class="level-0" value="143">Editors Pick  (8)</option> <option class="level-0" value="1425">education  (1)</option> <option class="level-0" value="75">Email Saas  (1)</option> <option class="level-0" value="14">Enterprise Agile Planning  (4)</option> <option class="level-0" value="1406">eric jordan  (1)</option> <option class="level-0" value="1461">error  (1)</option> <option class="level-0" value="20">Events  (12)</option> <option class="level-0" value="1551">examples  (1)</option> <option class="level-0" value="1469">fail  (1)</option> <option class="level-0" value="144">Featured  (8)</option> <option class="level-0" value="1534">Figma  (2)</option> <option class="level-0" value="1535">figma sites  (1)</option> <option class="level-0" value="1407">flash  (1)</option> <option class="level-0" value="1408">flash intro  (1)</option> <option class="level-0" value="1470">flops  (1)</option> <option class="level-0" value="49">flow metrics  (1)</option> <option class="level-0" value="226">font  (1)</option> <option class="level-0" value="68">Fonts  (17)</option> <option class="level-0" value="1536">Framer  (1)</option> <option class="level-0" value="123">free Christmas patterns  (1)</option> <option class="level-0" value="124">free illustrations  (1)</option> <option class="level-0" value="125">Free patterns  (1)</option> <option class="level-0" value="122">Freebies  (1)</option> <option class="level-0" value="1384">freelance  (1)</option> <option class="level-0" value="1510">frustration  (1)</option> <option class="level-0" value="1385">Funny  (2)</option> <option class="level-0" value="1426">git wrapped  (1)</option> <option class="level-0" value="1427">github  (1)</option> <option class="level-0" value="1471">Google  (1)</option> <option class="level-0" value="1521">hmaburger icon  (1)</option> <option class="level-0" value="76">Hubspot  (1)</option> <option class="level-0" value="35">Human Resources  (1)</option> <option class="level-0" value="162">human-centered design  (1)</option> <option class="level-0" value="55">IBM  (1)</option> <option class="level-0" value="25">Industry Trends & Insights  (26)</option> <option class="level-0" value="10">Innovation Management  (9)</option> <option class="level-0" value="30">insidesales  (2)</option> <option class="level-0" value="60">Inspiration  (33)</option> <option class="level-0" value="1522">jakob nielsen  (1)</option> <option class="level-0" value="1428">languages  (1)</option> <option class="level-0" value="58">Lean Portfolio Management  (1)</option> <option class="level-0" value="36">Life at Planview  (4)</option> <option class="level-0" value="77">mailchimp  (1)</option> <option class="level-0" value="1448">meditation  (1)</option> <option class="level-0" value="1523">menu  (1)</option> <option class="level-0" value="1449">mindfulness  (1)</option> <option class="level-0" value="1462">mistakes  (1)</option> <option class="level-0" value="98">multipurpose themes  (3)</option> <option class="level-0" value="530">multipurpose WordPress Themes  (1)</option> <option class="level-0" value="155">new apps  (1)</option> <option class="level-0" value="1394">New font  (1)</option> <option class="level-0" value="188">new sites  (1)</option> <option class="level-0" value="1480">new tools  (1)</option> <option class="level-0" value="156">new tools. new downloads  (1)</option> <option class="level-0" value="396">News  (15)</option> <option class="level-0" value="78">newsletter saas  (1)</option> <option class="level-0" value="1524">off screen menus  (1)</option> <option class="level-0" value="37">Open Jobs  (3)</option> <option class="level-0" value="1450">opera  (1)</option> <option class="level-0" value="1451">opera air  (1)</option> <option class="level-0" value="1511">paywall  (1)</option> <option class="level-0" value="15">People of Planview  (12)</option> <option class="level-0" value="3">Photography  (2)</option> <option class="level-0" value="44">Planview  (1)</option> <option class="level-0" value="57">planview accelerate  (1)</option> <option class="level-0" value="45">Planview Culture  (4)</option> <option class="level-0" value="39">planview customers  (1)</option> <option class="level-0" value="46">Planview Jobs  (4)</option> <option class="level-0" value="56">Planview PSA  (1)</option> <option class="level-0" value="40">planview solution success  (1)</option> <option class="level-0" value="1395">playbook  (1)</option> <option class="level-0" value="145">plugins  (5)</option> <option class="level-0" value="1386">pop  (1)</option> <option class="level-0" value="200">Portfolio  (1)</option> <option class="level-0" value="201">Portfolio Website  (1)</option> <option class="level-0" value="28">Product Lifecycle Management  (5)</option> <option class="level-0" value="27">Product Portfolio Management  (6)</option> <option class="level-0" value="50">product value stream  (1)</option> <option class="level-0" value="26">Products  (4)</option> <option class="level-0" value="17">Professional Services  (2)</option> <option class="level-0" value="8">Professional Services Automation  (5)</option> <option class="level-0" value="1568">profiling  (1)</option> <option class="level-0" value="1543">progressive  (1)</option> <option class="level-0" value="9">Project Portfolio Management  (7)</option> <option class="level-0" value="51">project to product  (1)</option> <option class="level-0" value="47">Project to Product Shift  (1)</option> <option class="level-0" value="18">quote to cash  (1)</option> <option class="level-0" value="19">quote to cash vs cpq  (1)</option> <option class="level-0" value="1415">reddit  (1)</option> <option class="level-0" value="1416">reddit answers  (1)</option> <option class="level-0" value="1487">report  (1)</option> <option class="level-0" value="53">Resource Management  (2)</option> <option class="level-0" value="73">Resources  (35)</option> <option class="level-0" value="1208">retro  (1)</option> <option class="level-0" value="1512">revenue  (1)</option> <option class="level-0" value="150">Reviews  (1)</option> <option class="level-0" value="32">Services Organizations  (1)</option> <option class="level-0" value="1517">shapes  (1)</option> <option class="level-0" value="1216">Showcase  (1)</option> <option class="level-0" value="954">Social Media  (1)</option> <option class="level-0" value="1552">social proof  (1)</option> <option class="level-0" value="338">Sponsored  (8)</option> <option class="level-0" value="21">Staffing Technology  (27)</option> <option class="level-0" value="13">Strategic Planning  (4)</option> <option class="level-0" value="1488">survey  (1)</option> <option class="level-0" value="59">Tech  (14)</option> <option class="level-0" value="42">Technology Portfolio Management  (1)</option> <option class="level-0" value="1553">testimonials  (1)</option> <option class="level-0" value="178">themes  (2)</option> <option class="level-0" value="22">Tips  (52)</option> <option class="level-0" value="113">Tools  (9)</option> <option class="level-0" value="114">tools for web designers  (3)</option> <option class="level-0" value="61">Trends  (10)</option> <option class="level-0" value="23">Tricks  (52)</option> <option class="level-0" value="227">Typefaces and Fonts  (1)</option> <option class="level-0" value="224">Typography  (2)</option> <option class="level-0" value="163">UCD  (1)</option> <option class="level-0" value="372">UI  (2)</option> <option class="level-0" value="1">Uncategorized  (200)</option> <option class="level-0" value="1569">usabiity  (1)</option> <option class="level-0" value="1463">Usability  (2)</option> <option class="level-0" value="1570">user  (1)</option> <option class="level-0" value="164">user centered design  (1)</option> <option class="level-0" value="165">user experience  (2)</option> <option class="level-0" value="1513">users  (1)</option> <option class="level-0" value="161">UX  (10)</option> <option class="level-0" value="1544">uxp  (1)</option> <option class="level-0" value="48">Value Stream Management  (3)</option> <option class="level-0" value="135">Video  (1)</option> <option class="level-0" value="136">video apps  (1)</option> <option class="level-0" value="137">video editing  (1)</option> <option class="level-0" value="29">Vision and Trends  (2)</option> <option class="level-0" value="52">vsm  (1)</option> <option class="level-0" value="864">Web  (6)</option> <option class="level-0" value="1409">web deisgn  (1)</option> <option class="level-0" value="62">Web Design  (11)</option> <option class="level-0" value="115">Web Design Resources  (2)</option> <option class="level-0" value="985">Web Design Tools  (2)</option> <option class="level-0" value="189">web design trends  (1)</option> <option class="level-0" value="1387">web designer  (1)</option> <option class="level-0" value="1489">Web Designers  (1)</option> <option class="level-0" value="1429">webdev  (1)</option> <option class="level-0" value="1537">website design  (1)</option> <option class="level-0" value="1514">Websites  (1)</option> <option class="level-0" value="1452">wellness  (1)</option> <option class="level-0" value="484">woocommerce  (1)</option> <option class="level-0" value="64">WooCommerce themes  (2)</option> <option class="level-0" value="63">WordPress  (16)</option> <option class="level-0" value="146">wordpress plugins  (3)</option> <option class="level-0" value="99">wordpress themes  (7)</option> <option class="level-0" value="1388">work  (1)</option> <option class="level-0" value="12">Work Management for Teams  (3)</option> </select> </form><script> (function() { var dropdown = document.getElementById( "cat" ); function onCatChange() { if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) { dropdown.parentNode.submit(); } } dropdown.onchange = onCatChange; })(); </script> </div></div> </aside> </div> </main> <footer id="footer" class="site-footer wpex-surface-dark wpex-print-hidden"> <div id="footer-inner" class="site-footer-inner container wpex-pt-40 wpex-clr"> <div id="footer-widgets" class="wpex-row wpex-clr gap-60"> <div class="footer-box span_1_of_3 col col-1"><div id="wpex_info_widget-1" class="footer-widget widget wpex-pb-40 wpex-clr widget_wpex_info_widget"><div class='widget-title wpex-heading wpex-text-lg wpex-mb-20'>Business Info</div><ul class="wpex-info-widget wpex-last-mb-0"><li class="wpex-info-widget-address wpex-flex wpex-mb-10"><div class="wpex-info-widget-icon wpex-mr-10"><span class="wpex-icon--w wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 32"><path d="M13.714 11.429q0-1.893-1.339-3.232t-3.232-1.339-3.232 1.339-1.339 3.232 1.339 3.232 3.232 1.339 3.232-1.339 1.339-3.232zM18.286 11.429q0 1.946-0.589 3.196l-6.5 13.821q-0.286 0.589-0.848 0.929t-1.205 0.339-1.205-0.339-0.83-0.929l-6.518-13.821q-0.589-1.25-0.589-3.196 0-3.786 2.679-6.464t6.464-2.679 6.464 2.679 2.679 6.464z"></path></svg></span></div><div class="wpex-info-widget-data wpex-flex-grow wpex-last-mb-0"><p>Queens County, New York, United States.<br /> WhatsApp ONLY</p> </div></li><li class="wpex-info-widget-phone wpex-flex wpex-mb-10"><div class="wpex-info-widget-icon wpex-mr-10"><span class="wpex-icon--w wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"/></svg></span></div><div class="wpex-info-widget-data wpex-flex-grow"><a href="tel:+1 (310) 667-7564">+1 (310) 667-7564</a></div></li></ul></div><div id="wpex_info_widget-6" class="footer-widget widget wpex-pb-40 wpex-clr widget_wpex_info_widget"><ul class="wpex-info-widget wpex-last-mb-0"><li class="wpex-info-widget-address wpex-flex wpex-mb-10"><div class="wpex-info-widget-icon wpex-mr-10"><span class="wpex-icon--w wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 32"><path d="M13.714 11.429q0-1.893-1.339-3.232t-3.232-1.339-3.232 1.339-1.339 3.232 1.339 3.232 3.232 1.339 3.232-1.339 1.339-3.232zM18.286 11.429q0 1.946-0.589 3.196l-6.5 13.821q-0.286 0.589-0.848 0.929t-1.205 0.339-1.205-0.339-0.83-0.929l-6.518-13.821q-0.589-1.25-0.589-3.196 0-3.786 2.679-6.464t6.464-2.679 6.464 2.679 2.679 6.464z"></path></svg></span></div><div class="wpex-info-widget-data wpex-flex-grow wpex-last-mb-0"><p>WhatsApp ONLY</p> </div></li><li class="wpex-info-widget-phone wpex-flex wpex-mb-10"><div class="wpex-info-widget-icon wpex-mr-10"><span class="wpex-icon--w wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"/></svg></span></div><div class="wpex-info-widget-data wpex-flex-grow"><a href="tel:+234 813-508-8121">+234 813-508-8121</a></div></li></ul></div></div> <div class="footer-box span_1_of_3 col col-2"><div id="wpex_about-2" class="footer-widget widget wpex-pb-40 wpex-clr widget_wpex_about"><div class='widget-title wpex-heading wpex-text-lg wpex-mb-20'>About TechRuum</div><div class="wpex-about-widget wpex-clr"><div class="wpex-about-widget-description wpex-last-mb-0 wpex-clr">TechRuum Inc is a world class information technology company committed to use the best business practices to help companies develop the capabilities needed to compete in the global market.</div></div></div></div> <div class="footer-box span_1_of_3 col col-3"><div id="wpex_fontawesome_social_widget-1" class="footer-widget widget wpex-pb-40 wpex-clr widget_wpex_fontawesome_social_widget"><div class='widget-title wpex-heading wpex-text-lg wpex-mb-20'>Follow Us</div><style>#wpex_fontawesome_social_widget-1 .wpex-social-btn{font-size:18px;border-radius:4px;}</style><div class="wpex-fa-social-widget textleft"><div class="desc wpex-last-mb-0 wpex-mb-20 wpex-clr">Don't forget to follow us via our various social media profiles and keep up with the latest scoop about us.</div><ul class="wpex-list-none wpex-m-0 wpex-last-mr-0 wpex-text-md"><li class="wpex-inline-block wpex-mb-5 wpex-mr-5"><a href="https://www.linkedin.com/company/techruum" class="wpex-linkedin wpex-social-btn wpex-social-btn-flat wpex-social-bg" rel="noopener noreferrer" target="_blank"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z"/></svg></span><span class="screen-reader-text">LinkedIn</span></a></li><li class="wpex-inline-block wpex-mb-5 wpex-mr-5"><a href="https://wa.me/message/247EOXVZ2T22J1" class="wpex-whatsapp wpex-social-btn wpex-social-btn-flat wpex-social-bg" rel="noopener noreferrer" target="_blank"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></svg></span><span class="screen-reader-text">Whatsapp</span></a></li><li class="wpex-inline-block wpex-mb-5 wpex-mr-5"><a href="https://www.facebook.com/TechRuum-114932764555254" class="wpex-facebook wpex-social-btn wpex-social-btn-flat wpex-social-bg" rel="noopener noreferrer" target="_blank"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"/></svg></span><span class="screen-reader-text">Facebook</span></a></li><li class="wpex-inline-block wpex-mb-5 wpex-mr-5"><a href="https://instagram.com/techruum" class="wpex-instagram wpex-social-btn wpex-social-btn-flat wpex-social-bg" rel="noopener noreferrer" target="_blank"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg></span><span class="screen-reader-text">Instagram</span></a></li><li class="wpex-inline-block wpex-mb-5 wpex-mr-5"><a href="https://twitter.com/TechRuum" class="wpex-twitter wpex-social-btn wpex-social-btn-flat wpex-social-bg" rel="noopener noreferrer" target="_blank"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></span><span class="screen-reader-text">Twitter (deprecated)</span></a></li><li class="wpex-inline-block wpex-mb-5 wpex-mr-5"><a href="https://techruum.com/feed/" class="wpex-rss wpex-social-btn wpex-social-btn-flat wpex-social-bg" rel="noopener noreferrer" target="_blank"><span class="wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span><span class="screen-reader-text">RSS</span></a></li></ul></div></div></div> </div> </div> </footer> <div id="footer-bottom" class="wpex-py-20 wpex-surface-dark wpex-bg-gray-900 wpex-text-center wpex-print-hidden"> <div id="footer-bottom-inner" class="container"><div class="footer-bottom-flex wpex-flex wpex-flex-col wpex-gap-10"> <div id="copyright" class="wpex-last-mb-0">© 2025 <a href="https://techruum.com">TechRuum Inc.</a> - All Rights Reserved</div> <nav id="footer-bottom-menu" aria-label="Footer menu"><div class="menu-footer-container"><ul id="menu-footer" class="menu wpex-flex wpex-flex-wrap wpex-gap-x-20 wpex-gap-y-5 wpex-m-0 wpex-list-none wpex-justify-center"><li id="menu-item-136" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-136"><a href="https://techruum.com/submit-a-project/">Submit a project</a></li> <li id="menu-item-263" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-263"><a href="https://techruum.com/cookies-policy/">Cookies Policy</a></li> <li id="menu-item-297" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-297"><a rel="privacy-policy" href="https://techruum.com/privacy-policy/">Privacy Policy</a></li> <li id="menu-item-264" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-264"><a href="https://techruum.com/terms-of-use/">Terms Of Use</a></li> <li id="menu-item-265" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-265"><a href="https://techruum.com/terms-and-conditions/">Terms & Conditions</a></li> <li id="menu-item-262" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-262"><a href="https://techruum.com/return-and-refund-policy/">Refund Policy</a></li> </ul></div></nav> </div></div> </div> </div> </div> <div id="mobile-menu-alternative" class="wpex-hidden"><ul id="menu-main-1" class="dropdown-menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-131"><a href="https://techruum.com/"><span class="link-inner">Home</span></a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-209"><a href="https://techruum.com/about-us/"><span class="link-inner">About us</span></a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-134"><a href="https://techruum.com/services/"><span class="link-inner">Services</span></a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1244"><a href="https://techruum.com/jobs/"><span class="link-inner">Careers</span></a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-135"><a href="https://techruum.com/blog/"><span class="link-inner">Blog</span></a></li> <li class="menu-button menu-item menu-item-type-post_type menu-item-object-page menu-item-133"><a href="https://techruum.com/submit-a-project/"><span class="link-inner">Submit a project</span></a></li> </ul></div> <div class="wpex-hidden wpex-sm-block"> <a href="#top" id="site-scroll-top" class="wpex-z-popover wpex-flex wpex-items-center wpex-justify-center wpex-fixed wpex-rounded-full wpex-text-center wpex-box-content wpex-transition-all wpex-duration-200 wpex-bottom-0 wpex-right-0 wpex-mr-25 wpex-mb-25 wpex-no-underline wpex-print-hidden wpex-surface-2 wpex-text-4 wpex-hover-bg-accent wpex-invisible wpex-opacity-0"><span class="wpex-flex wpex-icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm224 64c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z"/></svg></span><span class="screen-reader-text">Back To Top</span></a> </div> <nav class="mobile-toggle-nav wpex-mobile-menu mobile-toggle-nav--animate wpex-surface-1 wpex-hidden wpex-text-2 wpex-togglep-absolute wpex-absolute wpex-top-100 wpex-left-0 wpex-w-100 wpex-z-dropdown" aria-label="Mobile menu" data-wpex-append-to="#site-header"> <div class="mobile-toggle-nav-inner container wpex-overflow-y-auto wpex-hide-scrollbar wpex-overscroll-contain"> <ul class="mobile-toggle-nav-ul wpex-h-auto wpex-leading-inherit wpex-list-none wpex-my-0 wpex-mx-auto"></ul> </div> </nav> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/Total\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <div id="wa"></div><script src="https://techruum.com/wp-content/plugins/whatsapp-for-wordpress/assets/dist/js/njt-whatsapp.js?ver=3.7" id="nta-wa-libs-js"></script> <script id="nta-js-global-js-extra"> var njt_wa_global = {"ajax_url":"https:\/\/techruum.com\/wp-admin\/admin-ajax.php","nonce":"eddd7a2656","defaultAvatarSVG":"<svg width=\"48px\" height=\"48px\" class=\"nta-whatsapp-default-avatar\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n viewBox=\"0 0 512 512\" style=\"enable-background:new 0 0 512 512;\" xml:space=\"preserve\">\n <path style=\"fill:#EDEDED;\" d=\"M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0\n S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z\"\/>\n <path style=\"fill:#55CD6C;\" d=\"M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662\n c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234\n c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z\"\/>\n <path style=\"fill:#FEFEFE;\" d=\"M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297\n c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048\n c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359\n c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248\n c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062\n l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945\"\/>\n <\/svg>","defaultAvatarUrl":"https:\/\/techruum.com\/wp-content\/plugins\/whatsapp-for-wordpress\/assets\/img\/whatsapp_logo.svg","timezone":"+00:00","i18n":{"online":"Online","offline":"Offline"},"urlSettings":{"onDesktop":"api","onMobile":"api","openInNewTab":"ON"}}; </script> <script src="https://techruum.com/wp-content/plugins/whatsapp-for-wordpress/assets/js/whatsapp-button.js?ver=3.7" id="nta-js-global-js"></script> <script src="https://techruum.com/wp-content/themes/Total/assets/js/frontend/social-share.min.js?ver=6.3" id="wpex-social-share-js" defer data-wp-strategy="defer"></script> <script id="nta-js-popup-js-extra"> var njt_wa = {"gdprStatus":"1","accounts":[{"accountId":1694,"accountName":"Product Development Service","avatar":"https:\/\/techruum.com\/wp-content\/uploads\/2025\/04\/support1.jpg","number":"+2348135088121","title":"For Web design, software, mobile app & other dev service","predefinedText":"Hello, TechRuum Team, I will like you to help me develop a..... ","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}},{"accountId":1699,"accountName":"Marketing Service","avatar":"https:\/\/techruum.com\/wp-content\/uploads\/2025\/04\/support2.png","number":"+2348135088121","title":"For Digital Marketing, SEO, SEM, & other Viral Ads services","predefinedText":"Hello, TechRuum Marketing Team, I will like you to help me with..... ","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}},{"accountId":1701,"accountName":"Portfolio Management","avatar":"https:\/\/techruum.com\/wp-content\/uploads\/2025\/04\/support4.jpg","number":"+13106677564","title":"For Cryptocurrencies, Forex, and other CFD's","predefinedText":"Hello, TechRuum Portfolio Management Team, I will like to subscribe to your portfolio management service....","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}},{"accountId":1700,"accountName":"Tech Consultation","avatar":"https:\/\/techruum.com\/wp-content\/uploads\/2025\/04\/support3.jpg","number":"+2348135088121","title":"For 1-1 consultation concerning your company growth","predefinedText":"Hello, TechRuum Consultation Team, I will like to book a 1-1 consultation with you concerning my..... ","willBeBackText":"I will be back in [njwa_time_work]","dayOffsText":"I will be back soon","isAlwaysAvailable":"ON","daysOfWeekWorking":{"sunday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"monday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"tuesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"wednesday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"thursday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"friday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]},"saturday":{"isWorkingOnDay":"OFF","workHours":[{"startTime":"08:00","endTime":"17:30"}]}}}],"options":{"display":{"displayCondition":"showAllPage","displayPostCondition":"showAllPost","includePages":[],"excludePages":[],"includePosts":[],"excludePosts":[],"showOnDesktop":"ON","showOnMobile":"ON","time_symbols":"h:m"},"styles":{"title":"Start a Conversation","responseText":"We typically replies in a few minutes on workdays 24\/7.","description":"Hello! Kindly click one of our department below to chat with us on <strong>WhatsApp<\/strong>","backgroundColor":"#003fff","textColor":"#ffffff","titleSize":"18","accountNameSize":"14","descriptionTextSize":"12","regularTextSize":"11","scrollHeight":"500","isShowScroll":"ON","isShowResponseText":"OFF","isShowPoweredBy":"OFF","btnLabel":"Welcome to TechRuum Official Support. <\/br><\/br>Need Help? <strong>Chat with us<\/strong>","btnLabelWidth":"182","btnPosition":"right","btnLeftDistance":"30","btnRightDistance":"30","btnBottomDistance":"70","isShowBtnLabel":"ON","isShowGDPR":"ON","gdprContent":"Please accept our <a href=\"https:\/\/techruum.com\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">privacy policy<\/a> first to start a conversation.","widgetType":"expandable"},"analytics":{"enabledGoogle":"ON","enabledFacebook":"OFF","enabledGoogleGA4":"ON"},"accounts":{"hideOfflineAgents":"OFF"}}}; </script> <script src="https://techruum.com/wp-content/plugins/whatsapp-for-wordpress/assets/js/whatsapp-popup.js?ver=3.7" id="nta-js-popup-js"></script> <script></script> </body> </html> <!-- Page supported by LiteSpeed Cache 7.1 on 2025-06-19 18:46:28 -->