Techsource

Contract Management SaaS

Enterprise Data & Analytics

Success stories

Techsource Replaces Spend Reports and Renewal Calendars with One Governed Portal

Techsource manages vendor relationships and software contracts for multiple departments. Contracts were recorded and transactions were logged, so the data existed. What was missing was a single interface that connected that data to the people responsible for acting on it.

In contract management, timing is money. A missed renewal window is not a formatting problem. It is spend the business did not plan for, because nobody caught the date in time.

‍

The Challenge

Every basic question needed a person in the middle:

  • Spend: finance built spend reports by hand.
  • Renewals: operations kept a separate renewal calendar.
  • Ownership and cost: knowing what Techsource owned, what it cost, and what was expiring meant asking someone.
Before: a person in the middle of every question. After: one governed portal.

‍

Why It Mattered

  • No self-serve spend. Department leads could not check their own spend without asking someone else.
  • Renewals depended on memory. Deadlines lived on a calendar someone had to remember to check.
  • Requests stalled. Requesting a new contract or flagging a cancellation meant an email that could sit for days.
  • No real access control. Sensitive spend data was either locked away entirely or visible to everyone.

‍

What We Built

Orbit by Datum Labs built the portal as a fixed-scope engagement on top of Techsource's existing PostgreSQL infrastructure. No migration, and no rebuild of what already worked.

  • Multi-tenant data layer: built on PostgreSQL with Drizzle ORM, with multi-tenancy structural from the first line of the schema rather than a filter added later.
  • Organization dashboard: active contracts, spend, and upcoming renewals in front of the people who need them, with no export required.
  • Spend and department views: finance opens a spend view instead of requesting one, and department leads see their own vendor activity directly.
  • Renewals workspace: tracks term dates against real contract data, with reminders that fire automatically when a deadline is close.
  • In-portal workflows: requesting a contract, flagging a cancellation, or starting a renewal runs through a structured workflow inside the portal.
  • Role-based access: multi-role access with Google and Microsoft sign-in, so sensitive spend data is visible to the right people only.

‍

How It Works

1. One governed data layer

PostgreSQL (Neon, serverless, with a branch per environment) holds 19 tables, including contracts, vendors, users, attachments, and an audit log. More than ten generated columns compute contract status, expiry windows, and renewal flags directly in the database, and every insert and update is tracked in the audit log. Drizzle ORM provides a typed schema, migrations, and type-safe queries used by both the web app and the API.

2. The portal

The web app runs on React Router 7 with React 19, server-side rendered routes, and TypeScript. It includes around 30 routes, 45+ UI components, multi-step contract forms, and 16 mutation modules, with a typed loader and action data flow. Users sign in through OAuth with Google or Microsoft, and no local passwords are stored.

3. Automated renewal reminders

A Hono API runs as a scheduled cron service on its own Cloud Run service. It queries expiring contracts, sends templated reminder emails to contract owners through AWS SES, and logs every send in PostgreSQL.

Reminders fire against real contract dates, automatically.

‍

4. Integrations

  • Google Cloud Storage: contract attachments, uploaded directly from the browser through signed URLs.
  • AWS SES: reminder and invite emails from a shared, templated email package.
  • Zapier and Integry: webhooks, vendor sync, and customer-configurable automation flows.

5. Platform and operations

The codebase is a Turborepo monorepo with web and API apps and shared packages for the database, email, environment config, and UI. GitHub Actions runs CI on every push, builds Docker images, and deploys to Google Cloud Run staging and production, with web and API as separate services. Environment variables are validated through a shared typed package, with secrets managed in Cloud Run.

Portal Insights view with spend, departments, and vendor changes (sample data).

‍

Tech Stack

Techsource platform architecture.

‍

LayerTechnologyRole
DatabasePostgreSQL (Neon)19 tables, generated columns, audit log, branch per environment
Data accessDrizzle ORMTyped schema, migrations, type-safe queries
Web appReact Router 7, React 19, TypeScriptPortal UI, contract forms, dashboards
APIHonoScheduled reminders and renewal notifications
AuthOAuth (Google, Microsoft)Sign-in with multi-role access
IntegrationsGoogle Cloud Storage, AWS SES, Zapier, IntegryAttachments, emails, webhooks, vendor sync
PlatformTurborepo, GitHub Actions, Google Cloud RunMonorepo, CI/CD, staging and production

Before and After

AreaBeforeAfter
Spend reportingBuilt by hand by financeSpend view opened on demand
Department visibilityAsk someone elseLeads see their own vendor activity
RenewalsCalendar someone had to checkAutomatic reminders against real dates
Requests and cancellationsEmails that sat for daysStructured workflows in the portal
Access to spend dataAll locked or all visibleRole-based access
Data consistencyScattered records13 entity types answer the same question consistently

Results

  • Self-serve spend: finance opens a spend view instead of requesting one.
  • Direct department visibility: department leads see their own vendor activity without going through anyone else.
  • Reliable renewals: reminders fire against real dates, automatically, every time.
  • Faster requests: contract requests, cancellations, and renewals run through workflows inside the portal.
  • One consistent answer: thirteen entity types, including contracts, vendors, departments, and transactions, now answer the same question consistently.
  • One governed portal: instead of a shared spreadsheet and a renewal calendar nobody fully trusted.

Your data has been ready for months. If your users are still waiting on exports and emails, the missing piece is the layer between the data and the people who need it.

Featured Insights

November 12, 2026
Datum Labs
Techsource manages vendor contracts for many departments. Orbit by Datum Labs built one governed portal for spend, renewals, and requests on existing PostgreSQL.

Techsource