<?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: Uncalled Innovators</title>
    <description>The latest articles on DEV Community by Uncalled Innovators (@uncalled_innovators).</description>
    <link>https://dev.to/uncalled_innovators</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4048015%2F7b0f117a-cd6b-478f-95db-7c95a567fa18.webp</url>
      <title>DEV Community: Uncalled Innovators</title>
      <link>https://dev.to/uncalled_innovators</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/uncalled_innovators"/>
    <language>en</language>
    <item>
      <title>Why We Rebuilt InfraHub</title>
      <dc:creator>Uncalled Innovators</dc:creator>
      <pubDate>Sun, 26 Jul 2026 14:21:33 +0000</pubDate>
      <link>https://dev.to/uncalled_innovators/why-we-rebuilt-infrahub-1hih</link>
      <guid>https://dev.to/uncalled_innovators/why-we-rebuilt-infrahub-1hih</guid>
      <description>&lt;p&gt;Three months after &lt;a href="https://peerlist.io/gdr_7/project/infrahub" rel="noopener noreferrer"&gt;launching&lt;/a&gt; InfraHub, we made a difficult decision: to completely rewrite it from scratch. Today, we are launching a new version of InfraHub. Today, &lt;a href="https://www.uncalledinnovators.com/infrahub?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=infrahub_2_launch&amp;amp;utm_content=infrahub_product" rel="noopener noreferrer"&gt;InfraHub 2.0 is live&lt;/a&gt;. It is faster, more dependable, gives hosts a much better experience, and gives our team a foundation we can confidently build upon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why did we do this?
&lt;/h2&gt;

&lt;p&gt;We built InfraHub to make accessing industrial machines easier.&lt;/p&gt;

&lt;p&gt;The first version gave us an encouraging start. We finished sixth on Peerlist during launch week, and the response continued after the launch. Feedback from users and the experience of onboarding new vendors showed us where the product’s foundation was getting in the way.&lt;/p&gt;

&lt;p&gt;We were not happy with the original host dashboard, and our tightly coupled architecture made new ideas and experiments unnecessarily difficult to build. And, we came to a realisation we probably overbuilt some of the features.&lt;/p&gt;

&lt;p&gt;We are glad to say that we addressed the most important limitations of the original architecture. And the result was a faster, more dependable experience with a strong foundation for us to build upon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a complete rewrite?
&lt;/h2&gt;

&lt;p&gt;To be completely honest, the implementations we ended up on, particularly for our core InfraChat and notifications modules were not ideal and more complex than we ever estimated, and were held together by some third-party services. Some of the problems the first version had include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Our architecture did not provide a straightforward path to real-time communication, so InfraChat depended on additional services such as Redis and Pusher.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tightly coupled components made even small changes unnecessarily painful.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The lack of end-to-end type safety made development slower and more error-prone.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We had overbuilt parts of the product. Teams, for example, was deeply connected to other modules despite seeing limited use.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How we rebuilt it
&lt;/h2&gt;

&lt;p&gt;We took this as an opportunity to reconsider every decision from first principles, starting from our tech stack to page structure, data flow, search visibility and the overall experience.&lt;/p&gt;

&lt;p&gt;We chose &lt;a href="https://tanstack.com/start/latest" rel="noopener noreferrer"&gt;TanStack Start&lt;/a&gt; for the frontend and &lt;a href="https://www.convex.dev" rel="noopener noreferrer"&gt;Convex&lt;/a&gt; for the backend. We had already used TanStack Query extensively, and when TanStack Start entered RC, we knew we could seriously consider it. TanStack Start’s explicit approach to routing, data loading, and type safety felt like a natural fit. It gives us greater control over how the application behaves without introducing unnecessary magic.&lt;/p&gt;

&lt;p&gt;Convex gave us a simpler path to real-time features and end-to-end type safety. It made connecting the frontend to our backend faster, reduced our reliance on additional services, and substantially lowered the product’s operational complexity.&lt;/p&gt;

&lt;h2&gt;
  
  
  What users will notice today
&lt;/h2&gt;

&lt;p&gt;Users will notice improved &lt;a href="https://www.uncalledinnovators.com/machines/3d-printer?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=infrahub_2_launch&amp;amp;utm_content=3d_printer_directory" rel="noopener noreferrer"&gt;machine&lt;/a&gt; and &lt;a href="https://www.uncalledinnovators.com/machines/3d-printer/in/pune?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=infrahub_2_launch&amp;amp;utm_content=3d_printer_pune" rel="noopener noreferrer"&gt;location&lt;/a&gt; pages, better discoverability, and a more reliable real-time experience.&lt;/p&gt;

&lt;p&gt;For hosts, we completely redesigned the dashboard around a calendar-based slots interface. Creating availability and blocking individual slots is now much easier. Hosts managing multiple organizations can also switch between them more easily.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fss8ntbztct0vemn3t76v.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%2Fss8ntbztct0vemn3t76v.png" alt="InfraHub’s weekly slot management calendar showing available, requested, booked, and blocked time slots for industrial machines" width="799" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We also stopped forcing every host through the complexity of Teams. It is now enabled only where needed, and we will expand it in a focused future release when we can give it the experience it deserves.&lt;/p&gt;

&lt;h2&gt;
  
  
  A better foundation
&lt;/h2&gt;

&lt;p&gt;This new foundation makes developing and shipping features dramatically easier. Each major module now has clearer boundaries, better reusability, and fewer moving pieces. We also made search visibility a first-class consideration throughout the product.&lt;/p&gt;

&lt;p&gt;Existing accounts, organizations, machines, and listings have already been migrated, so users do not need to do anything.&lt;/p&gt;

&lt;p&gt;Explore the new &lt;a href="https://www.uncalledinnovators.com/infrahub?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=infrahub_2_launch&amp;amp;utm_content=infrahub_home" rel="noopener noreferrer"&gt;InfraHub&lt;/a&gt; and tell us if anything feels confusing. If you own machines and you would like to make them available through InfraHub, &lt;a href="https://www.uncalledinnovators.com/hosts/apply?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=infrahub_2_launch&amp;amp;utm_content=hosts_apply" rel="noopener noreferrer"&gt;apply&lt;/a&gt; to become a host or email us at &lt;a href="mailto:contact@uncalledinnovators.com"&gt;contact@uncalledinnovators.com&lt;/a&gt;. We usually respond within 24 hours.&lt;/p&gt;

&lt;p&gt;This is a new foundation, not a finish line. Keep an eye on our &lt;a href="https://www.uncalledinnovators.com/changelog?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=infrahub_2_launch&amp;amp;utm_content=changelog" rel="noopener noreferrer"&gt;changelog&lt;/a&gt; for what comes next.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>architecture</category>
      <category>buildinpublic</category>
    </item>
  </channel>
</rss>
