
Ahmad Awais: Scaling Next.js with WordPress to one million developers
Ahmad Awais: Scaling Next.js with WordPress to one million developers
Discover how to get the most of out your current Wordpress stack with Next.js with Ahmad Awais, VP of DevRel, RapidAPI.
Learn more: https://vercel.com/home
Content
0.719 -> foreign
5.21 -> [Music]
9.86 -> today I'm talking about how you can
12.36 -> scale next.js with WordPress to a
14.639 -> million developers this is a story of
17.16 -> how the developer relations stack six
20.279 -> production Maps based on nextas and MDX
22.92 -> that we built last year we were able to
25.56 -> scale it to 450 content pieces 1200 plus
31.08 -> a media files with WordPress there was a
34.38 -> little bit of a glue involved in there
35.76 -> and I'm excited to talk about it
39 -> so how do you scale next.js with
41.52 -> WordPress to a million developers well
43.739 -> that's what I'm gonna talk about today I
45.96 -> am Ahmad the west and today I'm sharing
48.12 -> my story on how the developer relations
50.64 -> stack that I built with my team here at
52.559 -> rapid API where we teach about API
55.199 -> development we were able to scale it to
57.36 -> millions of developers with next Cs and
60.059 -> WordPress so
62.28 -> yeah
63.42 -> let me start with this hot Tech
65.659 -> on-demand incremental static
67.86 -> regeneration are more than buzzwords I
71.04 -> totally believe that optimizing for
73.14 -> Content rendering patterns can actually
75.72 -> help your business grow it can save you
78.42 -> a lot of money on you know build times
80.64 -> and the bills and everything but it can
83.22 -> also translate to a really really good
85.439 -> developer experience
87.06 -> how do I know this well the thing is
89.64 -> I've been around the block for over 20
91.439 -> years I've been writing code I've seen
93.299 -> this I've seen this same pattern emerge
95.7 -> with a lot of different Frameworks like
97.56 -> I've seen it happen with WordPress a lot
99.6 -> of lvujs react.js and now with you know
102.299 -> next JS different rendering patterns
104.52 -> that help you do really really well and
107.64 -> with that I think I should introduce
109.079 -> myself I Am Em otherwise vice president
111.479 -> of developer relations here at rapid API
113.46 -> and I freaking love the web platform I
116.88 -> also love the purple color it's also how
119.28 -> I created shades of purple theme uh you
122.22 -> know I think purple can be genius and
124.32 -> some people call me master of clis I
126.42 -> love automation I've created so many
127.799 -> cli's Corona clis Creator and blog and a
130.14 -> bunch of others also create a course on
132.06 -> that if you want to check out
133.02 -> nodecli.com
135.48 -> I've won uh GitHub golden stars award
138.9 -> twice I've been fortunate enough to be
142.26 -> able to spend time to create a lot of
144.48 -> Open Source software over the last two
146.76 -> decades which has led me to things like
149.04 -> you know helping millions of developers
150.42 -> who are using my code in just last year
152.94 -> uh I got to know that what some of my
155.4 -> code actually ended up on Mars you know
157.92 -> now I can call myself NASA's Mars
160.62 -> Ingenuity helicopter contributor which
163.26 -> is this amazing beyond this world right
165.72 -> uh so yeah enough about me let's jump
168.54 -> into what we were doing last year we
170.94 -> were using MDX I love MDX I think it's
174.06 -> an amazing combination of react uh you
176.819 -> know sort of jsx and markdown I also
179.94 -> write really like markdown right so with
182.94 -> MDX we got excellent developer relations
185.28 -> what didn't really go well was as our
188.099 -> content started to scale we got more
190.08 -> non-technical contributors or people who
192.12 -> are technical enough but weren't willing
194.4 -> to kind of you know clone or 1GB bag
197.36 -> GitHub repository to fix a small typo
201.12 -> right
202.08 -> that goes to say that media management
204.78 -> with MDX
206.7 -> used as static files in your GitHub repo
209.04 -> was a mess at scale and I'm not just
211.98 -> talking about small things here right in
215.4 -> this graph we are able to see right
217.2 -> there on the left quarter for 2021 this
219.9 -> is where we ended up for about 150 you
222.599 -> know blog posts about I think 57 or 58
226.2 -> media files but as you come closer to
229.44 -> the end of this year 2022 you see we
231.72 -> have like 1270 media files high tech
234.36 -> right it's a lot
236.58 -> and we have like uh more than 457 blog
240.18 -> posts or pieces of content structure
242.7 -> content that help developers learn apis
245.4 -> through video text Comics You Name It We
247.92 -> have got it right uh in in on top of
250.68 -> that there are more than 5000 different
252.959 -> transformations of these media files so
255.54 -> as you can imagine content at scale
257.76 -> working with a team of 30 people it just
260.34 -> became a giant big mess to manage your
263.759 -> aesthetic files in a GitHub wrapper
266.759 -> so I read what any sane person would do
269.46 -> I started researching and searching for
271.8 -> a CMS here I I I'll probably give you a
274.62 -> question I come from uh this background
277.32 -> where if you have used react WordPress
279.6 -> node.js you've probably used my code
281.639 -> right I I was fortunate enough to be
284.04 -> able to contribute to the core software
285.84 -> of Wordpress that runs almost half the
288.479 -> internet so I could say that I am a
292.08 -> little bit biased but we did look at a
295.02 -> bunch of different you know popular
296.699 -> content cmss uh you know content
299.58 -> Management systems that are headless and
301.86 -> we very quickly found out a strange fact
304.62 -> that I could never see coming it's like
307.32 -> with all of these headless cmss you can
310.56 -> easily use an API to fetch data and that
313.62 -> is basically what you need from a
315.18 -> backpack you know you send a query you
316.74 -> get data and then whatever front end you
319.259 -> build uh can use the data to create
322.259 -> render your content but there's more to
325.02 -> it uh and because I'm me
328.02 -> I wanted to use MDX with the CMS like I
331.32 -> wanted to
332.16 -> send data through my CLI I wanted to
334.8 -> send data in a way where you know I
337.199 -> could use apis to send data to my
339.66 -> backend to the CMS as well as get data
342.9 -> through apis right and very quickly we
345.419 -> found out that all of these cms's uh
348.18 -> these proprietary cms's specialty those
350.4 -> that were not open source had some sort
353.16 -> of limitation uh where you know they
356.039 -> would have their own proprietary
357.539 -> language that you have to use to send
359.22 -> data with an API to their you know data
361.919 -> stores and yeah that was not part of
364.62 -> that right
367.08 -> um and what like at this point in time
370.919 -> we were thinking about the CNS versus
372.78 -> options right in a lot of these cmss the
375.78 -> property the proprietary CMS is offered
378.12 -> were options right you can do it like
380.52 -> this you can do it like this you can
381.9 -> build your own content store you can
383.28 -> build your own you know custom data and
386.039 -> content structures but in fact what we
388.68 -> needed that at that particular time was
392.16 -> a lot of the scenes to help us move
394.62 -> quickly right and even though that these
399.12 -> two go in hand in hand but they are
401.1 -> completely different philosophies right
403.199 -> and I'm a big fan of the scenes uh
405.84 -> batteries included you know the scenes
407.639 -> versus options it's it's the same reason
410.16 -> why over 64 percent of people whoever
413.28 -> choose a CMS go with WordPress right and
416.28 -> or like 43 of the entire internet is
418.86 -> actually built on top of what
420.6 -> so yeah you know what we did we chose
423.06 -> WordPress
424.139 -> uh the bottom line let me actually show
427.139 -> you what it looks like from our end
429.96 -> this is the editor role that you are
431.759 -> looking at right now so we can work with
433.5 -> many different user rules our CMS can
435.72 -> offer you something like this and here
437.639 -> are all of our Productions app
439.139 -> production apps data that are you know
442.56 -> built with Nexus right all of that in a
446.16 -> single WordPress instead so there are
447.78 -> guides learn Labs courses which are
450.36 -> video courses you know threads on
452.46 -> Twitter example wrappers on GitHub and
455.34 -> their deployed versions uh on Versa you
458.759 -> know Training Site which we are building
460.5 -> right now in our comics for example let
462.78 -> me actually dive deep into one of the
464.4 -> kites so here you see a lot of
466.56 -> customization we want to have a lead and
468.72 -> we have a markdown component right there
471.06 -> in WordPress but if you scroll down a
473.94 -> little bit oh what is this this is
476.34 -> pretty amazing if you have ever used MDX
479.34 -> you might have figured it out that we
481.56 -> are right now using MDX inside of
484.02 -> Wordpress yeah if you want to not use
486.3 -> MDX if you are a non-technical person we
489.06 -> offer you a visit experience inside of
491.58 -> WordPress but you can still use MDX
493.919 -> right because WordPress allows you to
496.68 -> send it data in whatever form and shape
499.199 -> you want and take data in whatever form
501.599 -> and shape whatever you API you prefer
503.819 -> and that is exactly what we did we also
506.28 -> built you know examples app on top of it
509.4 -> which looks like this you know uh here's
511.62 -> a word usage app right that is
514.14 -> completely open source there's a guide
515.76 -> written on top of it but you also get
517.62 -> the code and here's a demo URL which is
520.56 -> battery hosted on Virtual thanks a lot
522.959 -> for that and here's what it looks like
524.94 -> so if you go to rapidapr.com examples
527.58 -> you will see like we have like 60 plus
529.98 -> apps completely open source and if I
532.8 -> search for that word app there you go if
535.2 -> I click on this
536.82 -> this is all open source you can read the
538.98 -> code it's built with next AF and it has
541.68 -> a live preview that actually works
545.459 -> for example let's search for the word
547.019 -> next
548.459 -> there you go next in line the next
551.519 -> present the next item on the list so the
554.459 -> next item on the list I have is the
556.92 -> bottom line the bottom line is we went
558.54 -> with WordPress and we uh like I ended up
561.779 -> having uh a lot of back and forth with
563.88 -> the team uh we we we had to go with a
568.08 -> lot of different decisions then what you
569.64 -> are generally used to so I've seen a lot
571.56 -> of you know the community they look at
574.14 -> WordPress and they're like okay I can
575.58 -> use it in a headless way the thing is
577.44 -> WordPress was not built to be a headless
580.2 -> CMS right it is it is like notoriously
583.38 -> hard to configure as a headless CMS but
586.26 -> like I think half a decade ago we ended
589.2 -> up creating rest API which is native to
591.3 -> Wordpress through which you can get any
593.399 -> kind of data out of Wordpress there is
595.98 -> also a WP graphql plugin and a couple
597.899 -> other graphical plugins I think there
600.12 -> will act parity they lack the developer
602.459 -> tooling that should be there to help you
604.44 -> debug graphql and a lot of people just
606.54 -> grab the graphql plugin grab the core of
609.18 -> Wordpress and they're like I don't
611.519 -> understand what is happening here this
612.839 -> is really hard to debug
614.399 -> and there's not a lot of support there
616.32 -> so for them I would recommend that you
618.899 -> know there are things like graph
620.1 -> databases they are the things you want
621.72 -> to do where a graphql API is more Suited
626.1 -> I think and this is just me for my this
629.519 -> particular use case I think rest API was
632.58 -> a much better approach and since it is
635.1 -> native to Wordpress there are a lot of
636.959 -> workflows built into WordPress that you
639.42 -> can use and quickly create your custom
642 -> endpoints the same way you expect to do
645.42 -> with graphql right
647.399 -> we also ended up using Meta Box which
649.44 -> helped us create custom content
651.12 -> structure that you would see any
652.38 -> proprietary custom CMS uh you know
655.86 -> Market about that WordPress kind of
658.26 -> started implementing like way back in
661.16 -> 2007 to 2009 if I'm not wrong and we
665.22 -> also used code Snippets extension which
667.2 -> allows you to you know have very small
669.06 -> Snippets of code that work really well
671.22 -> like we created a small I think 17 line
674.519 -> of code uh script which help us create
677.6 -> previews of all of our draft posts uh on
681.18 -> top of virtual indexes with WordPress
682.98 -> which is pretty amazing so all six of
685.62 -> these Nexus production apps are now uh
688.68 -> you know all of the their data is now
690.6 -> hosted with just one WordPress instance
692.88 -> we have created Zero Custom plugins and
695.459 -> almost you know let the charge here in a
698.279 -> no code way because uh you know what I
701.88 -> wasn't feeling like uh programming in
704.399 -> PHP again so I was able to use WordPress
707.04 -> with without a lot of code right
709.92 -> and that ended up in content in
712.5 -> WordPress but MDX which is pretty
715.44 -> amazing right
716.94 -> but there were some issues let's go over
720.12 -> these issues we encountered a lot of
722.339 -> issues we initially started fetching all
725.16 -> of the WordPress data saving it as Json
727.56 -> inaugurated repository and running our
729.66 -> static website with SSD static site
733.14 -> generation using next year
735 -> and then we started looking at these
738.3 -> really really long build times because
740.64 -> you know if you are trying to produce
742.44 -> 500 pages and this is just like 500
744.66 -> posts you know there are category Pages
746.399 -> listing Pages other Pages it quickly
749.22 -> multiplies uh and it becomes a lot of
752.1 -> page you're like trying to render a
753.839 -> thousand pages
755.22 -> uh no matter what ecosystem you're part
758.04 -> of it is gonna take a long long time to
760.62 -> build these Pages especially if you now
762.72 -> have a typo to fix and the fact that it
765.42 -> will go on and regenerate all of these
768.6 -> Pages again it is just not a clean
771.959 -> approach not a green approach it is just
774.42 -> a waste of time and money right so in
778.079 -> draft previews or or draft previews I
781.5 -> should say were really hard to figure
783.06 -> out they were almost impossible because
786 -> you were looking at you know dealing
787.8 -> with everything static so it was very
789.959 -> clear that we wanted Dynamic but we also
792.839 -> wanted the speed of static and that is
795 -> sort of what virtual offers you know in
797.459 -> XCS offers uh through ISR incremental
800.76 -> static regeneration which is amazing you
804.06 -> don't have to rebuild your entire site
805.74 -> again and again you can revalidate it
808.44 -> revalidate just some part of pages or
811.5 -> some portion of a page which I'm gonna
813.66 -> get to right so
815.519 -> yeah let's let's go over how next is and
818.82 -> virtual came to rescue right the first
821.339 -> thing right of the bat that we started
823.38 -> with was uh we put all of these apps in
826.44 -> a monorapple and started using turbo
828.06 -> Apple thanks to Palmer and his team uh
830.7 -> we saw an amazing improvement in our
832.86 -> build times too yeah turbo apple and the
835.68 -> monoraptor approach we took right almost
837.839 -> 4.8 X time Fosters you see we had at
841.8 -> that time four uh different production
844.38 -> apps and not only were we able to skip
846.959 -> all of the builds for the wrong apps uh
850.079 -> when there was a type or some small you
852.12 -> know blog post update turbo repo was
855 -> also able to offer Us remote caching
857.16 -> which I think increased a particular
860.22 -> build by 80 80 90 percent of the times
862.68 -> like it would cash almost everything
864.899 -> that it needed to cash and just
867 -> potentially 2x of the data of the of the
870.899 -> data that you actually changed would be
872.88 -> rebuilt again and that was amazing it
875.16 -> also really fed into a need to optimize
878.459 -> the gain and again right well that was
880.8 -> awesome you know that we were struggling
882.959 -> a lot with static so we thought how
884.88 -> about we make all of this server side
887.519 -> rendered and
889.98 -> see how it goes but you know if you try
893.399 -> to render everything with the server on
897.06 -> runtime and if you have millions of
899.399 -> people visiting your you know websites
901.98 -> playing around with the data ah you're
904.74 -> either gonna have issues on the server
906.72 -> or issues with the people who are paying
909.48 -> the bills because your server the cost
911.88 -> of the server would go up so yeah while
914.459 -> we were still figuring it out the next
916.8 -> year's theme came up with this amazing
918.899 -> approach called oisr uh on demand
922.8 -> revalidation of
925.04 -> incremental static regenerated files I
928.74 -> know this is a mouthful but think of it
930.959 -> like this
932.639 -> so you I'm gonna assume you already know
935.339 -> what incremental static regeneration is
937.74 -> it is when you are able to generate
939.66 -> static pages and regenerate them without
942.54 -> needing to rebuild the entire site you
945.3 -> do that using by using revalidate prop
948.54 -> which used to be revalidated by time so
952.44 -> next JS will attempt to regenerate this
954.779 -> page when a request comes in at the most
958.26 -> every 10 seconds if you type in 10 for
961.38 -> evaluation well this was fun
964.8 -> but it was unnecessary right to get a
968.699 -> Dynamics period sort of you know static
971.82 -> speed you would end up choosing low time
974.459 -> then you would end up regenerating a lot
976.68 -> of pages for no reason at all and that's
979.139 -> that's when they came up with on-demand
981.54 -> revalidation it not only helped us adopt
985.019 -> this amazing new rendering pattern but
987.839 -> also helped us generate Draft preview
990.24 -> URLs and whatnot like on-demand
992.94 -> revalidation is you hit a particular
995.48 -> revalidate API endpoint in that API
999 -> endpoint basically ends up telling the
1000.44 -> serverless function running adversal
1002.54 -> then well this particular content needs
1004.94 -> to be revalidated we were able to use it
1007.519 -> to you know re-render the listings of
1010.279 -> our you know content uh experiment with
1013.459 -> a B testing as well as preview euros and
1017.839 -> we were able to accomplish things like
1019.399 -> this so here is a rapid API comic about
1023.779 -> rapid API client for vs code extension
1025.819 -> it's an extension that's really close to
1027.919 -> my heart imagine writing an API inside
1030.14 -> of vs code and then quickly testing it
1033.14 -> inside of vs code then then clicking a
1035.839 -> button to generate a typescript
1038.059 -> interface from a response all of that is
1041.66 -> amazing and we wanted to create a comic
1043.939 -> of sorts and on our devil stack what we
1047.059 -> do is we create Comics around teaching
1049.22 -> this kind of Concepts right so here you
1051.5 -> see inside of Wordpress a pretty
1053.24 -> customized version of what it looks like
1055.64 -> like here's the uh you know URL where
1058.28 -> you will find the same thing same
1059.9 -> content on Twitter and here's the
1062.12 -> content that is explaining the picture
1063.559 -> here right but what is amazing here is
1067.28 -> look at this particular URL it is on
1069.5 -> Revit api.com comics and here's the you
1072.08 -> know slack for this particular comic but
1074.36 -> wait a minute what is happening here
1076.64 -> this is WordPress right and the front
1080.299 -> end is in next AI with MDX
1084.14 -> so yeah this is the glue I'm talking
1086.6 -> about this is the glue that I created
1088.1 -> where you are able to use WordPress like
1091.52 -> you you're used to but your front end is
1094.1 -> this modern Cutting Edge uh next JS
1096.98 -> based you know like front end which is
1100.4 -> deployed on Virtual which is deployed on
1102.38 -> edge and Edge runtime
1104.96 -> and you don't even know like for example
1107.059 -> let me let let's look at what is going
1109.4 -> to happen here so here is my cursor I'm
1111.5 -> gonna go and click this link the moment
1113.9 -> I do and boom how fast was that and how
1117.5 -> beautiful it looks uh thanks to Eminem
1119.66 -> Who illustrates all of these amazing
1121.94 -> comics for us but look at this this is
1124.4 -> based on next as this is on repdpr.com
1127.28 -> comics and oh just like all of our other
1130.7 -> content like learn guides courses
1132.559 -> examples and Comics right
1134.539 -> but on the back of this is WordPress
1137.179 -> right and even if I'm gonna you know
1140.419 -> change something here and deploy It's
1142.64 -> Quickly gonna pick it up
1145.539 -> invalidate that particular page
1147.98 -> invalidate the listing
1150.62 -> and show you the right content while
1153.679 -> keeping it all started and that is the
1155.9 -> power of
1157.1 -> on-demand revalidation with ISR right
1160.34 -> for example if I go here and we were
1162.14 -> able to use it in all kinds of fun
1164.059 -> places like for example here's the
1165.44 -> listing page of Rapid API comics and you
1167.9 -> see like I don't know a couple of them
1169.76 -> here but we have more so if you click on
1172.64 -> load more
1173.9 -> what do you think is gonna happen we're
1175.94 -> gonna regenerate a new page which is
1178.58 -> going to have more rapid API comics and
1181.28 -> you can keep doing this and enjoy a lot
1183.919 -> more content that we have so not only
1186.26 -> are we able to manage this entire
1188.78 -> infrastructure all of these images all
1191.9 -> of these you know Cutting Edge front-end
1194 -> framework with Nexus we are also able to
1196.4 -> easily manage all of this files the
1199.179 -> content authorship and whatnot with
1201.919 -> WordPress and even if we change
1203.84 -> something here like you know Revit apis
1205.76 -> the comics are the easiest way to learn
1207.86 -> API development in the fun way I
1210.559 -> literally remember fixing something here
1212.66 -> a typo and re-rendering it through
1215.48 -> on-demand revalidation with ISR which is
1219.02 -> just mind numbing awesome
1222.02 -> so moving back the next thing was as you
1226.28 -> could imagine
1227.44 -> this was a lot of work so teamwork done
1231.38 -> it normally uh an amazing next year's
1233.96 -> developer on my team developer senior
1235.34 -> developers program engineer he and I
1237.559 -> were talking and I I have to thank multi
1240.62 -> here the CD of Warsaw who gave me early
1242.78 -> access to reversal preview comments
1245.179 -> which is amazing if you have not seen
1247.1 -> these
1248.539 -> so this takes me back to when I used to
1253.52 -> design things and my clients were easily
1255.679 -> able to click on a particular area in my
1258.38 -> design and give me feedback about okay
1261.14 -> well this got a gene need to you know
1263.72 -> make these colors pop a little bit you
1266.72 -> know overdone
1268.52 -> and all of that but with code and GitHub
1272.059 -> so reversal preview comments are amazing
1274.52 -> you see with virtual preview URLs which
1277.22 -> are already pretty amazing you don't
1278.6 -> need to you know see the code you you
1281 -> see the actual URL and you're able to
1282.98 -> quickly see okay this particular real
1284.84 -> component looks really really good on my
1286.64 -> site
1287.419 -> now you are able to have the same
1289.159 -> discussion right there
1291.08 -> instead of you know screenshotting it
1292.82 -> and making the videos
1294.5 -> on top of your previous uh you know
1296.659 -> preview URL it also gives you a bunch of
1299 -> data look at look at how it looks you
1301.28 -> know you're able to click on this and
1303.08 -> you're able to like comment and work
1304.82 -> with your team on this and
1306.74 -> it offers you things like you know your
1309.02 -> virtual preview was updated you can
1310.94 -> refresh it you work with the team you
1312.74 -> have your inbox here this is just
1315.02 -> amazing
1316.159 -> how a small thing like this can improve
1319.22 -> the collaboration throughout your across
1321.38 -> your team like the fun way I discovered
1324.14 -> a couple of features were like you know
1325.82 -> working with a contractor uh they're
1328.4 -> complaining about something and they're
1329.6 -> non-technical you're able to quickly see
1331.22 -> their browser stats their window size
1332.96 -> their device you know pixel ratio all of
1335.96 -> these data are right there almost feels
1338.12 -> like you know all of a sudden we have
1340.22 -> not only the preview URLs but all of the
1342.559 -> tools like you know people who are
1344.24 -> designing uh our content have I have
1347.36 -> right uh which is just in the next level
1349.4 -> of collaboration for code and the fun
1351.32 -> thing is I'm just quickly gonna jump
1352.7 -> here GitHub integration you can actually
1355.34 -> not only integrate these comments the
1357.86 -> preview comments with GitHub you can
1359.36 -> actually make sure that you know if all
1361.88 -> of these comments are not resolved do
1363.62 -> not merge the support request right
1365.48 -> stuff like this which blows my mind
1368.84 -> and with all of this we were able to
1372.32 -> improve the core web vitals of our site
1374.72 -> you know you put WordPress and glue it
1377.6 -> together with next year and I don't
1379.64 -> think that there is a more powerful Duo
1382.52 -> out there it's an amazing workflow and
1385.52 -> I'm really excited to share this clue
1387.38 -> this workflow that I figured out on how
1389.299 -> to know you know WordPress in next
1391.28 -> year's go hand in hand and you are able
1393.919 -> to overcome the Headless limits that
1396.86 -> WordPress offers the limits of headless
1398.9 -> even you go beyond that and you you
1401.419 -> really work on you know dynamic content
1403.7 -> in your updated dynamically
1405.679 -> video Team all of your content managed
1408.74 -> with an amazing awesome front end all of
1412.28 -> all while it's really well integrated
1414.679 -> with Warsaw and next year right
1417.08 -> and let me actually go ahead and show
1419.299 -> you what it looks like on the back end
1420.98 -> so for summative fifth person dial on
1423.38 -> mobile in the last seven days we are
1424.82 -> hitting 100 amazing real user experience
1427.94 -> and we are still improving this is not
1429.74 -> fair uh like if you go up on a little
1432.559 -> bit up on desktop like 90 or 95 it does
1435.44 -> go down but we are trying to improve a
1437.78 -> lot we have the information on our hand
1439.46 -> we're using these analytics to
1442.28 -> really improve the core web vitals and
1444.5 -> there's you know stats or if anything uh
1447.679 -> a big representation of our Direction
1449.72 -> the right way it's like we we saw more
1452.48 -> than two million developers visit and
1454.22 -> learned from all of these resources on
1456.5 -> rapidopi.com learn right
1461.72 -> there are still some problems that I'm
1464.12 -> working on I'm improving this workflow
1466.1 -> like I use three two slash which offers
1468.74 -> you know your same vs code theme syntax
1471.14 -> highlighting on your website and it uses
1474.38 -> file system API of node.js which it
1477.38 -> doesn't really import the theme files
1478.94 -> which makes the virtual serverless
1481.159 -> ecosystem thing that they these files
1483.559 -> from and you know your node modules are
1485.6 -> not import uh you know not important so
1488.48 -> we figured out a very hacky way of
1490.28 -> touching these files so yeah virtual
1492.74 -> serverless function would you know kind
1494.9 -> of use those files in production as well
1496.94 -> in case we have to you know render a
1500.299 -> preview or render a file that is static
1503.6 -> but is being rendered on runtime based
1506.299 -> on on demand ISR right so that was a
1509.419 -> little bit hacky it's also where we
1511.1 -> found out that debugging workflow with
1513.919 -> oisr could be improved a lot we could
1517.159 -> potentially get a lot of help if we can
1519.62 -> stream all of these logs uh from our
1522.799 -> serverless functions
1525.14 -> in a local environment somehow and again
1527.84 -> I've touched on this point WordPress
1530 -> used headlessly is limited and all of
1533.24 -> this you know workflow that I've built
1534.86 -> I'm trying to share soon is probably
1536.9 -> going to help you improve that glue
1539.48 -> between this amazing CMS and this
1541.82 -> amazing react framework next year right
1544.279 -> with that I think we are done uh thank
1547.039 -> you for listening thank you for
1548.059 -> listening my talk if you have questions
1550.22 -> if you're excited about the same things
1552.62 -> that I am excited about want to know
1554.779 -> more about this workflow I keep talking
1556.34 -> about uh come follow me on Twitter
1559.22 -> um you see the links right here or
1561.38 -> subscribe to my newsletter which I send
1563.779 -> a couple of times a year where I'm gonna
1565.94 -> announce or share more of these things
1568.52 -> uh in my courses and whatnot yeah I I
1572.6 -> just really want to say that next JS
1575.539 -> layouts are going to be freaking amazing
1578.24 -> that feature is going to help us
1581.14 -> change blocks of content not the whole
1584.659 -> content and improve our overall real
1587.48 -> user experience core web vitals but also
1590.84 -> the mental model will be simplified
1593.419 -> hopefully when you're working with so
1596 -> many different rendering patterns in a
1597.919 -> single page but working with so many
1599.659 -> different components each of these you
1602.419 -> know sometimes needs to be rendered on
1603.98 -> server or runtime or build time or
1606.44 -> whatnot right so pretty excited let's
1609.44 -> have a chat about it and see you soon
1611.919 -> bye peace
Source: https://www.youtube.com/watch?v=Bh73QYU22hI