Skip to content

Tech Stack

Backend

Core language and Framework

  • Rust: A high-performance memory-safe language
  • Axum: A Rust Web framework based on Tokio

Database and Storage

  • PostgreSQL: A persistent database that interacts via SeaORM
  • Valkey: Used for caching and accessed via fred.rs

Message queues and Asynchronous processing

  • NATS: A lightweight message queue for communication between components

Containers and Orchestration

  • Kubernetes: The dynamic environment support for challenges via kube-rs

Security and Authentication

  • Argon2: Used for password hashing
  • JWT: Used for user authentication
  • Ring & Rustls: Provides encryption functionality

Script engine

  • Rune: A secure embedded scripting language for submission checkers

Monitoring and Logging

  • OpenTelemetry: For distributed tracing and monitoring
  • Tracing: Used for structured logging

Frontend

Core framework and Language

  • React: Used for building user interfaces
  • TypeScript: Used for type-safe JavaScript development

Build tools

  • Vite: A modern front-end build tool

UI Components and styles

  • Tailwind CSS: A CSS framework that prioritizes practicality
  • Radix UI: A style-free and accessible UI component
  • Lucide React: Icon library

Status management and Data fetching

  • Zustand: A lightweight state management library
  • Ky: A data fetching library based on Fetch
  • TanStack Query: A server-state management and caching library

Form processing and Validation

  • React Hook Form: Form processing library
  • Zod: Type validation library

Internationalization and Localization

  • i18next: Internationalization Framework

Charts and Visualization

  • Recharts: A chart library based on React