Skip to content

Tool stack

ToolWhat we use it forAccess
GitHubSource, CI, issuesGoogle Workspace SSO + FIDO2 for admins
GitHub ActionsCI/CD for every repoBuilt into GitHub
gh CLIScripted GitHub accessgh auth login
ToolPurposeAccess
Google Cloud (Cloud Run, Cloud SQL, Secret Manager, Artifact Registry)Core server hostingGoogle Workspace SSO → IAM
Cloudflare (DNS, Pages, Access, Tunnel, Zero Trust)Edge, static hosting, access gatingEmail + TOTP
TerraformIaC for GCP + CloudflareState in GCS, applied via GH Actions
Docker Desktop / OrbStackLocal container runtimePersonal install
ToolPurpose
Grafana CloudMetrics + dashboards
Prometheus (hosted)Metric scrape (via Grafana Cloud agent)
Cloud Logging (GCP)Application logs
PagerDutyAlert routing, on-call schedule
SentryFrontend error tracking
PostHogProduct analytics, frontend feature flags
ToolPurpose
1PasswordHuman secret vault, shared team vaults
1Password CLI (op)Load secrets into local dev env
Google WorkspaceEmail + SSO IdP + Drive
Google Secret ManagerRuntime secrets for Cloud Run
ToolPurpose
LinearEngineering issues, project tracking
SlackAsync comms
Google DocsDecision docs, customer-facing proposals
NotionNot used — consolidating on Google Drive + this site
ToolPurpose
StripeBilling, subscription management
HubSpotCRM, deal pipeline
CalendlyExternal scheduling
DocuSignContract signatures
ToolPurpose
Claude Code / CursorAI coding assistants (governed through TapPass itself — yes, we eat our own cooking)
VS CodeEditor (alongside Cursor)
Cloud SQL ProxyLocal connection to staging/prod DB replica
cloudflaredCLI for tunnels
wranglerCLI for Cloudflare Pages
uvPython package manager (replaces pip/poetry)
ruffPython formatter + linter
mypyPython type checker

Worth noting what we deliberately avoid — saves repeated “should we use X?” conversations:

  • Jira — Linear is cleaner. Jira is Atlassian; we use Jira as a provider integration for customers, but not ourselves.
  • Notion — Drifted across too many sources of truth. Consolidating here (for internal docs) + Google Drive (for shared editing).
  • Confluence — Same reason.
  • Jenkins / CircleCI — GH Actions covers us.
  • Datadog / New Relic — Grafana Cloud + Sentry is enough; can revisit at scale.
  • AWS / Azure as primary cloud — GCP is our core infra. We support AWS/Azure as customer integrations, but our own workloads live on GCP.
  • MongoDB — Postgres is the right choice for us. No document store.
  • Redis as a primary cache — Postgres + in-process caches are sufficient at current traffic.
  • GraphQL — REST. FastAPI + Pydantic is enough.

If you’re new and missing access to something: Slack @jens in #eng or DM. Don’t spend half a morning stuck.

Most access is self-service via Google SSO once your @tappass.ai account is active; the above table flags when that isn’t enough.