ARCANA
Yaroslav Vlasov|Software engineer|Personal OS and portfolio
The interactive 3D scene did not start: this browser has no WebGL, or JavaScript is turned off. Everything it shows is below as text — who I am, what I build, selected work and contacts.
Who I am
Yaroslav Vlasov — Software engineer. Saint Petersburg State University · Faculty of Mathematics and Computer Science · Modern Software Engineering, year 2. Saint Petersburg.
I build systems end to end — from the database schema and the deployment to the shaders. The site you are scrolling right now is the proof: every line of it is mine, from docker-compose to the last line of GLSL.
System pulse
- Nodes in the knowledge graph: 12
- Edges between them: 19
- System online: 9 days
- Last deploy: August 21
Work
Arcana
A personal OS on my own server: planner, exam mode, knowledge graph, tree of goals.
Next.js 16, PostgreSQL, Docker
EDF scheduler
Works out whether you will make your deadlines, and says plainly what to move.
TypeScript, algorithms, tests
Observatory
A renderer for knowledge on bare R3F — the same one that drew this page.
three.js, WebGL, shaders
More on GitHub
- C_Cpp — Practice in C and C++: algorithms and data structures.
- OOP_25-26 — лабы и проекты по 1 курсу ООП
- ConcoleCheck — Консольное приложение шашки
- Kotlin — Course projects in Kotlin.
Trajectory
July 2026 — Foundation on my own hardware
Built: Next.js 16 + PostgreSQL + Docker Compose + Caddy with automatic HTTPS, layered data access (zod → repository → service).
Learned: Defence in depth: a proxy redirect is UX, not a security boundary; the real check is the first line of every server action.
July 2026 — Backups that do not leak
Built: pg_dump → gzip → gpg in a single pipeline, with no plaintext ever touching the disk; optional off-site upload of the encrypted dump.
Learned: A backup without a tested restore is not a backup. And one intermediate file on disk undoes all of the encryption.
July 2026 — A planner with honest arithmetic
Built: A priority engine and an EDF scheduler: it works out whether the deadlines are reachable and names what has to move. All of it under tests.
Learned: An algorithm is worth exactly as much as it is trusted. So the scheduler does not just hand over a plan — it explains why a task ended up on top.
July 2026 — Estimates that learn
Built: A timer and real minutes tracking; size estimates adjust to how the work actually goes.
Learned: Feeding reality back into the model is the cheapest way to make a system more accurate without adding a single new form.
July 2026 — Exam mode
Built: A 0–5 mastery model on top of the subject catalogue, separate calculation engines, import of a preparation plan.
Learned: A mastery scale beats a “learned it” checkbox: it shows where you actually are, and where to go next.
July 2026 — Knowledge graph and the secret circuit
Built: The knowledge graph as a projection layer over the data; the Tree of Goals in separate tables, with AES-256-GCM encryption of its contents.
Learned: Secrecy holds better in architecture than in a filter: the private zone is simply never imported by the public one, and a guard test keeps it that way.
July 2026 — A public window
Built: A whitelisted snapshot of the graph for the outside world, plus a separate showcase editor: draft, publish as a snapshot, roll back.
Learned: Splitting “draft” from “published” costs one table and removes the one real fear — showing something by accident.
July — August 2026 — The “Skeleton of Knowledge” showcase
Built: This scroll experience on bare React Three Fiber: a crystal skull, a knowledge graph inside the brain, a descent along the skeleton, custom dust and nebula shaders.
Learned: In 3D almost every visible defect is not a wrong parameter but a wrong model. The jittery dust was not fixed by tuning — it was fixed by simulating velocities.
How this site works
- My own VPS, Docker Compose, Caddy with automatic HTTPS. Not a single external panel.
- Next.js 16 and PostgreSQL. The database port is not published at all.
- Eleven written architectural decisions — each one with its reasoning.