Software Alternatives, Accelerators & Startups

My chatbot builder is over-engineered, and I love it

Vercel Trigger.dev Tailwind CSS React Railway Next.js Convex.dev Cohere Clerk Authentication Bun.sh
  1. 1
    Vercel is the platform for frontend developers, providing the speed and reliability innovators need to create at the moment of inspiration.
    I have three separate frontend applications. This separation was intentional to maintain a clear division between the chatbot builder (dashboard), the chatbot itself (the chat widget embedded on your website), and the marketing website. This separation makes it easier to maintain and scale the applications independently and push updates without affecting other parts of the system. For me, this setup works because it's the same one I use at work, so I feel very comfortable with this architecture. Again, this might not be your case, and thatโ€™s perfectly fine. I wonโ€™t go into too much detail about the marketing website, as it's not the focus of this post, but itโ€™s a Next.js app hosted on Vercel.

    #Developer Tools #Web Development Tools #App Deployment 613 social mentions

  2. Trigger workflows from APIs, on a schedule, or on demand. API calls are easy with authentication handled for you. Add durable delays that survive server restarts.
    Why did I choose Convex over Firebase, Supabase, or even a self-hosted solution? I initially started Fastmind using the T3 stack, but found it to be too much work to handle some of the real-time features I needed. I also required a lot of background jobs, for which I tried solutions like Bull, and services like Inngest and Trigger.dev. While these are great services, I wanted everything in one place, so I decided to give Convex a try, and Iโ€™m very happy with the results.

    #Business Tools #Support, Sales, And Marketing #Web Service Automation 16 social mentions

  3. A utility-first CSS framework for rapidly building custom user interfaces.
    Pricing:
    • Open Source
    For the main app (chatbot builder), I used Next.js paired with Shadcn for UI components and Tailwind CSS for styling. Since I use Convex for the DB layer, I used their React library to connect to the DB to perform queries and mutations with real-time features and to call serverless functions with what they call "actions." I'll delve deeper into Convex and all of its amazing features in another post if you're interested. For authentication, I used Clerk to avoid dealing with user management and building all the different auth flows, allowing me to focus on product development. This is one of my favorite tools out thereโ€”you have to check them out if you're a React developer. This app is hosted on Vercel, which is a great platform for hosting Next.js apps.

    #Developer Tools #Design Tools #Website Design 1024 social mentions

  4. 4
    A JavaScript library for building user interfaces
    Pricing:
    • Open Source
    So what is the best tool for this job? Well, you guessed it! Always choose what you know. In my case, I've been working with the JavaScript ecosystem for a while, so I decided to stick with React for the frontend and Hono for the backend. I also used Convex heavily for the database, cron jobs, real-time capabilities, and more, all bundled together in a Turborepo. I'll go into more detail about each part of the architecture in the following sections.

    #Javascript UI Libraries #JS Library #JavaScript Framework 816 social mentions

  5. Made for any language, for projects big and small.
    Pricing:
    • Open Source
    The backend consists of a long-running Hono server that handles most of the chat widget requests, as explained above. Itโ€™s a Bun application that connects to Convex to read and write data to the database. Itโ€™s hosted on Railway, a platform that allows you to deploy and scale your applications without worrying about infrastructure. This server could be replaced with Convex and use their serverless functions or even HTTP solution, but I prefer to have a long-running API server for the chat widget to prevent DDoS attacks on my serverless functions. To achieve this, I have a local Redis instance available for the server to rate-limit requests by IP. Then I have another rate-limit layer directly on the DB (Convex) to block multiple requests for an account. Believe it or not, this helps me sleep at night.

    #Software Engineering #Developer Tools #Tech 238 social mentions

  6. A small framework for server-rendered universal JavaScript apps
    Pricing:
    • Open Source
    I have three separate frontend applications. This separation was intentional to maintain a clear division between the chatbot builder (dashboard), the chatbot itself (the chat widget embedded on your website), and the marketing website. This separation makes it easier to maintain and scale the applications independently and push updates without affecting other parts of the system. For me, this setup works because it's the same one I use at work, so I feel very comfortable with this architecture. Again, this might not be your case, and thatโ€™s perfectly fine. I wonโ€™t go into too much detail about the marketing website, as it's not the focus of this post, but itโ€™s a Next.js app hosted on Vercel.

    #Developer Tools #Web Frameworks #JavaScript Framework 1094 social mentions

  7. Global state management for react
    So what is the best tool for this job? Well, you guessed it! Always choose what you know. In my case, I've been working with the JavaScript ecosystem for a while, so I decided to stick with React for the frontend and Hono for the backend. I also used Convex heavily for the database, cron jobs, real-time capabilities, and more, all bundled together in a Turborepo. I'll go into more detail about each part of the architecture in the following sections.

    #React Tools #Cloud Data #Developer Tools 14 social mentions

  8. 8
    Cohere provides industry-leading large language models (LLMs) and RAG capabilities tailored to meet the needs of enterprise use cases that solve real-world problems.
    As mentioned above, I use Vercel for the frontend apps, Cloudflare Workers for the chat widget, and Railway for the backend. I also use Sentry for error tracking, Lemonsqueezy for billing as my Merchant of Record so I don't have to worry about taxes, Clerk for authentication, and Convex for the database, cron jobs, and real-time features. The AI models are Command R and Command R+ from Cohere.

    #LLM #RAG #AI 6 social mentions

  9. Clerk is a complete suite of embeddable UIs, flexible APIs, and admin dashboards to authenticate and manage your users.
    Pricing:
    • Open Source
    For the main app (chatbot builder), I used Next.js paired with Shadcn for UI components and Tailwind CSS for styling. Since I use Convex for the DB layer, I used their React library to connect to the DB to perform queries and mutations with real-time features and to call serverless functions with what they call "actions." I'll delve deeper into Convex and all of its amazing features in another post if you're interested. For authentication, I used Clerk to avoid dealing with user management and building all the different auth flows, allowing me to focus on product development. This is one of my favorite tools out thereโ€”you have to check them out if you're a React developer. This app is hosted on Vercel, which is a great platform for hosting Next.js apps.

    #Identity Provider #SSO #Authentication 41 social mentions

  10. 10
    Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.
    Pricing:
    • Open Source
    The backend consists of a long-running Hono server that handles most of the chat widget requests, as explained above. Itโ€™s a Bun application that connects to Convex to read and write data to the database. Itโ€™s hosted on Railway, a platform that allows you to deploy and scale your applications without worrying about infrastructure. This server could be replaced with Convex and use their serverless functions or even HTTP solution, but I prefer to have a long-running API server for the chat widget to prevent DDoS attacks on my serverless functions. To achieve this, I have a local Redis instance available for the server to rate-limit requests by IP. Then I have another rate-limit layer directly on the DB (Convex) to block multiple requests for an account. Believe it or not, this helps me sleep at night.

    #JavaScript Runtime #JavaScript #JavaScript Tools 208 social mentions

Discuss: My chatbot builder is over-engineered, and I love it

Log in or Post with