<?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: unlimit</title>
    <description>The latest articles on DEV Community by unlimit (@amitgharge).</description>
    <link>https://dev.to/amitgharge</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1089222%2Fd68cc65b-dea1-4e03-bd2c-fa23c638f65d.jpeg</url>
      <title>DEV Community: unlimit</title>
      <link>https://dev.to/amitgharge</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amitgharge"/>
    <language>en</language>
    <item>
      <title>StackWeave - a fullstack monorepo for web, mobile &amp; backend (and why I built it)</title>
      <dc:creator>unlimit</dc:creator>
      <pubDate>Sat, 04 Apr 2026 15:32:52 +0000</pubDate>
      <link>https://dev.to/amitgharge/stackweave-a-fullstack-monorepo-for-web-mobile-backend-and-why-i-built-it-27o0</link>
      <guid>https://dev.to/amitgharge/stackweave-a-fullstack-monorepo-for-web-mobile-backend-and-why-i-built-it-27o0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The problem&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every time I started a new project that needed a web app, a mobile app, and a backend API, I ended up with three separate repos, three package.json files, and the same types copy-pasted across all of them. Schema changes meant touching three places. Dependency versions drifted. It was slow and painful.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What I built&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;StackWeave is a monorepo template that puts Next.js (web), Expo (mobile), and Express (backend) under one roof - managed by Turborepo and Yarn v4 workspaces. Shared packages handle types, the API client, validators, the Prisma DB layer, and even the Tailwind config - so a schema change or a type update ripples through everything at once, safely.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Where it stands&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It works — you can clone it, run yarn dev, and have all three apps running in under 5 minutes. But it's still early. Auth, a CI/CD pipeline, Docker Compose for local Postgres, and a proper docs site are all missing. That's intentional — I'd rather build those with the community than ship something half-baked and call it done.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Looking for contributors&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you've been frustrated by the same problem — or if you have opinions about auth, CI setup, Docker, tRPC vs REST, or monorepo structure — I'd love your input. Open an issue, start a discussion, or just drop a star if the idea resonates.&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/AmitGharge" rel="noopener noreferrer"&gt;
        AmitGharge
      &lt;/a&gt; / &lt;a href="https://github.com/AmitGharge/stackweave" rel="noopener noreferrer"&gt;
        stackweave
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Production-ready full-stack monorepo: Next.js + Expo + Express with Turborepo. Type-safe from database to UI.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;StackWeave&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://opensource.org/licenses/MIT" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667" alt="License: MIT"&gt;&lt;/a&gt;
&lt;a href="https://www.typescriptlang.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/510e5134ddb428cfda3ceac604ddce4fa60e4a4a4675ad9524a1a8ab2dc32cd8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f547970655363726970742d352e392d626c7565" alt="TypeScript"&gt;&lt;/a&gt;
&lt;a href="https://nextjs.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8912fe09d7ab5fbdb7c834059c32e3fad5fcc7f1e9dca2cee33610b8d34af8cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4e6578742e6a732d31352d626c61636b" alt="Next.js"&gt;&lt;/a&gt;
&lt;a href="https://expo.dev/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c202116ceb95d13e582d6c40a651dd6b7846d16dd5d8ad9f8f9b9bcfe93b27c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4578706f2d35352d303030303230" alt="Expo"&gt;&lt;/a&gt;
&lt;a href="https://turbo.build/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5d569dfd79633dd64ba4a0e8aa8c5705e9f9b11714cc552675222ef1cb8e4c15/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f547572626f7265706f2d322e392d454634343434" alt="Turborepo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A production-ready, full-stack monorepo template with Next.js, Expo, and Express - built for speed and developer experience.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Problem&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Building full-stack applications with web and mobile frontends requires:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Managing separate repositories or messy codebases&lt;/li&gt;
&lt;li&gt;Duplicating types, API logic, and configurations&lt;/li&gt;
&lt;li&gt;Version conflicts between shared dependencies&lt;/li&gt;
&lt;li&gt;Manual synchronization of schema changes across platforms&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What StackWeave Solves&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;✅ &lt;strong&gt;Single Source of Truth&lt;/strong&gt; - Shared types, API client, and database schema&lt;br&gt;
✅ &lt;strong&gt;Native Development&lt;/strong&gt; - Each platform uses optimal tech (Next.js for web, Expo for mobile)&lt;br&gt;
✅ &lt;strong&gt;Shared Styling&lt;/strong&gt; - Consistent design system via shared Tailwind config&lt;br&gt;
✅ &lt;strong&gt;Type Safety&lt;/strong&gt; - End-to-end TypeScript from database to UI&lt;br&gt;
✅ &lt;strong&gt;Fast, Cached Builds&lt;/strong&gt; - Turborepo inte&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;💡 Submit pull requests - see &lt;a href="https://github.com/AmitGharge/stackweave/CONTRIBUTING.md" rel="noopener noreferrer"&gt;CONTRIBUTING.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;⭐ Star the repo if you find it useful&lt;/li&gt;
&lt;li&gt;💬 Join &lt;a href="https://github.com/AmitGharge/stackweave/../../discussions" rel="noopener noreferrer"&gt;Discussions&lt;/a&gt; to share ideas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;First-time contributors welcome!&lt;/strong&gt; Check out issues labeled &lt;a href="https://github.com/AmitGharge/stackweave/../../issues?q=label%3A%22good+first+issue%22" rel="noopener noreferrer"&gt;&lt;code&gt;good first issue&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is an open-source project…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/AmitGharge/stackweave" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>monorepo</category>
      <category>reactnative</category>
      <category>nextjs</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Binary Search</title>
      <dc:creator>unlimit</dc:creator>
      <pubDate>Tue, 30 May 2023 13:46:23 +0000</pubDate>
      <link>https://dev.to/amitgharge/binary-search-1fei</link>
      <guid>https://dev.to/amitgharge/binary-search-1fei</guid>
      <description>&lt;h2&gt;
  
  
  How to perform binary search on given sorted array to find a given value?
&lt;/h2&gt;

&lt;p&gt;Solution:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v4rprrpsjg1auusf9vy.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%2F9v4rprrpsjg1auusf9vy.png" alt=" " width="562" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>dsa</category>
    </item>
    <item>
      <title>Three Sum Problem</title>
      <dc:creator>unlimit</dc:creator>
      <pubDate>Mon, 29 May 2023 14:08:14 +0000</pubDate>
      <link>https://dev.to/amitgharge/three-sum-problem-1ni2</link>
      <guid>https://dev.to/amitgharge/three-sum-problem-1ni2</guid>
      <description>&lt;h2&gt;
  
  
  This is similar to that of the problem which I had posted earlier i.e two sum problem, please refer to the same understand about this problem.
&lt;/h2&gt;

&lt;p&gt;Solution :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj8chvbvkqnnnf373z7rb.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%2Fj8chvbvkqnnnf373z7rb.png" alt="ThreeSumProblem" width="623" height="772"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>dsa</category>
      <category>interview</category>
    </item>
    <item>
      <title>N Queens Problem</title>
      <dc:creator>unlimit</dc:creator>
      <pubDate>Sun, 28 May 2023 13:50:29 +0000</pubDate>
      <link>https://dev.to/amitgharge/n-queens-problem-4n82</link>
      <guid>https://dev.to/amitgharge/n-queens-problem-4n82</guid>
      <description>&lt;h2&gt;
  
  
  How can we place N chess queens on a N × N chessboard so that no two queens threaten each other?
&lt;/h2&gt;

&lt;p&gt;Solution: &lt;br&gt;
In the following backtracking is used to solve the problem.&lt;br&gt;
Backtracking is one of the important way of solving problem. But, for now lets focus on solving the problem wherein the N Queens should be placed on NxN chessboard such that no queens threatens no other queen, in how many ways we can do so?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0n19j26s1k6k7gvs71ak.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%2F0n19j26s1k6k7gvs71ak.png" alt="N Queens" width="677" height="723"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>dsa</category>
      <category>backtracking</category>
    </item>
    <item>
      <title>Solving two sum problem</title>
      <dc:creator>unlimit</dc:creator>
      <pubDate>Sat, 27 May 2023 09:08:12 +0000</pubDate>
      <link>https://dev.to/amitgharge/solving-two-sum-problem-c2h</link>
      <guid>https://dev.to/amitgharge/solving-two-sum-problem-c2h</guid>
      <description>&lt;h2&gt;
  
  
  How to find all the possible pairs from an array whose sum equals to the input given?
&lt;/h2&gt;

&lt;p&gt;Solution: The following is a solution whose time complexity is O(nlogn). Does anyone has more efficient way of solving the same problem?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwjpqp1vdzqh7fe88paz.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%2Fqwjpqp1vdzqh7fe88paz.png" alt="Two Sum Problem" width="638" height="701"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>dsa</category>
      <category>interview</category>
    </item>
    <item>
      <title>Using Recursion to remove unwanted values from Object</title>
      <dc:creator>unlimit</dc:creator>
      <pubDate>Thu, 25 May 2023 10:34:08 +0000</pubDate>
      <link>https://dev.to/amitgharge/using-recursion-to-remove-unwanted-values-from-object-442l</link>
      <guid>https://dev.to/amitgharge/using-recursion-to-remove-unwanted-values-from-object-442l</guid>
      <description>&lt;h2&gt;
  
  
  How to remove unwanted values from object using recursion?
&lt;/h2&gt;

&lt;p&gt;Solution:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4lroawuvucfbsw5za4q.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%2Fd4lroawuvucfbsw5za4q.png" alt="Recursion Code" width="580" height="916"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>dsa</category>
      <category>interview</category>
      <category>json</category>
    </item>
    <item>
      <title>Balanced Parenthesis</title>
      <dc:creator>unlimit</dc:creator>
      <pubDate>Thu, 25 May 2023 07:46:18 +0000</pubDate>
      <link>https://dev.to/amitgharge/balanced-parenthesis-3g74</link>
      <guid>https://dev.to/amitgharge/balanced-parenthesis-3g74</guid>
      <description>&lt;h2&gt;
  
  
  How can a generic program be implemented in JavaScript to find and return the number of unbalanced parentheses in a given string?
&lt;/h2&gt;

&lt;p&gt;input1: '()))'  output1: 2&lt;br&gt;
 input2: '(())'  output2: 0&lt;br&gt;
 input3: '))(('  output3: 4&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; &lt;br&gt;
The solution is:&lt;br&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%2Fojvnuzab0paz8cxmz2bh.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%2Fojvnuzab0paz8cxmz2bh.png" alt="Code for balanced parenthesis" width="800" height="712"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>interview</category>
      <category>dsa</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
