Luke a Pro

Luke Sun

Developer & Marketer

🇺🇦
EN||
TickBase market data API landing page

TickBase

production
SaaSAPIGoLaravelReactAstroPostgreSQLRedisTimescaleDBDockerCloudflareMarket DataData WorkflowBilling

Overview

TickBase is a developer-first market data platform for FX rates, precious metals, historical time-series, and conversion workflows. It collects market data inputs, normalizes them into a unified schema, caches fresh snapshots, stores history, and exposes the result through a rate-limited API.

This is a self-directed SaaS product that I planned, designed, implemented, deployed, and maintain. The product is built for developers who need reliable market data infrastructure without wiring together separate data ingestion, account systems, quota enforcement, and deployment plumbing themselves.

Product Architecture

  • Polyglot monorepo - The project combines Go services (apps/api-go, apps/collector-go, apps/monitor-go), a Laravel account service (apps/account), a React Router v7 dashboard (apps/dashboard), an Astro website (apps/website), and shared package contracts for plans, types, and API documentation.
  • Market data collection - collector-go polls FX and metals data through an ingestion adapter layer, then normalizes, validates, deduplicates, and persists both latest snapshots and historical ticks.
  • USD-pivot model - TickBase collects USD-denominated data only. Non-USD FX pairs, metal prices, and conversion results are derived on read through the latest USD cross-rates, keeping the collection surface compact while the API remains flexible.
  • Cache-first public API - api-go serves a read-only REST API for FX, metals, symbols, status, historical data, conversion, and OHLC queries. It prefers Redis for low-latency reads and falls back to PostgreSQL / TimescaleDB when needed.
  • Entitlements and billing - The Laravel account service owns registration, Sanctum SPA authentication, API key lifecycle, plan state, Stripe billing via Cashier, and entitlement distribution to Redis. api-go validates API keys without reading the account database directly.
  • Rate limits and quota - Requests are controlled by per-IP safeguards, per-key rate limits, and per-account monthly quota. Live keys are metered; test keys can be used for integration without consuming monthly quota.
  • Production deployment - thetickbase.com and dashboard.thetickbase.com run on Cloudflare Pages, while api.thetickbase.com and account.thetickbase.com reach a Docker Compose stack on a VPS through Cloudflare Tunnel. The origin exposes no public inbound ports.
  • Data separation - Account data and market data live in separate PostgreSQL databases. The Go API uses a read-only role for market data and has no grants on the Laravel-owned account database.

Key Features

  • Unified market data API - Latest and historical FX rates, precious metals spot prices, conversion endpoints, symbol metadata, data status, and OHLC aggregation.
  • Developer onboarding - Dashboard-based API key creation, rotation, revocation, usage visibility, and billing plan management.
  • Plan-based access control - Free, Developer, and Business plans map to monthly quota, rate limits, history depth, multi-base access, OHLC support, and active key caps.
  • Operational monitoring - Internal monitoring checks API health, Redis, TimescaleDB freshness, and public status data so production issues can be surfaced quickly.
  • Low-ops infrastructure - Static frontends at the edge, containerized backends, GHCR image releases, one-shot migrators, and Cloudflare Tunnel keep the production footprint small and maintainable.

Related Projects

Submeto - Form submissions without the backend

Submeto

A backend-as-a-service platform for collecting form submissions without writing server code.

SaaSAPIPHPLaravel +7
RosettaChat multilingual chat landing page

RosettaChat

A multilingual real-time chat platform where participants write in their own language and read every message in theirs.

SaaSAPILaravelReact +10
MarkNest
ongoing

MarkNest

A distraction-free Markdown writing and sharing platform with built-in media management and access control.

Next.jsLaravelPostgreSQLRedis +2
BizTrust Academy

BizTrust Academy

A learning management system for tracking employee courses, documenting reflections, and measuring real-world implementation of learnings.

SaaSLMSPHPLaravel +4
Kakeibo personal finance tracking landing page

Kakeibo

A collaborative personal finance SaaS for individuals, households, and small teams to track accounts, transactions, categories, reports, and shared money workflows.

SaaSFinanceAPILaravel +9