1
1 Comment

Tech Stack for a Data Visualizing Startup That Generates Interactive Charts Using AI

Just launched DataVisualizer.ai, a AI startup that enables users to generate interactive charts based on their data (stop wasting hours in Excel). Initially, I was keen to try a new tech stack with Svelte as the main framework. However, I decided against it for three main reasons:

  1. Scalability Concerns: I doubted that Svelte’s data layers could scale effectively. They tend to turn into spaghetti code after a few months, whereas I prefer the data layer to exist outside of React components.
  2. Library Availability: The ReCharts library is built on React.
  3. Stability Issues: Svelte was in the middle of launching v5 and felt relatively unstable.

I also avoided Cloudflare D1 due to unstable integration with NextJS/Prisma/T3/TypeScript, which required too much hacky code. Zustand was another option I explored, but I disliked having multiple stores and the necessity to use functions for every interaction with the store instead of simple Redux dispatch with a type and payload.

Tech Stack

This is the stack I ended up with:

  • Framework & Boilerplate: T3 frontend to backend type safety is awesome
  • State Management: Redux for essential data layer interactions with the backend through a bespoke client, createTRPCClient, largely avoiding tRPC data hooks to interact with the backend.
  • Charting Library: ReCharts, one of the best chart libraries due to its incredibly easy data handling.
  • UI Components: ShadCN
  • ORM: Prisma
  • Performance Optimization: Partytown for lazy-loading Google Analytics.

Hosting

  • Serverless Endpoints, CDN, and Server Components: Vercel for the chart overview and individual charts.
  • Database: Railway for PostgreSQL.
  • Static File Hosting and DNS: Cloudflare for large static files such as videos and DNS.

Payment

Since the launch a few days ago, I haven’t yet spent time optimizing the stack, such as lazy-loading ReCharts or other heavy components.

on September 19, 2024
  1. 1

    I truly value your insights! They remind me of the importance of having intuitive debugging capabilities in my development process. That’s why I’ve turned to EchoAPI, which has made a noticeable difference.