The Tech Stack that Works for My (AI) Startups

Harry Wang
3 min readFeb 26, 2024

--

Last updated in Feb. 2024

In this post, I list the tech stack and related services that support our products at Takin.ai and the things we tried but did not work.

Frontend

  • Next.js/TypeScript hosted on Vercel:
    - Pages Router (Old) vs. App Router (New): we used Pages router for one project and App Router for another project. It does not matter that much for the features I use so far — pick the one that your existing developers are most comfortable with and use a small project to push the team to learn the new features related to App Router
    - tRPC: tried but did not use given my team is not familiar with this and I am not sure about the additional benefits
  • TailwindCSS for CSS
  • Hero Icons: SVG icons
  • PlayWright for front-end testing

Note that we use Nextjs monorepo to include projects on API, Blog, Admin, Gallery, etc.

Backend

  • MongoDB Atlas for serverless database
  • Qdrant: we used Qdrant to develop ChatPDF like features but switched to Weaviate for serverless — Qdrant has no serverless option and cannot be easily scaled down.
  • Weaviate: our current vector database (Serverless Cloud Service)
  • Redis and Vercel KV: Redis database for storing chat conversation and Dify integration
  • ElasticSearch for searching functions
  • AWS S3 for cloud object storage
  • FastAPI for Python backend
  • AWS Fargate for hosting FastAPI backend in serverless
  • Replicate: used as the backend models for most of text-to-image generation tools.
  • OpenAI API for AI functions (both GPT 3.5 and 4)
  • LangChain for jumpstarting some PoC projects but not used for many products due to the extra unnecessary complexity for our scenarios.
  • Huggingface for data and model storage and some LLM integration such chatting using Llama 2
  • AWS GPU: we started with AWS GPU G4 instances — way too expensive — bought some reserved instances to help but ended up using Runpod for cheaper price and easier setup.
  • Runpod for Stable Diffusion backend hosting (great Stable Diffusion WebUI docker templates to choose from). We are in the process to switch to Runpod serverless.
  • A1111 Stable Diffusion WebUI: our SD backend running in the API mode.

Code

Github for everything: code management and collaboration, issues, CI/CD

Data Collection

  • Scrapy for Python Scraper. See my tutorial: [A Minimalist End-to-End Scrapy Tutorial](https://harrywang.me/scrapy
  • Zyte for hosting Scrapy spiders and avoiding banning.

Analytics

Payment

Stripe for everything related to payment

Dev Tools

CMS

Headless Wordpress hosted on SiteGround — see my other related post on Headless Wordpress + Next.js + ElasticSearch for more details.

Domain Names

I register all my domains mainly from the following websites — NameCheap is cheaper with additional features. The DNS servers are then changed to SiteGround to use company email service and CMS.

Email

Misc Tools

  • Ngrok for running WebUI server behind firewall
  • Loom for screen recording and sharing

Hope this can provide some useful information for you.

PS. The featured image for this post is generated using HiddenArt.ai.

Originally published at https://harrywang.me on February 26, 2024.

--

--

No responses yet