{"id":6901,"date":"2020-04-17T11:48:10","date_gmt":"2020-04-17T06:48:10","guid":{"rendered":"https:\/\/ahmadawais.com\/?p=6901"},"modified":"2023-01-21T00:28:39","modified_gmt":"2023-01-20T19:28:39","slug":"custom-teaching-platform","status":"publish","type":"post","link":"https:\/\/ahmadawais.com\/custom-teaching-platform\/","title":{"rendered":"How I Built My Own Teaching Platform"},"content":{"rendered":"<p>In this post, you&#8217;ll learn how I built my own Learn Management System (LMS) to launch my courses (<a href=\"https:\/\/VSCode.pro\">VSCode.pro<\/a> and now <a href=\"https:\/\/NodeCLI.com\">NodeCLI.com<\/a>). This is a compilation of two posts I wrote back in 2017 and 2018. Mostly random thoughts instead of an actual blog. Here goes nothing\u2026<\/p>\n<hr \/>\n<p>If you have ever been to a conference where I gave a talk, or if you are one of my meetup attendees \u2014 then you know one thing about me. <em><strong>I love to teach.<\/strong><\/em><\/p>\n<p>I know it&#8217;s genetic and all that, but I can&#8217;t help it. Brain dumping has a nice effect on my mood. But that&#8217;s a story for another day.<\/p>\n<p>\ud83d\udc4c So, in 2017, I finally became serious about teaching online. I have been teaching via in-person workshops. But online, there&#8217;s a huge audience.<\/p>\n<p>\ud83e\udd14 I knew I had to invest in a better mic, create videos, find a good learn-management system (let&#8217;s call it a course-building platform), and boom.<\/p>\n<p>\ud83d\ude80 So, here&#8217;s how I went about it, read it like you are sitting inside my brain and can actually hear what my brain is thinking and ordering me to do next<\/p>\n<p>\u26a0\ufe0f WARNING: Do NOT try this at home. ;)<\/p>\n<ul>\n<li><strong>\ud83d\udd75\ufe0f\u200d\u2640\ufe0f STEP #1<\/strong>: Research everything, talk to my friends like Kent C Dodds, <a href=\"https:\/\/twitter.com\/mor10\">Morten<\/a>, etc., and figure out the best way to move forward. I spent an entire month (part-time) doing just that.<\/li>\n<li><strong>\u23fa STEP#2<\/strong>: Settle for a recording software \u2192 I use <a href=\"https:\/\/www.telestream.net\/screenflow\/\">ScreenFlow<\/a>, Adobe After Effects, and Adobe Auditions to record and edit my screencasts on Mac.<\/li>\n<li><strong>\ud83d\udcf9 STEP #3<\/strong>: Get a nice DSLR camera (for no reason at all) \u2192 <a href=\"https:\/\/www.instagram.com\/p\/BIZNFIGA0H0\/?taken-by=mrahmadawais\">My camera<\/a> is <a href=\"https:\/\/www.nikonusa.com\/en\/nikon-products\/product\/dslr-cameras\/d5300.html\">Nikon D5300<\/a> with <a href=\"http:\/\/www.kenrockwell.com\/tamron\/17-50mm-f28-vc.htm\">Tamron 17-50mm f\/2.8 VC<\/a> and a Slik s304 tripod-pro professional tripod. I have since switched to a Mirrorless\u00a0 Sony A7C with Sigma Art and Song G-master Lens. You can read about <a href=\"https:\/\/ahmadawais.com\/uses\/\">all the tools I use here<\/a>.\u00a0 I also use a Logitech BRIO 4K and have the old Logitech C920 as well \u2014 I&#8217;d say they&#8217;re both okayish cams.<\/li>\n<li><strong>\ud83c\udf99 STEP #4<\/strong>: Invest in a good quality Mic. I acted upon the advice of <a href=\"https:\/\/twitter.com\/chriscoyier\">Chris Coyer<\/a> and <a href=\"https:\/\/twitter.com\/leftlane\">Shawn Hesketh<\/a> \u2192 My mic is the <a href=\"http:\/\/www.rode.com\/microphones\/podcaster\">Rode Podcaster<\/a> on a <a href=\"http:\/\/www.rode.com\/accessories\/psa1\">Rode PSA1 Boom Arm<\/a> with the <a href=\"http:\/\/www.rode.com\/accessories\/psm1\">Rode PSM1 Shockmount<\/a> and a <a href=\"http:\/\/www.rode.com\/accessories\/ws2\">Rode WS2 pop shield<\/a>. It works pretty well. But now I have switched to the awesome Shure SM7B. More on <a href=\"https:\/\/ahmadawais.com\/uses\/#%f0%9f%8e%99%ef%b8%8f-microphone\">this page<\/a>.<\/li>\n<li><strong>\ud83c\udfa4 STEP #5<\/strong>: Have a portable mic for when I am traveling \u2192 I also bought a portable mic called <a href=\"https:\/\/www.bluedesigns.com\/products\/snowflake\/\">Blue Snowflake<\/a>. Here\u2019s\u00a0a <a href=\"https:\/\/www.instagram.com\/p\/w6zbAVPSFR\/?taken-by=mrahmadawais\">picture<\/a> of it and a <a href=\"https:\/\/www.instagram.com\/p\/BBVO5nZvSBZ\/?taken-by=mrahmadawais\">silly custom boom arm<\/a> with it.<\/li>\n<li><strong>\ud83d\ude48 STEP #6<\/strong>: Get distracted and research about different mics, and audio systems (learn Audacity again, and step it up a little \u2014 to learn Adobe Audition this time), and get these new mics shipped here (since they are not available in the local market), fight with customs officials (they didn&#8217;t let me ship it), get my sister-in-law Nida to buy the Rode podcaster in London and get it shipped to Qatar, from where my brother-in-law Usman brought it to Lahore. <em>There we go, another month spent.<\/em><\/li>\n<li><strong>\ud83d\udd78 STEP #7<\/strong>: Buy six domains for different courses. I will record it <em>because we are too excited, aren&#8217;t we?<\/em> Set up two domains first \u2014 let&#8217;s do a free and a pro course.<\/li>\n<li><strong>\ud83d\udcb8 STEP #8<\/strong>: Since I am an open sourcerer \u2014 I thought I should make my first course free \u2014 not sure why. I spent two weeks pinning down the details of a free + pro course and recorded 90% of the free course.<\/li>\n<li><strong>\ud83d\udcc3 STEP #9<\/strong>: Let&#8217;s build a landing page for signups \u2192 Which platform should I use? The framework? I started with WordPress, moved to Vue, then to React, and finally went with a static site built with JavaScript i.e., React. Overengineered the platform by building a micro-services architecture with Kubernetes. Keeping the cost low for my students and offering a one-time purchase instead of a subscription. Confused. <em>Welcome to the state of the web today.<\/em><\/li>\n<li><strong>\ud83d\udee0 STEP #10<\/strong>: Build a custom course platform (nothing out there fit the bill) \u2014 Spent the next eight months building a custom LMS or the course platform, designed it, a JavaScript SPA (single page app), that uses WordPress as a backend with WP REST API. It also has many microservices, some written in Golang and others with Node.js. <em>And now what?!<\/em><\/li>\n<li><b>\ud83d\ude29 REVIEW PROGRESS<\/b>: After all this, I was ten and a half months into my next big endeavor (sold two of my commercial products and a share to my partners to support my time on this). I had all the equipment, all the details, domains, servers, frameworks, custom landing pages, heck even built myself a custom course platform, but instead of recording the last four videos, here&#8217;s what I chose to do. <em>Engineers!<\/em><\/li>\n<li><strong>\ud83c\udfd7 STEP #11<\/strong>: Over-engineer the course platform<br \/>\n\u2705 <strong>I should know who&#8217;s taking my course; their<\/strong>\u00a0name is the least I could ask for, but not at the registration page (that would mean low conversion rates), but after they log in for the first time. Built another custom solution for this.<br \/>\n\u2705 <strong>The registration should happen with WP REST API,<\/strong> and my users should get a login URL on signing up. <em>A custom solution was built again.<\/em><br \/>\n\u2705 <strong>Oops \u2014 WP REST API<\/strong>: <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/40477\">Does NOT Trigger New User Notifications<\/a>! Create a core Trac ticket to patch the WordPress core <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/40477\">#40477<\/a>.<br \/>\n\u2705 How about the <strong>ability to know a user&#8217;s progress<\/strong>? How many videos does a user watch? Maybe send them an email if they left at 60% progress. \u2014 That&#8217;d be cool. But how do I do emails this time?<br \/>\n\u2705 Instead of embedding Vimeo Pro, <strong>let&#8217;s stream it via an HTML5<\/strong> player. Yet another custom HTML5 player was built, with custom speed controls and animating speed dial.<\/li>\n<li><strong>\ud83d\ude43 STEP #12<\/strong>: Launch the course. \ud83e\udd14 hmm&#8230; \u2049<\/li>\n<\/ul>\n<p><em>So, yes. I did all that and spent about ten months on this.<\/em><\/p>\n<p>\u2705 It was a hard thing to watch myself dwell in the pool of over-engineering. I was sold a couple of my commercial projects product to support the time spent on this, but I had a few things going, so it was kind of a part-time side-hustle thing.<\/p>\n<p>\u2705 I was also doing 10 to 15 hours per week of contract work and five hours of consultancy during this time. So, at least, it was not all that bad.<\/p>\n<blockquote><p>But what bothers me most is I never got around releasing any of it, that&#8217;s the sucker here. <strong>BUT I hope to release my courses this year <\/strong>(2018)<strong>.<\/strong> \ud83d\udcaf<\/p><\/blockquote>\n<div class=\"page\" title=\"Page 1\">\n<p>The rest of the post is from 2017, when I finally launched an online course. Go easy on me. It was my first time.<\/p>\n<\/section>\n<div class=\"postcontents full dark\">\n<div class=\"wrapper\">\n<h2 id=\"teaching\" style=\"text-align: center;\"><span style=\"text-align: center;\">\ud83d\udc68\u200d\ud83c\udfeb<\/span><\/h2>\n<h2 style=\"text-align: center;\">TEACHING<br \/>\n<span style=\"color: #999999;\">Building A Course Platform \u2014 Launching VSCode.pro<\/span><\/h2>\n<\/div>\n<\/div>\n<\/div>\n<section class=\"postcontents wrapper\">\n<p>I&#8217;m super excited to share that I finally launched my <a href=\"https:\/\/vscode.pro\/?utm_source=ahmadawais.com\">VSCode.pro<\/a> and then <a href=\"https:\/\/NodeCLI.com\">NodeCLI.com<\/a> courses. I have a bunch more you can check <a href=\"https:\/\/ahmadawais.com\/courses\/\">My Courses<\/a> page. I love to teach. I come from a family of teachers; both parents and grandparents are teachers \u2014 defo a genetic bug?! Haha.<\/p>\n<p>But why I released a course on VSCode.pro, what it took for me to do that, and the kind of impact I think I&#8217;ve had here?<\/p>\n<p style=\"text-align: center;\">\u2014\u2014\u2014<\/p>\n<h2 style=\"text-align: center;\">\ud83c\udd9a<br \/>\n<strong>Launching the <a href=\"https:\/\/VSCode.pro\">VSCode Power User Course<\/a><\/strong><\/h2>\n<p>In the last two years, as a consultant, I worked with Googlers and engineers from Microsoft, Netflix, MongoDB, and a couple of other major tech companies \u2014 to find out almost everyone was using VSCode \u2014 the new open-source editor from Microsoft. Must be a reason for that.<\/p>\n<p>\u2705 So, I decided to check it out. The moment I switched to VSCode from Sublime, I felt overwhelmed, to say the least. But I&#8217;ve had serious issues with Sublime whenever I wanted to debug code, write TypeScript, or autoformat via ESLint\/Prettier. It&#8217;s been 10 years since I&#8217;ve been using Sublime Text, but the eco-system has gone stale. Updates are years apart.<\/p>\n<p>\ud83e\udd14 I wanted a guide, sort of a course where someone would make it easier for me to make this switch. After searching for a course, I didn&#8217;t find any. So, in 2017, I announced my intent to create such a course.<\/p>\n<\/section>\n<div class=\"postcontents full\"><a href=\"https:\/\/VSCode.pro\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5410\" src=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro.jpg\" alt=\"VSCode Power User Course\" width=\"1500\" height=\"1000\" srcset=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro.jpg 1500w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro-300x200.jpg 300w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro-768x512.jpg 768w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro-1024x683.jpg 1024w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro-860x573.jpg 860w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro-680x453.jpg 680w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro-400x267.jpg 400w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/ThinkFaceVSCodePro-50x33.jpg 50w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/div>\n<section class=\"postcontents wrapper\">\n<p>\ud83d\ude4c 1,000+ hours of building, recording, getting sick \ud83e\udd27, then re-recording &amp; finally launching my <a class=\"twitter-timeline-link\" dir=\"ltr\" title=\"http:\/\/VSCode.pro\" href=\"https:\/\/vscode.pro\/?utm_source=ahmadawais.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" data-expanded-url=\"http:\/\/VSCode.pro\"><span class=\"js-display-url\">VSCode.pro<\/span><\/a> course in over a year has been a nerve-racking task. I&#8217;ve poured my dev-heart out in this course.<\/p>\n<p>The best way to get to know what you get in this course is by watching this 4 min long video \u2014 which I think is too long, but <strong>it has a hilarious ending. \ud83e\udd23<\/strong><\/p>\n<\/section>\n<div class=\"postcontents full dark\">\n<div class=\"wrapper\">\n<div class=\"wide\">\n<a name=\"#coursevid\"><\/a><\/p>\n<p><iframe loading=\"lazy\" title=\"00-VSCode Power User | Learn Visual Studio Code | Video Course\" src=\"https:\/\/player.vimeo.com\/video\/300968770?dnt=1&amp;app_id=122963\" width=\"500\" height=\"281\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\"><\/iframe><\/p>\n<p><em>\ud83c\udf1f If you can then support my work &amp; buy the masterclass at <span class=\"js-display-url\"><a class=\"twitter-timeline-link\" dir=\"ltr\" title=\"http:\/\/VSCode.pro\" href=\"https:\/\/VSCode.pro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" data-expanded-url=\"http:\/\/VSCode.pro\">VSCode.pro<\/a> \u2192<\/span><\/em><\/p>\n<\/div>\n<\/div>\n<\/div>\n<section class=\"postcontents wrapper\">\n<h3 id=\"making-of-vscode-pro-course\">Making of VSCode.pro Course<a href=\"#making-of-vscode-pro-course\" class=\"heading-link\">#<\/a><\/h3>\n<p>It took a lot to launch this course online simply. It took a lot of decisions on which <strong>mic<\/strong> to choose, which <strong>audio<\/strong> software to buy and learn, the <strong>screen resolution<\/strong> best for most users, the <strong>video recording and editing software<\/strong>, getting an <a href=\"https:\/\/twitter.com\/joshuaiz\">excellent audio engineer\/DJ<\/a> to improve the filters in <strong>Adobe Auditions<\/strong>, learning <strong>ScreenFlow<\/strong> deeply to do all audio\/video and even writing some of the <strong>Closed Captions<\/strong> myself. And then, before all that \u2014 building my own custom Learning Management System where developers could log in to take the course.<\/p>\n<div class=\"wide\"><a href=\"https:\/\/VSCode.pro\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5416\" src=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP.jpg\" alt=\"VSCode Power User Course\" width=\"1200\" height=\"800\" srcset=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP.jpg 1200w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP-300x200.jpg 300w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP-768x512.jpg 768w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP-1024x683.jpg 1024w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP-860x573.jpg 860w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP-680x453.jpg 680w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP-400x267.jpg 400w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP-50x33.jpg 50w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/HANDS_UP-600x400.jpg 600w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/div>\n<p>\u267b\ufe0f <strong>I did everything from scratch<\/strong>. The entire life cycle of this course. Built the course site, the Learning Management System (LMS), recorded &amp; edited the videos, audio engineering, built a home studio, modeled for the pitch video (my first time selling something on camera, it felt weird), and more.<\/p>\n<p>\ud83d\udcb8 <b>Lifetime subscription with a one-time payment<\/b>. Many friends suggested I use a SaaS teaching platform. Save time and build a monthly subscription model. <strong>But I didn&#8217;t want to do any of that<\/strong>. Built from scratch. Pushed me back at least one year.<\/p>\n<p><strong>I wanted to be considerate of my student&#8217;s money and time<\/strong>. Now I don&#8217;t have to pay a monthly SaaS fee, so my students don&#8217;t have to care about a monthly subscription. It&#8217;s a lifetime subscription with a one-time payment and free updates. I am proud of what I&#8217;ve built here.<\/p>\n<p><strong>\ud83d\ude29 Recording a course is extremely hard<\/strong>. You are sick; you have the flu; it&#8217;s the rush hour traffic time (lots of noise), or even if you are traveling \u2014 you can&#8217;t record a course in these conditions and more. It&#8217;s super tough. I&#8217;ve so much respect for fellow course authors. Honestly, it&#8217;s one of the hardest things I did. Salute to y&#8217;all.<\/p>\n<p>\u2600\ufe0f <strong>I would wake up at 4 AM to record early every day<\/strong>. People would wake up by the time I was done for the day. Completely exhausted from recording for four to five hours, my throat would hurt, and I felt dizzy \u2014 all that to avoid noisy rush hour traffic and other normal-day interruptions.<\/p>\n<p>\ud83d\ude31 <strong>Silly accidents that taught me a lot<\/strong>. I recorded hours-long videos twice, only to find out I had forgotten to press the <strong>RECORD<\/strong> button. Or the disc space was full, and the recording stopped without any notice due to buggy software. I felt like crap. I wanted to quit. Sometimes, I did. I took a break for one week and then couldn&#8217;t get back to recording the same damn thing again.<\/p>\n<p>\ud83e\udd14 <strong>Avoiding sleep-inducing boring content<\/strong>. Don&#8217;t get me wrong, I love teaching, but this course was different. Imagine how boring it would be if you had to teach people about 20 different shortcuts in a single video that should be less than 5 mins long. I had to rewrite and rerecord several times \u2014 perfectionist much.<\/p>\n<p>\u23f0 <strong>Wasted time, or was it?! <\/strong>In 2017, I wrote about spending months trying to buy the right mic, testing it, and over-engineering the LMS I was building. That was worth it if you see the final result; I mean, video\/audio is super crisp and high quality \u2014 but that much time wasted I&#8217;d never get back.<\/p>\n<p>\ud83d\udc68\u200d\ud83d\udcbb <strong>Coding a custom LMS (Learning Management System)<\/strong>. I researched almost 8 different LMS scripts. None of them fit the bill. So, I built one using Node.js, React.js, and WordPress as a backend\/database because why not, I built my mailing server coupled with a small set of microservices hosted via Docker and managed with a small Kubernetes cluster (Go-lang for the win).<\/p>\n<p>\ud83d\udcf9 <strong>#OneDevMinute videos<\/strong>. I&#8217;ve written a lot of content and managed content teams. But after setting up this entire video recording setup, I feel comfortable doing the same with video learning. Also, why I am launching a free video tips series called <a href=\"https:\/\/www.youtube.com\/playlist?list=PLIZPrus9as4xt2d0zgDtWbiNRlgyM5If2\">#OneDevMinute \u2014 I already shared a few<\/a>.<\/p>\n<p>\ud83e\udd23 <strong>Dumb mistakes<\/strong>. You&#8217;re bound to make mistakes when you build all that from scratch. I didn&#8217;t have time to test the platform much. Imagine how I felt when someone messaged me, &#8220;It&#8217;s not working&#8221;, also &#8220;Where are the videos,&#8221; and &#8220;I didn&#8217;t get the email&#8221;. It took quite a few sleepless nights but the platform pulled together, handing ~15,000 developers learning VSCode.<\/p>\n<h3 id=\"impact-of-building-a-course\">Impact of Building A Course<a href=\"#impact-of-building-a-course\" class=\"heading-link\">#<\/a><\/h3>\n<p>Honestly, I always wanted to do this. I had done talks, workshops, and in-person and online one-to-one training but had never really done an online course.<\/p>\n<div class=\"wide\"><a href=\"https:\/\/VSCode.pro\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5417\" src=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course.jpg\" alt=\"VSCode Power User Course\" width=\"1200\" height=\"630\" srcset=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course.jpg 1200w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course-300x158.jpg 300w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course-768x403.jpg 768w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course-1024x538.jpg 1024w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course-860x452.jpg 860w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course-680x357.jpg 680w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course-400x210.jpg 400w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2019\/02\/vscodepro-course-50x26.jpg 50w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/div>\n<p>I spent about a year building my audience, the VSCode community was new to me. I started by contributing code and documentation for this open-source software. I built the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ahmadawais.shades-of-purple\">Shades of Purple theme<\/a>, which went viral.<\/p>\n<p>At the time of writing this, I&#8217;ve collected the following stats:<\/p>\n<ul>\n<li>\ud83d\ude2e 14,184 developers are becoming <a href=\"https:\/\/VSCode.pro\">VSCode Power Users<\/a><\/li>\n<li>\ud83c\udfdb\ufe0f ~400 companies bought <a href=\"https:\/\/vscode.pro\/#FAQ\">team packages<\/a> 60% to 70% off<\/li>\n<li>\ud83d\udc68\u200d\ud83c\udf93\ud83d\udc69\u200d\ud83c\udf93 7,128+ students from 83+ universities took my course<\/li>\n<li>\ud83d\udc50 Donated <a href=\"https:\/\/twitter.com\/MrAhmadAwais\/status\/1222550684790329345\">$20,000 worth of course material<\/a> to dev community<\/li>\n<li>\ud83c\uddf3\ud83c\uddec\ud83c\uddf5\ud83c\uddf0\ud83c\udde7\ud83c\uddf7\ud83c\uddee\ud83c\uddf3\ud83c\uddee\ud83c\udde9\ud83c\uddea\ud83c\uddec\ud83c\uddfa\ud83c\uddff\ud83c\udde6\ud83c\uddff\ud83c\uddf9\ud83c\uddef\ud83c\uddf9\ud83c\uddf3\ud83c\uddf3\ud83c\uddf5\ud83c\uddf1\ud83c\uddf0\ud83c\uddfb\ud83c\uddf3\ud83c\uddec\ud83c\udded\ud83c\uddf5\ud83c\udded\ud83c\udde7\ud83c\uddf3\ud83c\uddf0\ud83c\uddfc\ud83c\uddf6\ud83c\udde6\ud83c\udde7\ud83c\udded\ud83c\udde6\ud83c\uddea\ud83c\uddfb\ud83c\uddea\ud83c\uddf2\ud83c\uddfd and 149 other countries enjoy my courses on a 40% to 58% discounted price. It&#8217;s called Purchasing Power Parity \u2014 I support all countries that don&#8217;t have strong economies, like the US and 25 other economically strong countries. For me, this is a <strong>Learning &gt; Earning<\/strong> initiative. Supporting diversity FTW!<\/li>\n<\/ul>\n<blockquote><p>\u2705 I&#8217;ve put a lot of effort into building <a href=\"https:\/\/vscode.pro\/?utm_source=ahmadawais.com\">VSCode.pro course<\/a>. It can help save you 10 to 20 hours every month. You can switch to this open source and free editor in less than a yearly subscription of normal editors and learn it deeply through my course.<\/p>\n<p>If you&#8217;re a company, a student \u2014 then <a href=\"https:\/\/AhmadAwais.com\/contact\">contact me to get a discount code<\/a>. If you&#8217;re from an emerging market part of a diverse community \u2014 just visit <a href=\"https:\/\/VSCode.pro\">VSCode.pro<\/a> and generate a coupon code to use during the check out. I&#8217;m running a 40% off discount for everyone right now (no coupons need for that). Thank you, for supporting my work.<\/p><\/blockquote>\n<div class=\"page\" title=\"Page 1\">\n<div class=\"layoutArea\">\n<div class=\"page\" title=\"Page 1\">\n<p style=\"text-align: center;\">\u2014\u2014\u2014<\/p>\n<h2 style=\"text-align: center;\">\ud83c\udf33<br \/>\n<strong>Now-order the <a href=\"https:\/\/NodeCLI.com\">Node.js CLI Automation Course<\/a><\/strong><\/h2>\n<\/section>\n<div class=\"postcontents full\">\n<p><a href=\"https:\/\/NodeCLI.com\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6910\" src=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured.jpg\" alt=\"Node CLI\" width=\"1200\" height=\"630\" srcset=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured.jpg 1200w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured-300x158.jpg 300w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured-1024x538.jpg 1024w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured-768x403.jpg 768w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured-860x452.jpg 860w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured-680x357.jpg 680w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured-400x210.jpg 400w, https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/04\/featured-50x26.jpg 50w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/p>\n<\/div>\n<section class=\"postcontents wrapper\">\n<p>I&#8217;ve also just announced my new course on <a href=\"https:\/\/NodeCLI.com\">NodeCLI.com<\/a>, where I help developers learn how to build Node.js Command Line Interface (CLI) applications to automate grunt work.<\/p>\n<p>I&#8217;m super excited about this course because it will help developers make better use of their time, impress their managers, improve their products, and make more money by building developer tools. That last part is important nowadays during COVID-19.<\/p>\n<p>Peace! \u270c\ufe0f<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I love to teach. It&#8217;s a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my teaching platform for teaching VSCode.pro, NodeCLI.com, and DenoBeginner.com<\/p>\n","protected":false},"author":2,"featured_media":7317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[136],"tags":[],"class_list":["post-6901","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How I Built My Own Teaching Platform<\/title>\n<meta name=\"description\" content=\"I love to teach. It&#039;s a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my teaching platform for teaching VSCode.pro, NodeCLI.com, and DenoBeginner.com\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ahmadawais.com\/custom-teaching-platform\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How I Built My Own Teaching Platform\" \/>\n<meta property=\"og:description\" content=\"I love to teach. It&#039;s a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my teaching platform for teaching VSCode.pro, NodeCLI.com, and DenoBeginner.com\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ahmadawais.com\/custom-teaching-platform\/\" \/>\n<meta property=\"og:site_name\" content=\"Ahmad Awais\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/AhmadAwais\" \/>\n<meta property=\"article:author\" content=\"https:\/\/facebook.com\/AhmadAwais\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-17T06:48:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-20T19:28:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/11\/play.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"422\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ahmad Awais\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MrAhmadAwais\" \/>\n<meta name=\"twitter:site\" content=\"@MrAhmadAwais\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ahmad Awais\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/\"},\"author\":{\"name\":\"Ahmad Awais\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"headline\":\"How I Built My Own Teaching Platform\",\"datePublished\":\"2020-04-17T06:48:10+00:00\",\"dateModified\":\"2023-01-20T19:28:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/\"},\"wordCount\":2521,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"image\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/play.jpg\",\"articleSection\":[\"Business\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/\",\"name\":\"How I Built My Own Teaching Platform\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/play.jpg\",\"datePublished\":\"2020-04-17T06:48:10+00:00\",\"dateModified\":\"2023-01-20T19:28:39+00:00\",\"description\":\"I love to teach. It's a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my teaching platform for teaching VSCode.pro, NodeCLI.com, and DenoBeginner.com\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/play.jpg\",\"contentUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/play.jpg\",\"width\":750,\"height\":422,\"caption\":\"VSCode.pro\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/custom-teaching-platform\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ahmadawais.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How I Built My Own Teaching Platform\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#website\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/\",\"name\":\"Ahmad Awais\",\"description\":\"Founder &amp; CEO of CommandCode.ai f\\\/k\\\/a Langbase | Google Developers Advisory Board (gDAB) founding member\",\"publisher\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ahmadawais.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/#\\\/schema\\\/person\\\/1d1b9504182dca2315cf039fb4ebb85b\",\"name\":\"Ahmad Awais\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"url\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"contentUrl\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\",\"width\":2299,\"height\":1705,\"caption\":\"Ahmad Awais\"},\"logo\":{\"@id\":\"https:\\\/\\\/ahmadawais.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/Ahmad-Awais-face.jpg\"},\"description\":\"Founder & CEO of \u2318 Command Code coding agent with taste. Founded Langbase.com, AI cloud to build, deploy, and scale AI agents with tools & memory \u00b7 Creator of Command.new. \\\"Awais is an awesome example for developers\\\" \u2014 Satya Nadella, CEO of Microsoft. NASA Mars Ingenuity Helicopter mission code contributor 8th GitHub Stars Award recipient with 5x GitHub Stars Award (Listed as GitHub's #1 JavaScript trending developer). Google Developers Expert Web DevRel. Ex VP Eng (DevTools & DevRel) Rapid \u00b7 Google Developers Advisory Board (gDAB) founding member \u00b7 AI\\\/ML\\\/DevTools Angel Investor (Replit, Resend, Daytona, Gumroad and you?) \u276f AI\\\/ML Advisory Board San Francisco, DevNetwork. Award-winning Open Source Engineering leader authored hundreds of open-source dev-tools and software libraries used by millions of developers, including Shades of Purple code theme and corona-cli. Linux Foundation (Node.js Committee Lead), OpenAPI Business Governing Board. Taught 108K+ developers via NodeCLI.com and VSCode.pro course. 274 million views, blogging for 24 yrs. \u276f Read more about Ahmad Awais or come say hi on \ud835\udd4f @MrAhmadAwais.\",\"sameAs\":[\"https:\\\/\\\/AhmadAwais.com\\\/\",\"https:\\\/\\\/facebook.com\\\/AhmadAwais\",\"https:\\\/\\\/instagram.com\\\/MrAhmadAwais\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/MrAhmadAwais\\\/\",\"https:\\\/\\\/x.com\\\/MrAhmadAwais\",\"https:\\\/\\\/youtube.com\\\/AhmadAwais\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How I Built My Own Teaching Platform","description":"I love to teach. It's a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my teaching platform for teaching VSCode.pro, NodeCLI.com, and DenoBeginner.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ahmadawais.com\/custom-teaching-platform\/","og_locale":"en_US","og_type":"article","og_title":"How I Built My Own Teaching Platform","og_description":"I love to teach. It's a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my teaching platform for teaching VSCode.pro, NodeCLI.com, and DenoBeginner.com","og_url":"https:\/\/ahmadawais.com\/custom-teaching-platform\/","og_site_name":"Ahmad Awais","article_publisher":"https:\/\/facebook.com\/AhmadAwais","article_author":"https:\/\/facebook.com\/AhmadAwais","article_published_time":"2020-04-17T06:48:10+00:00","article_modified_time":"2023-01-20T19:28:39+00:00","og_image":[{"width":750,"height":422,"url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/11\/play.jpg","type":"image\/jpeg"}],"author":"Ahmad Awais","twitter_card":"summary_large_image","twitter_creator":"@MrAhmadAwais","twitter_site":"@MrAhmadAwais","twitter_misc":{"Written by":"Ahmad Awais","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/#article","isPartOf":{"@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/"},"author":{"name":"Ahmad Awais","@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"headline":"How I Built My Own Teaching Platform","datePublished":"2020-04-17T06:48:10+00:00","dateModified":"2023-01-20T19:28:39+00:00","mainEntityOfPage":{"@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/"},"wordCount":2521,"commentCount":4,"publisher":{"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"image":{"@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/#primaryimage"},"thumbnailUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/11\/play.jpg","articleSection":["Business"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ahmadawais.com\/custom-teaching-platform\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/","url":"https:\/\/ahmadawais.com\/custom-teaching-platform\/","name":"How I Built My Own Teaching Platform","isPartOf":{"@id":"https:\/\/ahmadawais.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/#primaryimage"},"image":{"@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/#primaryimage"},"thumbnailUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/11\/play.jpg","datePublished":"2020-04-17T06:48:10+00:00","dateModified":"2023-01-20T19:28:39+00:00","description":"I love to teach. It's a genetic bug in me (both parents and grandparents are teachers, eh). In this post, I discuss how I built my teaching platform for teaching VSCode.pro, NodeCLI.com, and DenoBeginner.com","breadcrumb":{"@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ahmadawais.com\/custom-teaching-platform\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/#primaryimage","url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/11\/play.jpg","contentUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/11\/play.jpg","width":750,"height":422,"caption":"VSCode.pro"},{"@type":"BreadcrumbList","@id":"https:\/\/ahmadawais.com\/custom-teaching-platform\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ahmadawais.com\/"},{"@type":"ListItem","position":2,"name":"How I Built My Own Teaching Platform"}]},{"@type":"WebSite","@id":"https:\/\/ahmadawais.com\/#website","url":"https:\/\/ahmadawais.com\/","name":"Ahmad Awais","description":"Founder &amp; CEO of CommandCode.ai f\/k\/a Langbase | Google Developers Advisory Board (gDAB) founding member","publisher":{"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ahmadawais.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/ahmadawais.com\/#\/schema\/person\/1d1b9504182dca2315cf039fb4ebb85b","name":"Ahmad Awais","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","contentUrl":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg","width":2299,"height":1705,"caption":"Ahmad Awais"},"logo":{"@id":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/06\/Ahmad-Awais-face.jpg"},"description":"Founder & CEO of \u2318 Command Code coding agent with taste. Founded Langbase.com, AI cloud to build, deploy, and scale AI agents with tools & memory \u00b7 Creator of Command.new. \"Awais is an awesome example for developers\" \u2014 Satya Nadella, CEO of Microsoft. NASA Mars Ingenuity Helicopter mission code contributor 8th GitHub Stars Award recipient with 5x GitHub Stars Award (Listed as GitHub's #1 JavaScript trending developer). Google Developers Expert Web DevRel. Ex VP Eng (DevTools & DevRel) Rapid \u00b7 Google Developers Advisory Board (gDAB) founding member \u00b7 AI\/ML\/DevTools Angel Investor (Replit, Resend, Daytona, Gumroad and you?) \u276f AI\/ML Advisory Board San Francisco, DevNetwork. Award-winning Open Source Engineering leader authored hundreds of open-source dev-tools and software libraries used by millions of developers, including Shades of Purple code theme and corona-cli. Linux Foundation (Node.js Committee Lead), OpenAPI Business Governing Board. Taught 108K+ developers via NodeCLI.com and VSCode.pro course. 274 million views, blogging for 24 yrs. \u276f Read more about Ahmad Awais or come say hi on \ud835\udd4f @MrAhmadAwais.","sameAs":["https:\/\/AhmadAwais.com\/","https:\/\/facebook.com\/AhmadAwais","https:\/\/instagram.com\/MrAhmadAwais\/","https:\/\/www.linkedin.com\/in\/MrAhmadAwais\/","https:\/\/x.com\/MrAhmadAwais","https:\/\/youtube.com\/AhmadAwais"]}]}},"jetpack_featured_media_url":"https:\/\/ahmadawais.com\/wp-content\/uploads\/2020\/11\/play.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts\/6901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/comments?post=6901"}],"version-history":[{"count":5,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts\/6901\/revisions"}],"predecessor-version":[{"id":7922,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/posts\/6901\/revisions\/7922"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/media\/7317"}],"wp:attachment":[{"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/media?parent=6901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/categories?post=6901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahmadawais.com\/api\/wp\/v2\/tags?post=6901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}