Skip to main content

Technology Stack

Backend (Rust workspace)

ConcernCrate / library
LanguageRust, edition 2024, channel 1.95
Metaframeworkidiolect v0.7.0 (path dep)
Schema codegenpanproto v0.39.0 (via idiolect)
HTTP frameworkaxum + tower-http (request id, tracing, cors)
Async runtimetokio multi-thread
Postgressqlx (runtime-tokio-rustls)
Elasticsearchreqwest (REST _doc + JSONB body)
Neo4jreqwest (db/<name>/tx/commit cypher endpoint)
Redisredis (connection-manager pool, Tokio rustls comp)
Authjsonwebtoken ES256 + p256 JWK + custom did:web resolver
Observabilitytracing + tracing-subscriber (json output)
Testingcargo test, testcontainers (Postgres), wiremock (HTTP)

Frontend

ConcernLibrary
FrameworkNext.js 15 (App Router) + React 19
State / dataTanStack Query 5
API clientopenapi-fetch (typed against the orchestrator)
UI primitivesshadcn/ui + Radix UI
StylingTailwind CSS 4
Auth@atproto/oauth-client-browser
TestingVitest, Playwright, Storybook 8

Build and CI

  • Cargo workspace at layers/; cargo check --workspace and cargo test --workspace cover every crate and feature combination.
  • panproto-check GitHub Action gates breaking lexicon changes via idiolect-codegen check-compat.
  • pnpm workspace in web/ for the frontend.