WeBuildCrew
B2B SaaS · API

ConneX — Public API Platform & Integration Hub

A fully documented REST API platform with authentication, rate limiting, webhook delivery and a developer portal — built so partners could integrate in hours, not weeks.

Timeline
5 weeks
Role
API design & full-stack development
Team
Lead engineer
Year
2025
Node.jsTypeScriptPostgreSQLRedisPrismaOpenAPI
ConneX — Public API Platform & Integration Hub
ConneX

12

Partners integrated

< 50ms

Median latency

99.9%

Uptime

OpenAPI

Full docs

Client goals

  • Give third-party partners a stable, documented API
  • Rate limit and authenticate per API key
  • Deliver webhooks reliably with retries

Project overview

ConneX needed to open its platform to third-party partners. A public API with poor docs, no rate limiting and unreliable webhooks would create a support nightmare — so we built it properly from the start.

The client problem

Our solution

A versioned REST API with API key authentication, per-key rate limiting, OpenAPI documentation and a webhook delivery system with exponential backoff retries and a dead-letter queue.

What we built

Features

🔑

API key auth

Per-client keys with scopes and revocation.

🚦

Rate limiting

Per-key limits with Redis sliding window.

📖

OpenAPI docs

Auto-generated, interactive documentation.

🔔

Webhooks

Reliable delivery with retries and logs.

📊

Usage dashboard

Per-key request counts and error rates.

🔁

Versioning

v1/v2 routing with deprecation headers.

🛡️

Security

HMAC signatures, TLS, input validation.

Under the hood

Technical code

lib/auth-guard.ts
TypeScript
import { auth } from "@/lib/auth"; export async function requireMember(orgId: string) {  const session = await auth();  if (!session) throw new Response("Unauthorized", { status: 401 });   const member = await db.membership.findUnique({    where: { userId_orgId: { userId: session.user.id, orgId } },  });  if (!member) throw new Response("Forbidden", { status: 403 });  return { user: session.user, role: member.role };}
app/api/projects/route.ts
TypeScript
import { db } from "@/lib/db"; export async function GET() {  const items = await db.project.findMany({    where: { status: "active" },    select: { id: true, name: true, updatedAt: true },    orderBy: { updatedAt: "desc" },    take: 50,  });  return Response.json(items);}

Integrations

APIs & services

Redis

Rate limiting and webhook queue.

OpenAPI / Swagger

Auto-generated interactive API docs.

Resend

Webhook failure and key expiry alerts.

Process

Development workflow

  1. 1

    Discovery

    Goals, users and success metrics defined on a free call.

  2. 2

    Planning

    Fixed scope, milestone plan and timeline in writing.

  3. 3

    UI/UX design

    Wireframes and a clean, modern design system.

  4. 4

    Backend setup

    Database schema, auth and core services.

  5. 5

    API development

    Typed, documented endpoints and integrations.

  6. 6

    Frontend

    Responsive, accessible UI wired to the API.

  7. 7

    Testing

    QA across devices plus performance & security checks.

  8. 8

    Deployment

    CI/CD, monitoring and a smooth production launch.

  9. 9

    Support

    Ongoing maintenance, updates and new features.

Speed & SEO

Performance & SEO

Performance

  • Server-side & static rendering for instant first paint
  • Image optimisation and lazy loading
  • Code-splitting and route-level prefetching
  • Edge/CDN caching with smart revalidation
  • Green Core Web Vitals (LCP, CLS, INP)
  • Database indexing and query tuning

SEO

  • Per-page metadata, canonical URLs and Open Graph
  • Structured data (JSON-LD) for rich results
  • Programmatic sitemap & robots
  • Semantic, accessible HTML
  • Clean, descriptive slug URLs

Built secure

Security

🔒Session-based auth with role permissions
🔒Server-side authorization on every protected route
🔒Input validation (Zod) on client and server
🔒Secure payments via hosted Checkout (no card data stored)
🔒Rate limiting and abuse protection
🔒Encrypted secrets and least-privilege access

Outcome

Results & impact

12

Partners integrated

< 50ms

Median latency

99.9%

Uptime

OpenAPI

Full docs

ConneX onboarded 12 partners in the first month with a fully documented API, < 50ms median latency and 99.9% uptime — support tickets from integrations dropped to near zero.