Skip to content

AI Business Support SaaS

Stripe payments layer and live payments dashboard

A production SaaS platform of AI chatbots that guide businesses on grants and funding. I owned the Stripe payments layer end-to-end and built a real-time payments dashboard.

SaaS · PaymentsSoftsora (Pvt) Ltd

AI Business Support

Owned the Stripe payments layer end-to-end and built a real-time payments dashboard.

  • Next.js
  • TypeScript
  • Express.js
  • Node.js
  • Stripe
  • Jest

The problem

Businesses looking for grants and funding need clear guidance, and the platform delivers it through multiple AI chatbots. To run as a SaaS, it needed reliable billing: one-time payments, subscriptions, plan changes with fair proration, and refunds. The team also needed to see what was happening with payments without digging through the Stripe dashboard.

My role

I worked as a full-stack engineer at Softsora across the Express.js backend and the Next.js frontend, and I owned the Stripe payments layer end-to-end.

Stack

  • Next.js
  • TypeScript
  • Express.js
  • Node.js
  • Stripe
  • Jest

Architecture

The Next.js frontend talks to an Express.js API that holds the payment and business logic. The API calls the AI chatbot workflows, creates and updates Stripe objects, and receives Stripe webhooks to keep payment records in sync.

AI Business Support system architectureBusinesses connects to Next.js app. Internal team connects to Next.js app. Next.js app connects to Express.js API. Express.js API connects to AI chatbots. Express.js API connects to Stripe. Express.js API connects to Database.USERSBusinessesChat + billingInternal teamDashboardFRONTENDNext.js appTypeScriptBACKENDExpress.js APIPayments + business logicSERVICESAI chatbotsLLM workflowsStripeBilling + webhooksDatabasePayment records
AI Business Support system architecture

Key technical decisions

  • Webhooks as the source of truth. Subscription and payment state is updated from Stripe webhook events rather than trusting the client.
  • Automated proration when customers change plans, so charges stay correct without manual work.
  • Refunds handled in the same payments layer, so one-time and subscription payments follow the same flow.
  • Jest unit and integration tests covering payment and API logic to reduce release regressions.
  • A real-time payments dashboard giving the team live visibility into transactions, subscriptions and refunds.

Result

The payments layer runs in production. Across the 10+ products I worked on at Softsora, the Stripe billing I implemented processed 200+ transactions.

Links

This project has no public link. I am happy to walk through it in an interview.