DrishtiConsulting
Focused Vision. Precise Execution.
Project Handoff Guide
PC-KOL-001-26 • Kolamba Platform

Kolamba — Project Handoff Guide

Everything you need to own and operate the Kolamba platform — February 2026

Project
Kolamba Platform
Document
PC-KOL-001-26
Date
February 10, 2026
Prepared By
Drishti Consulting

Architecture Overview

Frontend (Vercel)
Next.js + TypeScript + Tailwind CSS
Backend API (Railway)
FastAPI + SQLAlchemy (Python)
Database (Railway)
PostgreSQL 15 (managed)
Automatic backups by Railway
Media Storage (Cloudinary)
Image uploads & hosting
Source Code (GitHub)
Git repository + CI/CD
Authentication (Google)
Google OAuth Sign-In

What Gets Transferred

Service Transfer Method What You Get Monthly Cost
GitHub Repository Repository transfer Full source code, commit history, CI/CD workflows Free
Vercel Project Project transfer Frontend hosting, auto-deploy on git push, environment variables Free (Hobby) / $20 (Pro)
Railway Project Project transfer Backend API server, PostgreSQL database with all data ~$5–15 (usage-based)
Cloudinary Account Credential handover Image/media hosting, all uploaded files Free (25GB) / $89 (Plus)
Google Cloud Project Owner role transfer OAuth login credentials for Google Sign-In Free
Domain Registrar transfer kolamba.com / kolamba.org domain ownership ~$12/year

Transfer Steps

Phase 1: Account Setup (Client)

Create accounts on these platforms before the transfer call. All have free tiers.

1
Create a GitHub account
Go to github.com/signup — the repository will be transferred to this account. If you already have one, share your username.
2
Create a Vercel account
Go to vercel.com/signup — sign up with your GitHub account for seamless integration. The Hobby plan (free) is sufficient to start.
3
Create a Railway account
Go to railway.app — sign up with your GitHub account. Add a payment method (required for production hosting, usage-based billing ~$5–15/month).

Phase 2: Transfer (Done Together)

4
Transfer the GitHub repository
Drishti will initiate the transfer from github.com/luvchikavi/kolamba → your account. You will receive an email to accept the transfer. All code, branches, and history are preserved.
5
Transfer the Vercel project
Drishti will transfer the Vercel project to your account. After accepting: reconnect the GitHub repository (now under your account) in Vercel project settings, and verify the environment variables are set (see Environment Variables section below).
6
Transfer the Railway project
Drishti will transfer the Railway project (backend + database) to your account. The database and all its data transfer with the project. Verify environment variables after accepting.
7
Transfer Cloudinary & Google OAuth
Drishti will hand over Cloudinary account credentials (or help you create a new account). For Google OAuth, Drishti will add you as Owner on the Google Cloud project, then remove themselves.
8
Transfer domain (if applicable)
Domain transfer via the registrar. DNS records will need to point to your Vercel and Railway deployments. Drishti will assist with DNS configuration during handoff.

Phase 3: Security (Client)

9
Rotate all secrets
After transfer, generate new values for SECRET_KEY and any API keys you wish to rotate. Update them in Railway and Vercel environment variables. This ensures only you have access.

Environment Variables Reference

Railway Backend (already configured — verify after transfer)

# Database (auto-managed by Railway)
DATABASE_URL=postgresql+asyncpg://...

# Security — generate a new random 64-char string after transfer
SECRET_KEY=<generate-new-secret>
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=15
REFRESH_TOKEN_EXPIRE_DAYS=7

# CORS — update with your domain
CORS_ORIGINS=https://kolamba.vercel.app

# Cloudinary (media uploads)
CLOUDINARY_CLOUD_NAME=<from-cloudinary-dashboard>
CLOUDINARY_API_KEY=<from-cloudinary-dashboard>
CLOUDINARY_API_SECRET=<from-cloudinary-dashboard>

# Google OAuth
GOOGLE_CLIENT_ID=<from-google-cloud-console>
GOOGLE_CLIENT_SECRET=<from-google-cloud-console>

# Email (optional — needed for sending emails)
RESEND_API_KEY=<from-resend.com-if-needed>

Vercel Frontend (already configured — verify after transfer)

NEXT_PUBLIC_API_URL=https://kolamba-api-production.up.railway.app
NEXT_PUBLIC_GOOGLE_CLIENT_ID=<same-google-client-id-as-backend>

Key URLs

What URL Notes
Live Website kolamba.vercel.app Frontend — auto-deploys when you push to GitHub
Backend API kolamba-api-production.up.railway.app/api REST API — auto-deploys from GitHub
API Documentation .../api/docs Interactive Swagger docs for all endpoints
Health Check .../api/health Returns {"status":"healthy"} when backend is running
GitHub Repo github.com/luvchikavi/kolamba Will change to your username after transfer
Railway Dashboard railway.app/dashboard Backend server + database management
Vercel Dashboard vercel.com/dashboard Frontend deployment management
Cloudinary Dashboard console.cloudinary.com View and manage uploaded images

How Deployments Work

Automatic Deployment (Zero Effort)

Both the frontend and backend deploy automatically when code is pushed to the main branch on GitHub. You don't need to run any commands — just push your code.

  • Frontend: Vercel detects the push, builds Next.js, and deploys in ~60 seconds.
  • Backend: Railway detects the push, builds the Docker container, runs database migrations, and deploys in ~2 minutes.

Database Migrations

Database schema changes are handled by Alembic (Python migration tool). Migrations run automatically on each Railway deployment via start.sh. No manual database management is needed.

Post-Transfer Verification Checklist

  • GitHub repo is accessible under your account
  • You can clone and push to the repository
  • Vercel project shows in your dashboard
  • Vercel is connected to the GitHub repo and auto-deploys
  • Frontend loads at kolamba.vercel.app
  • Railway project shows in your dashboard
  • Backend health check returns healthy
  • Login and registration work on the website
  • Google OAuth login works
  • Image upload works (Cloudinary)
  • Database has all existing data (check admin dashboard)
  • New SECRET_KEY has been generated and set

Common Operations

Task How To
View server logs Railway dashboard → kolamba project → Backend service → Logs tab
View deployment history Vercel dashboard → kolamba → Deployments tab
Access database Railway dashboard → PostgreSQL service → Data tab (or use connection string with pgAdmin)
Update environment variables Railway: Service → Variables tab. Vercel: Project → Settings → Environment Variables
Rollback a deployment Vercel: Deployments → click previous deployment → Promote to Production
Add a custom domain Vercel: Settings → Domains → Add → follow DNS instructions
Approve pending artists Login as admin → Admin Dashboard → Artists → change status to "active"

Proposal vs. Actual — Delivery Summary

Reference: Proposal PP-KOL-002-26 v2.0 — 40 hours over 4 weeks, 7 MVP phases + post-MVP roadmap.

Phase Completion Overview

Phase Planned (h) Status Notes
Phase 1: Foundation & Design 6h ✓ Complete Git repo, CI/CD, DB schema, Alembic migrations, wireframes
Phase 2: Homepage & Search 8h ✓ Complete Hero section, search endpoint with filters, category navigation
Phase 3: Artist Profiles 6h ✓ Complete Artist CRUD, listing grid, full detail page
Phase 4: Community & Booking 6h ✓ Complete Community CRUD with geolocation, booking flow with status tracking
Phase 5: Tour Logic 8h ✓ Complete Haversine clustering, multi-factor scoring, community size weighting. No map view.
Phase 6: Auth & Dashboard 4h ✓ Complete JWT auth with refresh tokens, role-based dashboards (artist, community, admin, agent)
Phase 7: QA & Deployment 2h ✓ Complete Deployed to Vercel + Railway production
Phase 9: Smart Tour Algorithm 4h ✓ Complete Post-MVP. Multi-factor scoring: bookings 25%, audience 25%, budget 20%, route 15%, dates 15%

Detailed Feature Checklist

Feature (from Proposal) Status Actual Delivery
Homepage & Search
Hero section with Kolamba vision ✓ Done Dark gradient hero, bilingual tagline, kolamba.org logo
Featured artists display ✓ Done Featured artists carousel on homepage
Category navigation ✓ Done Category chips, /categories/[slug] pages
Search with filters ✓ Done Full search page with category, price, and language filters
Responsive on mobile ✓ Done Tailwind responsive breakpoints throughout
Artist Features
Artist listing grid ✓ Done /artists page with filterable card grid
Artist detail profile page ✓ Done /artists/[id] with full bio, categories, pricing, booking CTA
Artist registration ✓ Done /register/artist with comprehensive form, backend approval flow
Artist profile editing ✓ Done Artist dashboard → Settings (name, bio, pricing, categories, contacts)
Artist approval workflow ✓ Done Status: pending → active/rejected. Admin panel for approval.
Community Features
Community registration ✓ Done /register/community with location, audience size, event types
Community profile (location, audience) ✓ Done Full profile with geolocation, size, event types, settings page
Community dashboard ✓ Done Events, quotes, messages, settings, nearby touring artists
Discover artists from dashboard ✓ Done Interest-based matching, price/distance/category filters, inline cards (added Feb 2026)
Booking
Booking request submission ✓ Done Booking form on artist profile page, full CRUD API
Booking status tracking ✓ Done Status workflow: pending → approved/rejected/cancelled
Email notifications for bookings ● Partial Resend SDK configured, sending logic not active
Tour Logic
Proximity-based tour suggestions ✓ Done Haversine distance + BFS clustering algorithm
Community size in ranking ✓ Done 25% weight in multi-factor tour scoring (Phase 9)
Valid tour route generation ✓ Done Nearest-neighbor routing with tour date management
Authentication & Dashboards
JWT login / register ✓ Done JWT with access + refresh tokens, secure cookie flow
Google OAuth sign-in ● Partial Backend endpoint complete, frontend button not wired
Role-based dashboards ✓ Done 4 dashboards: Artist, Community, Admin, Agent
Admin panel ✓ Done Artist approval, user management
Technical Requirements
Site loads in < 3 seconds ✓ Done Next.js SSR, Vercel edge network
Cross-browser (Chrome, Safari, Firefox) ✓ Done Standard React/Tailwind — works in all modern browsers
SSL certificate ✓ Done Auto-provisioned by Vercel and Railway
Production deployment ✓ Done Vercel (frontend) + Railway (backend + DB), auto-deploy on push

Delivered Beyond Original Scope

Bonus Feature Description
Refresh token mechanism Secure token refresh for persistent login sessions
Agent dashboard Fourth role type (agent) with dedicated dashboard
Messaging system In-app messaging for artists and communities
Smart tour algorithm (Phase 9) Multi-factor scoring: bookings, audience, budget, route efficiency, date clustering
Discover artists (dashboard) Interest-based artist matching with filters on community dashboard
Docker production configs Full containerization for backend deployment
Comprehensive documentation Architecture docs, API docs (Swagger), brand guidelines, this handoff guide
Address autocomplete Geocoding component for community registration
Full design transformation Complete UI redesign from the original kolamba.org — modern dark-gradient hero, bilingual layout, responsive card grids, branded dashboard experience
Artist tour management Dedicated tour management section in artist dashboard — create, edit, and track tour dates with location and scheduling
Quote request system Communities can request and manage quotes from artists, with full workflow tracking on the community dashboard

Summary

30
Features Delivered
2
Partially Done
11
Bonus Features

What “Partial” Means

  • Email notifications: Resend SDK installed and configured, but no active send triggers. Ready to activate.
  • Google OAuth: Backend endpoint fully implemented, frontend sign-in button needs wiring.

Support & Contact

Post-Handoff Support

Drishti Consulting provides 30 days of post-handoff support at no additional charge. This includes assistance with the transfer process, troubleshooting, and answering questions about the platform architecture. For ongoing maintenance or new feature development, please contact us to discuss a support arrangement.