All projects
Full Stack case study

KOLVerse

A creator-intelligence platform combining TikTok discovery, authenticated analytics, team workspaces, subscriptions, and usage controls.

KOLVerse public website on desktop
Public production website captured from kolverse.ai.

Project introduction

KOLVerse is a creator-intelligence platform for exploring TikTok creators, audiences, content, campaigns, and performance. It combines public discovery with authenticated workspaces, saved research, subscription controls, and analytics dashboards.

What I worked on

  • Built and integrated product flows across the Next.js website and NestJS API
  • Supported workspace, team, subscription, usage-limit, payment, and analytics interactions
  • Integrated PostgreSQL, Redis/BullMQ, Neo4j, OpenSearch, object storage, and external TikTok data providers
  • Maintained AWS infrastructure and repeatable Docker/Jenkins delivery across website, API, and admin applications

Architecture

Next.js handles localized public and authenticated product surfaces. NestJS feature modules own authentication, workspaces, teams, subscriptions, payments, dashboards, TikTok data, search, storage, and notifications. PostgreSQL and Prisma hold transactional data; Redis and BullMQ support cache and background work; Neo4j models connected creator data; and OpenSearch supports search-backed flows.

Outcome

The platform connects creator discovery, deeper analytics, saved work, account management, and paid access in one workflow.

Core feature walkthrough

How the main product workflows operate

Core feature 01 · Subscription finance

Payment activates access only after a verified gateway event

Checkout is treated as a state machine. The browser starts payment and can display the result, but it is not trusted to activate a subscription. ChillPay's server-to-server webhook is the authoritative transition into provisioning.

Checkout → paid subscription

NestJS · ChillPay PayLink · BullMQ · Prisma transaction

Select a node for implementation detail
Browser return is not proof of payment

Subscription provisioning starts from the verified webhook state, not a success query string in the browser.

Provisioning is idempotent

The checkout row is locked and an existing subscription link is returned, preventing duplicate workspace, invoice and subscription creation.

Entitlements are snapshotted

Feature limits are copied from the purchased plan into the subscription so later plan edits do not silently rewrite an active contract.

Delivery and platform ownership

From commit to production

Repository + Jenkins verified

KOLVerse uses separate multibranch pipelines for the website, API, and admin application. Infrastructure is modeled with Terraform, while deployments produce traceable Docker images and verify service health after rollout.

01

GitLab branch

Multibranch discovery for development, staging, and production.

02

Validate

Frozen install, lint, formatting, API tests/build, and SonarQube analysis.

03

Build image

Date + commit SHA tags provide traceable Docker releases.

04

Push registry

Environment-specific images are published to GitLab Container Registry.

05

Deploy EC2

Jenkins updates Docker Compose remotely over credential-managed SSH.

06

Verify release

Host and public health checks run before Telegram notification.

Jenkins dashboard showing separate KOLVerse pipelines
Separate multibranch pipelines for the three application surfaces.
Jenkins KOLVerse website branches
Branch-aware release paths keep staging and production explicit.
Infrastructure as code

Terraform-managed AWS foundations

Network boundaries

VPC, public/private subnets, internet and NAT routing.

Secure ingress

Route 53, ACM certificates, ALB listeners, host routing, and target health.

Application compute

Separate website, API, and admin workloads across production and staging.

Storage & identity

S3 assets, IAM instance profiles, encrypted volumes, and scoped permissions.

Access control

Security groups and managed SSH access protect operational entry points.

Repeatable changes

Terraform fmt, validate, reviewed plan, controlled apply, and post-apply verification.

Source-backed topology · sanitized values

KOLVerse AWS Architecture

Example account 123456789012 · us-east-1

This view preserves the source-backed topology while replacing CIDRs, hostnames, ports, instance sizes, region and account identifiers with documentation examples. The illustrated VPC is 10.20.0.0/16 with separate Website, Admin and API target groups behind one TLS-enabled ALB.

Mini Map
AWS icons · aws-react-iconsRuntime icons · tech-stack-iconsSolid arrows · traffic/dataDashed arrows · operations