<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Muhammad Owais Warsi</title>
    <description>The latest articles on DEV Community by Muhammad Owais Warsi (@muhammadowaiswarsi).</description>
    <link>https://dev.to/muhammadowaiswarsi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1267590%2F9646ded5-bf28-4a11-8bfc-63bd4448f180.png</url>
      <title>DEV Community: Muhammad Owais Warsi</title>
      <link>https://dev.to/muhammadowaiswarsi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/muhammadowaiswarsi"/>
    <language>en</language>
    <item>
      <title>Dependency Bench: at what size do LLMs lose track of a CI pipeline?</title>
      <dc:creator>Muhammad Owais Warsi</dc:creator>
      <pubDate>Sun, 11 Oct 2026 11:18:19 +0000</pubDate>
      <link>https://dev.to/muhammadowaiswarsi/dependency-bench-at-what-size-do-llms-lose-track-of-a-ci-pipeline-11l3</link>
      <guid>https://dev.to/muhammadowaiswarsi/dependency-bench-at-what-size-do-llms-lose-track-of-a-ci-pipeline-11l3</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/kaggle-2026-09-23"&gt;Kaggle Benchmarking Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Benchmarked
&lt;/h2&gt;

&lt;p&gt;Every engineer has stared at a red CI run and asked: &lt;em&gt;why did &lt;code&gt;deploy-prod&lt;/code&gt; get skipped when &lt;code&gt;build-api&lt;/code&gt; only flaked&lt;br&gt;
once?&lt;/em&gt; Answering that means tracking dependencies, trigger rules, retries, timeouts and execution order across a&lt;br&gt;
whole graph. AI agents are increasingly asked to do exactly this: debug pipelines, fix lockfiles, decide what to&lt;br&gt;
rebuild. So I wanted to measure &lt;strong&gt;whether models can actually reason about dependency graphs, and at what size they&lt;br&gt;
stop being able to.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dependency Bench&lt;/strong&gt; has 60 generated tasks: 5 families × 4 sizes (S → XL) × 3 instances.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Family&lt;/th&gt;
&lt;th&gt;The model must answer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Failure propagation (YAML)&lt;/td&gt;
&lt;td&gt;The final conclusion (success / failure / skipped) of every job in a CI workflow with &lt;code&gt;needs&lt;/code&gt;, &lt;code&gt;if: always()&lt;/code&gt; / &lt;code&gt;failure()&lt;/code&gt;, &lt;code&gt;continue-on-error&lt;/code&gt;, retries and timeouts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failure propagation (prose)&lt;/td&gt;
&lt;td&gt;The same pipelines, described in shuffled plain English the way a teammate would explain them&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Timing&lt;/td&gt;
&lt;td&gt;The finish minute of every job and the total duration, when only 2–4 runners are available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Version resolution&lt;/td&gt;
&lt;td&gt;One version per package satisfying every constraint, or &lt;code&gt;UNSAT&lt;/code&gt;. "Take the latest" never works&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Incremental rebuild&lt;/td&gt;
&lt;td&gt;Which Makefile targets rebuild after some files change, where some targets produce byte-identical output and stop the change from spreading&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Sizes go from &lt;strong&gt;10 to 200 jobs/targets&lt;/strong&gt; and from &lt;strong&gt;5 to 22 packages&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's trustworthy.&lt;/strong&gt; No LLM judge is involved. Every task comes from a seed, and the answer key comes from a&lt;br&gt;
small reference simulator that implements the rules written in the prompt. Grading is exact: one wrong job anywhere&lt;br&gt;
fails the task. I also record &lt;strong&gt;partial credit&lt;/strong&gt; (share of jobs/targets correct) to see how &lt;em&gt;close&lt;/em&gt; a failing answer&lt;br&gt;
was. A perfect "oracle" model scores 100% through the same pipeline, which checks the grader end to end.&lt;/p&gt;

&lt;p&gt;Here's a small rebuild task. Can you solve it?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight make"&gt;&lt;code&gt;&lt;span class="nl"&gt;out/http/schema&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;src/io/config.yaml&lt;/span&gt;
&lt;span class="nl"&gt;out/json/image&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;  &lt;span class="nf"&gt;out/http/schema&lt;/span&gt;
&lt;span class="nl"&gt;out/ui/test&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;     &lt;span class="nf"&gt;src/store/assets.json src/proto/config.yaml&lt;/span&gt;
&lt;span class="nl"&gt;out/metrics/lib&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;src/core/main.c out/ui/test&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Changed:&lt;/em&gt; &lt;code&gt;src/io/config.yaml&lt;/code&gt;, &lt;code&gt;src/store/assets.json&lt;/code&gt;. &lt;em&gt;Identical output:&lt;/em&gt; &lt;code&gt;out/http/schema&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;(&lt;code&gt;out/http/schema&lt;/code&gt; rebuilds, but its output is unchanged, so &lt;code&gt;out/json/image&lt;/code&gt; does &lt;strong&gt;not&lt;/strong&gt; rebuild.&lt;br&gt;
&lt;code&gt;out/ui/test&lt;/code&gt; and &lt;code&gt;out/metrics/lib&lt;/code&gt; do.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Models Tested
&lt;/h2&gt;

&lt;p&gt;I ran the full suite locally through the OpenAI API at each model's default reasoning effort, with one tier of each&lt;br&gt;
size so the curve has a top, a middle and a bottom:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;gpt-5.6-sol&lt;/strong&gt;: the strongest model I had access to&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;gpt-5.6-terra&lt;/strong&gt;: the mid-tier model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;gpt-5.4-mini&lt;/strong&gt;: a small, fast model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each task is a single user message: no system prompt, no tools, no code execution. The model has to &lt;em&gt;reason&lt;/em&gt;, not&lt;br&gt;
write a topological sort. On Kaggle, the same benchmark also runs on Claude models (Opus 5.5, Sonnet 5.5, Haiku 5.5)&lt;br&gt;
next to these three.&lt;/p&gt;

&lt;h2&gt;
  
  
  Findings
&lt;/h2&gt;

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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Exactly right&lt;/th&gt;
&lt;th&gt;Partial credit&lt;/th&gt;
&lt;th&gt;S&lt;/th&gt;
&lt;th&gt;M&lt;/th&gt;
&lt;th&gt;L&lt;/th&gt;
&lt;th&gt;XL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;gpt-5.6-sol&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;57/60&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;99%&lt;/td&gt;
&lt;td&gt;15/15&lt;/td&gt;
&lt;td&gt;15/15&lt;/td&gt;
&lt;td&gt;14/15&lt;/td&gt;
&lt;td&gt;13/15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gpt-5.6-terra&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;46/60&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;97%&lt;/td&gt;
&lt;td&gt;15/15&lt;/td&gt;
&lt;td&gt;13/15&lt;/td&gt;
&lt;td&gt;12/15&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6/15&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gpt-5.4-mini&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;4/60&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;45%&lt;/td&gt;
&lt;td&gt;2/15&lt;/td&gt;
&lt;td&gt;1/15&lt;/td&gt;
&lt;td&gt;0/15&lt;/td&gt;
&lt;td&gt;1/15&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;1. Accuracy falls off with size, not with difficulty of the rules.&lt;/strong&gt; terra is perfect on every family at size S, and&lt;br&gt;
the rules don't change between S and XL. Only the graph gets bigger. Yet it drops to 6/15 at XL. The model knows the&lt;br&gt;
rules; it loses track of them over a long chain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. "Almost right" is the typical failure, and in CI that's the dangerous kind.&lt;/strong&gt; terra's failed 200-job answers&lt;br&gt;
still got ~98% of jobs right. Its typical mistake is calling a job &lt;code&gt;failure&lt;/code&gt; when it was actually &lt;code&gt;skipped&lt;/code&gt;, mixing up&lt;br&gt;
"this job broke" with "this job never ran because something upstream broke". That's exactly the kind of answer that&lt;br&gt;
sounds convincing in a postmortem and is still wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The same pipeline is harder in prose.&lt;/strong&gt; On 200-job pipelines, terra scored &lt;strong&gt;3/3 when the pipeline was YAML and&lt;br&gt;
0/3 when the identical pipeline was described in English&lt;/strong&gt;. Structure is doing a lot of the model's work. Agents&lt;br&gt;
that read incident descriptions, Slack threads or logs instead of config files should be expected to do worse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Incremental rebuild was the only family that beat the strongest model.&lt;/strong&gt; sol was perfect on failure propagation,&lt;br&gt;
timing and version resolution at every size, but scored 2/3 on L and 1/3 on XL rebuilds. Its mistakes &lt;strong&gt;over-propagate&lt;/strong&gt;:&lt;br&gt;
it marks targets as rebuilt even when none of their inputs changed. In one case its own answer said a target's only&lt;br&gt;
prerequisite was &lt;em&gt;not&lt;/em&gt; rebuilt, yet listed the target as rebuilt anyway. "Identical output stops propagation" (the&lt;br&gt;
idea behind restat/early cutoff in real build systems) seems to be the rule models apply least reliably.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Not reasoning is the cliff.&lt;/strong&gt; gpt-5.4-mini answered in ~2 seconds with ~400 output tokens per task (sol: ~25 s,&lt;br&gt;
~2,100 tokens) and got 4/60. On version resolution it declared &lt;code&gt;UNSAT&lt;/code&gt; ("impossible") on 4 of the 8 puzzles that&lt;br&gt;
&lt;em&gt;did&lt;/em&gt; have a solution. That's the worst outcome for a dependency solver: giving up confidently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What surprised me:&lt;/strong&gt; how &lt;em&gt;good&lt;/em&gt; the top model is. My first pilot was 5 deliberately tricky mid-size tasks, and sol&lt;br&gt;
solved all of them. The interesting signal only appeared once I stopped hand-writing hard cases and started &lt;strong&gt;scaling the&lt;br&gt;
same rules up&lt;/strong&gt;, which is also what happens in real monorepos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I'd measure next:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The same suite at higher reasoning effort, to see whether the size cliff moves or disappears.&lt;/li&gt;
&lt;li&gt;An agentic track where the model can run the simulator or write code, to separate "can't reason" from "won't
write the obvious script".&lt;/li&gt;
&lt;li&gt;Real-world semantics: GitHub Actions' actual &lt;code&gt;if:&lt;/code&gt; defaults, &lt;code&gt;needs&lt;/code&gt; with matrix jobs, pip/npm resolvers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Benchmark
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kaggle benchmark:&lt;/strong&gt; &lt;a href="https://www.kaggle.com/benchmarks/muhammadowaiswarsi/dependency-bench" rel="noopener noreferrer"&gt;https://www.kaggle.com/benchmarks/muhammadowaiswarsi/dependency-bench&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive results&lt;/strong&gt; (leaderboard, accuracy vs. size, family × size per model):
&lt;a href="https://muhammad-owais-warsi.github.io/deps-bench/" rel="noopener noreferrer"&gt;https://muhammad-owais-warsi.github.io/deps-bench/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built with Python. The task generator, reference simulator, exact grader and results viewer are all deterministic&lt;br&gt;
from a seed, so the suite can be regenerated at any size to stay ahead of contamination.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devchallenge</category>
      <category>machinelearning</category>
      <category>kagglechallenge</category>
    </item>
    <item>
      <title>How to deploy React and Node application on render ?</title>
      <dc:creator>Muhammad Owais Warsi</dc:creator>
      <pubDate>Wed, 02 Oct 2024 10:03:24 +0000</pubDate>
      <link>https://dev.to/muhammadowaiswarsi/how-to-deploy-react-and-node-application-on-render--m24</link>
      <guid>https://dev.to/muhammadowaiswarsi/how-to-deploy-react-and-node-application-on-render--m24</guid>
      <description>&lt;p&gt;As a beginner deploying your projects can be confusing and a bit overwhelming. In today's post I'll be talking about how to deploy your React(Vite) and Node application on render.&lt;/p&gt;

&lt;p&gt;If you want to know more about render, here it is &lt;a href="https://render.com/" rel="noopener noreferrer"&gt;https://render.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's Begin 🚀 🚀&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Render account.&lt;/li&gt;
&lt;li&gt;GitHub/GitLab repository.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'm assuming that your folder structure somewhat look's like this. &lt;br&gt;
Folder names can be different.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.
├── client
└── server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First of all we have to create a &lt;code&gt;package.json&lt;/code&gt; file in the root directory. The file should contains the following.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "name": "test",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "install-server": "cd server &amp;amp;&amp;amp; npm install",
    "start-server": "cd server &amp;amp;&amp;amp; node index.js",
    "install-client": "cd client &amp;amp;&amp;amp; npm install",
    "build-client": "cd client &amp;amp;&amp;amp; npm run build",
    "start-client": "cd client &amp;amp;&amp;amp; npm run start"
  },
  "author": "",
  "license": "ISC",
  "description": ""
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The main part lies in the scripts. Now after adding the &lt;code&gt;package.json&lt;/code&gt; into your root directory, push the entire project to GitHub/GitLab.&lt;/p&gt;

&lt;p&gt;Now after after completing all the above procedures, we'll move on &lt;br&gt;
to render. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Remember to make the build of your react project using the command &lt;br&gt;
&lt;code&gt;npm run build&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So the basic logic is that we'll deploy our frontend and backend seperately and will connect them.&lt;/p&gt;
&lt;h2&gt;
  
  
  Deploying on Render
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Deploying the Client&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new project on render and select static site.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;2.Connect your repository.&lt;/p&gt;

&lt;p&gt;3.Enter the build command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run install-client &amp;amp;&amp;amp; npm run build-client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4.Enter yout publish directory. In vite application it's&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./client/dist
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here &lt;code&gt;client&lt;/code&gt; is the folder name and can be changed as per your folder name.&lt;/p&gt;

&lt;p&gt;5.Then add you enviroment variables if any.&lt;/p&gt;

&lt;p&gt;6.Finally click on &lt;strong&gt;Deploy&lt;/strong&gt; and wait for sometime for the completion.&lt;/p&gt;

&lt;p&gt;After it's successfuly deployed you can see tag &lt;code&gt;Live&lt;/code&gt; and get a URL of your site. &lt;/p&gt;

&lt;p&gt;Now copy this URL and place it in your backend application &lt;code&gt;cors&lt;/code&gt; so that it does'nt throw cors error in future.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cors({
   origin : your-static-site-url 
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Deploying the server&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Again create a new project , but this instead of static site create a web service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Again chose the same repository.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter the build command&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run install-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Enter the start command
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run start-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Then enter your enviroment variables if any.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;code&gt;Deploy&lt;/code&gt; and wait for some time.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When it's finally deployed, take the URL and replace it everyehere in your frontend code wherever you hit request to backend.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For example if your URL was &lt;code&gt;localhost:3000/create-user&lt;/code&gt; change it to &lt;code&gt;your-web-service-url/create-user&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Make all the changes and finally test your application. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this guide we have discussed, how to deplaoy your react and node application on render. &lt;/p&gt;

&lt;p&gt;If you found this guide helpful, let me know in the comments and share it with others who might benifit.&lt;/p&gt;

&lt;p&gt;Hope you liked the guide. Thanks for reading 😊&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>node</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
