Build explainer · 2026

A personal reasoning system, made observable.

Aurorium Mind is a QLoRA-adapted Qwen model trained on a 100k synthetic SFT set, wrapped in a streaming Rust/FastAPI service, and surfaced through a Vercel workspace. This page records what was built, what was measured, what failed, and what the evidence can—and cannot—prove.

Project snapshot complete · server can be safely stopped

What shipped

The smallest complete system: one GPU, one adapter, one protected API, and a frontend that exposes useful runtime facts without exposing private traces.

01 · Data100k procedural synthetic examples plus a disjoint 2k eval set.
02 · TrainOne-epoch QLoRA/SFT on a single A10G.
03 · ServevLLM loads Qwen3.5-4B and the `aurorium` LoRA.
04 · GatewayRust and FastAPI stream responses and metadata-only telemetry.
05 · ExperienceNext.js/Vercel chat UI with compact metrics and traces.

Training, in numbers

These are the recorded run metrics—not a claim that synthetic data represents real private conversations.

100ksynthetic train examples
2kdisjoint eval examples
0.05661final eval loss
97.71%eval token accuracy
1,563final global step
13h58mapproximate runtime
64batch size · accumulation 1
512training max sequence tokens
Adapter integrity: `0fba57e246ed38cd6a7ea5b040553079ba9f691e8afb52a8834182efbe0cb464`. The public Hugging Face repository contains adapter files and a manifest only—no raw rows, checkpoints, or base weights.

Inference and telemetry

Every prompt can show throughput and timing while keeping message bodies out of persistent telemetry.

PREFILL

Prompt ingestion

The gateway measures time-to-first-token and input token count. This is the prompt-processing phase, not hidden reasoning.

DECODE

Token generation

The UI reports output tokens, tokens per second, total response time, and a natural stop reason when available.

GPU

Hardware signal

A host loop samples A10G utilization, VRAM, temperature, and power. The latest observed idle sample was 0% GPU, 20,019/23,028 MiB, 38°C, 61.55 W.

What went wrong—and how it was fixed

These incidents are part of the project record. They are why the final deployment evidence is explicit.

CAPACITY

AWS us-east-2a could not supply the stopped GPU

The original `g5.2xlarge` restart hit InsufficientInstanceCapacity. A replacement was launched in us-east-2b, restored from S3, and validated before the old instance was terminated.

SNAPSHOT

The migration AMI was too slow to be the recovery path

The EBS snapshot remained slow, so the safer path used a fresh Deep Learning AMI and restored the adapter/code from encrypted S3 instead of waiting indefinitely.

CERTIFICATE

Fresh Caddy storage had no TLS certificate

Let’s Encrypt could not complete its challenge while port 80 was closed. Port 80 was opened only for issuance, the certificate was obtained, and the rule was removed. The security group is HTTPS-only again.

WARMUP

Readiness initially timed out during CUDA compilation

vLLM needed several minutes for model loading, torch compilation, CUDA graph capture, and multimodal warmup. The final readiness probe verified both `qwen35-base` and the `aurorium` adapter.

DEPLOY

Git push did not immediately replace the Vercel production build

The production deployment was promoted explicitly and verified as Ready. A streaming probe then returned a clean `finish_reason: stop`.

Runtime boundary

One A10G is a personal reasoning workspace, not a redundant high-concurrency platform.

LayerRolePublic?
Vercel / Next.jsChat UI, streaming display, metrics, compact traceyes
CaddyHTTPS termination and reverse proxy443 only
FastAPIClient auth, request shaping, telemetry endpointsyes
Rust gatewayInternal request bridge to vLLMno
vLLMBase model plus LoRA adapter, internal model routeno

Cost and limits

Billing is controlled by AWS runtime state and credits; this page deliberately avoids inventing a final invoice.

GPU HOURS

What consumes money

The running `g5.2xlarge` is the main variable cost. The encrypted 300 GiB gp3 volume, EIP, S3 storage, data transfer, and Vercel usage are separate line items.

CREDITS

What credits do

AWS applies eligible credits against eligible usage. The billing console is authoritative; the project cannot infer remaining credit balance from runtime telemetry.

TRADE-OFF

Why stop now

Training, adapter export, evidence, GitHub, Hugging Face, and the explainer are complete. Terminating the GPU stops ongoing instance charges while preserving durable artifacts.

Evidence and honest gaps

Use the links below to inspect the artifacts directly.

ARCHIVE

Product surfaces

Open the chat workspace
GPU backend terminated
The backend was intentionally shut down after the final snapshot; GitHub, S3, Hugging Face, and this explainer remain available.

Not claimed: this is not a benchmark of frontier-model quality, not proof of high concurrency, and not proof that synthetic rows equal a private conversation archive. The evidence supports the narrower claim: a verified personal-model prototype was trained, served, measured, documented, and published within the stated boundary.