Resume site with live content from Gitea
Replaces the static portfolio with a resume site that reads /data/resume.json: the text comes from data/resume.json in this repo, and the projects are the public Gitea repos tagged `resume`. Merges in the content of the hh.ru resume (backend/DevOps skills, experience, languages) without personal details. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,366 @@
|
||||
{
|
||||
"name": "Emil Shanayev",
|
||||
"eyebrow": "backend · devops · AI systems · scientific computing · game tech",
|
||||
"role": "Backend, DevOps & AI Systems Developer",
|
||||
"bio": "I build AI-native products, backend services and the infrastructure to run them: from Python/FastAPI and Go services, WebSocket APIs and containerised CI/CD pipelines to distributed molecular workloads, LLM-controlled worlds and a Vulkan game engine. I run self-hosted services on my own Linux servers.",
|
||||
"location": "Russia",
|
||||
"availability": "Open to internships, full-time, part-time and project work · remote, hybrid or on-site",
|
||||
"contacts": [
|
||||
{
|
||||
"label": "Email",
|
||||
"value": "emil28092005@yandex.ru",
|
||||
"href": "mailto:emil28092005@yandex.ru",
|
||||
"note": "preferred"
|
||||
},
|
||||
{
|
||||
"label": "Email",
|
||||
"value": "emil28092005@gmail.com",
|
||||
"href": "mailto:emil28092005@gmail.com"
|
||||
},
|
||||
{
|
||||
"label": "Telegram",
|
||||
"value": "@emilshanaty",
|
||||
"href": "https://t.me/emilshanaty"
|
||||
},
|
||||
{
|
||||
"label": "GitHub",
|
||||
"value": "emil28092005",
|
||||
"href": "https://github.com/emil28092005"
|
||||
},
|
||||
{
|
||||
"label": "Gitea",
|
||||
"value": "git.shanaty.ru/Emil_Shanaty",
|
||||
"href": "https://git.shanaty.ru/Emil_Shanaty"
|
||||
}
|
||||
],
|
||||
"skills": [
|
||||
{
|
||||
"title": "Backend & web",
|
||||
"text": "Asynchronous REST and WebSocket services, database design and query optimisation.",
|
||||
"stack": [
|
||||
"Python",
|
||||
"FastAPI",
|
||||
"asyncio",
|
||||
"Go",
|
||||
"Rust",
|
||||
"TypeScript",
|
||||
"SQL",
|
||||
"PostgreSQL",
|
||||
"SQLite",
|
||||
"Redis",
|
||||
"WebSocket",
|
||||
"JSON-RPC",
|
||||
"Java (basic)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "DevOps & infrastructure",
|
||||
"text": "Containerised delivery, CI/CD automation and day-to-day Linux server administration.",
|
||||
"stack": [
|
||||
"Docker",
|
||||
"docker-compose",
|
||||
"Kubernetes",
|
||||
"GitHub Actions",
|
||||
"Jenkins",
|
||||
"Harbor",
|
||||
"Linux",
|
||||
"Bash",
|
||||
"VPS",
|
||||
"Debian",
|
||||
"Ubuntu"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "AI-native systems",
|
||||
"text": "Agent protocols, recursive research teams, MCP integrations and human-in-the-loop feedback systems.",
|
||||
"stack": [
|
||||
"MCP",
|
||||
"ACP / JSON-RPC",
|
||||
"LLM APIs",
|
||||
"TypeScript",
|
||||
"Python"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Scientific software",
|
||||
"text": "Molecular data processing, cheminformatics workloads, deterministic pipelines and reproducible command-line tools.",
|
||||
"stack": [
|
||||
"Python",
|
||||
"RDKit",
|
||||
"ChEMBL",
|
||||
"Go",
|
||||
"PostgreSQL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Graphics & game tech",
|
||||
"text": "Performance-oriented engines, native audio tools and 3D content pipelines.",
|
||||
"stack": [
|
||||
"C# / .NET",
|
||||
"Vulkan",
|
||||
"Unity",
|
||||
"Blender",
|
||||
"Rust",
|
||||
"C++"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Team & process",
|
||||
"text": "Leading small teams, Agile/Scrum coordination and clear communication with stakeholders.",
|
||||
"stack": [
|
||||
"Agile",
|
||||
"Scrum",
|
||||
"Team leading",
|
||||
"Git",
|
||||
"GitHub"
|
||||
]
|
||||
}
|
||||
],
|
||||
"experience": [
|
||||
{
|
||||
"title": "Independent projects & self-directed engineering",
|
||||
"meta": "Ongoing",
|
||||
"points": [
|
||||
"Full-featured asynchronous backend applications in Python/FastAPI.",
|
||||
"Containerised applications with Docker, deployed to Kubernetes.",
|
||||
"CI/CD pipelines with GitHub Actions for automated testing and deployment.",
|
||||
"Administration of Linux servers (Debian VPS) and self-hosted services.",
|
||||
"Databases in practice: SQLite, Redis, PostgreSQL."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Team experience",
|
||||
"meta": "University and agency-style projects",
|
||||
"points": [
|
||||
"Led teams in university projects and managed a team in an agency-style setting.",
|
||||
"Worked in Agile environments using Scrum; task distribution and coordination.",
|
||||
"Regular communication with team members and stakeholders."
|
||||
]
|
||||
}
|
||||
],
|
||||
"education": [
|
||||
{
|
||||
"period": "2026 — 2030",
|
||||
"institution": "HSE University, Moscow",
|
||||
"program": "Bachelor’s programme · Game and Digital Product Development · 1st-year student"
|
||||
},
|
||||
{
|
||||
"period": "2023 — 2025",
|
||||
"institution": "Innopolis University",
|
||||
"program": "Data Structures and Artificial Intelligence (DSAI) · 2 years, incomplete higher education"
|
||||
}
|
||||
],
|
||||
"languages": [
|
||||
{
|
||||
"name": "Russian",
|
||||
"level": "Native"
|
||||
},
|
||||
{
|
||||
"name": "English",
|
||||
"level": "B2"
|
||||
}
|
||||
],
|
||||
"interests": [
|
||||
"DevOps & Infrastructure as Code",
|
||||
"High-load backend systems",
|
||||
"Linux & systems administration",
|
||||
"Computer graphics & game development",
|
||||
"Open source",
|
||||
"Learning from documentation and by building"
|
||||
],
|
||||
"projectNotes": {
|
||||
"Cortex_Engine": {
|
||||
"title": "Cortex Engine",
|
||||
"rank": 1,
|
||||
"kind": "AI-native 3D game engine",
|
||||
"description": "A C#/.NET 9 game engine with a pure P/Invoke Vulkan 1.3 renderer, PBR shading, cubemap-array shadows, native Box3D physics and Flecs ECS. Its editor and runtime expose scene operations to AI agents through MCP.",
|
||||
"highlights": [
|
||||
"Pure Vulkan 1.3 backend",
|
||||
"PBR + multi-light shadows",
|
||||
"Playable FPS demo",
|
||||
"7 MCP scene tools"
|
||||
],
|
||||
"tech": [
|
||||
"C#",
|
||||
".NET 9",
|
||||
"Vulkan",
|
||||
"SDL3",
|
||||
"Box3D",
|
||||
"Flecs",
|
||||
"MCP"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/Cortex_Engine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"SciMesh": {
|
||||
"title": "SciMesh",
|
||||
"rank": 2,
|
||||
"kind": "Distributed scientific computing platform",
|
||||
"description": "A local-first platform that turns molecular computations into independent tasks, dispatches them to Go workers and deterministically combines checksum-protected artifacts. The Python SDK provides exact ChEMBL workloads without dense N×N matrices.",
|
||||
"highlights": [
|
||||
"Python workload SDK",
|
||||
"Go coordinator + workers",
|
||||
"PostgreSQL / SQLite modes",
|
||||
"Cross-platform signed releases"
|
||||
],
|
||||
"tech": [
|
||||
"Python",
|
||||
"Go",
|
||||
"RDKit",
|
||||
"PostgreSQL",
|
||||
"Docker",
|
||||
"SHA-256"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/SciMesh"
|
||||
}
|
||||
]
|
||||
},
|
||||
"AICC-Protocol": {
|
||||
"title": "AICC Protocol",
|
||||
"rank": 3,
|
||||
"kind": "LLM-controlled character protocol",
|
||||
"description": "An engine-agnostic protocol and Python SDK for connecting language-model agents to virtual environments. The reference capsule testbed proves the full loop: perception, movement and interaction over WebSocket with a protocol-conformant bridge.",
|
||||
"highlights": [
|
||||
"Async-first Python SDK",
|
||||
"WebSocket + in-process transports",
|
||||
"9/9 conformance scenarios",
|
||||
"Vision and navigation demo"
|
||||
],
|
||||
"tech": [
|
||||
"Python",
|
||||
"JSON Schema",
|
||||
"WebSocket",
|
||||
"Pydantic",
|
||||
"LLM agents"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/AICC-Protocol"
|
||||
},
|
||||
{
|
||||
"label": "aicc-py",
|
||||
"href": "https://github.com/emil28092005/aicc-py"
|
||||
}
|
||||
]
|
||||
},
|
||||
"hypothesis-machine": {
|
||||
"title": "Hypothesis Machine",
|
||||
"rank": 4,
|
||||
"kind": "Recursive research-agent extension",
|
||||
"description": "A TypeScript extension for the Pi Coding Agent that turns one interactive session into a persistent, recursive research team. It combines parallel agents, recoverable trees, full-text research memory and isolated Docker experiments with independent review.",
|
||||
"highlights": [
|
||||
"Recursive / parallel agents",
|
||||
"Persistent tree recovery",
|
||||
"SQLite FTS research memory",
|
||||
"Sandboxed experiment runner"
|
||||
],
|
||||
"tech": [
|
||||
"TypeScript",
|
||||
"Node.js 22",
|
||||
"SQLite",
|
||||
"Docker",
|
||||
"Pi Agent"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/hypothesis-machine"
|
||||
}
|
||||
]
|
||||
},
|
||||
"bibi_bot": {
|
||||
"title": "Bibi Bot",
|
||||
"rank": 5,
|
||||
"kind": "Self-hosted Telegram AI assistant",
|
||||
"description": "A production-oriented Telegram assistant for private groups: one-way HLS game streaming in a Mini App, DeepSeek-backed chat, repository-grounded answers, scoped SQLite memory and PostgreSQL-backed team context.",
|
||||
"highlights": [
|
||||
"Telegram Mini App + HLS",
|
||||
"Repository research with partial clones",
|
||||
"Scoped memory and privacy controls",
|
||||
"Docker Compose deployment"
|
||||
],
|
||||
"tech": [
|
||||
"Python",
|
||||
"FastAPI",
|
||||
"Telegram",
|
||||
"DeepSeek",
|
||||
"PostgreSQL",
|
||||
"Docker"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/bibi_bot"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Soundgen": {
|
||||
"title": "Soundgen",
|
||||
"rank": 11,
|
||||
"kind": "Tool / experiment",
|
||||
"description": "Rust 8-bit synthesis, MCP generation and human-feedback training loop",
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/Soundgen"
|
||||
}
|
||||
]
|
||||
},
|
||||
"KimiFleet": {
|
||||
"title": "KimiFleet",
|
||||
"rank": 12,
|
||||
"kind": "Tool / experiment",
|
||||
"description": "Visible multi-agent orchestrator over ACP with live dashboard and handoffs",
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/KimiFleet"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Imagen": {
|
||||
"title": "Imagen",
|
||||
"rank": 13,
|
||||
"kind": "Tool / experiment",
|
||||
"description": "MCP pixel-art generator with transparent backgrounds and rated references",
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/Imagen"
|
||||
}
|
||||
]
|
||||
},
|
||||
"Fractalier": {
|
||||
"title": "Fractalier",
|
||||
"rank": 14,
|
||||
"kind": "Tool / experiment",
|
||||
"description": "Procedural fractal evolution game with selection, crossover and mutation",
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/Fractalier"
|
||||
}
|
||||
]
|
||||
},
|
||||
"hermes-plugin-mome": {
|
||||
"title": "MoME",
|
||||
"rank": 15,
|
||||
"kind": "Tool / experiment",
|
||||
"description": "Sparse-gated personal memory plugin with an online-learning router",
|
||||
"links": [
|
||||
{
|
||||
"label": "GitHub",
|
||||
"href": "https://github.com/emil28092005/hermes-plugin-mome"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
-102
@@ -1,102 +0,0 @@
|
||||
export const resume = {
|
||||
name: 'Emil Shanayev',
|
||||
eyebrow: 'AI systems · scientific computing · game technology',
|
||||
role: 'AI Systems & Scientific Software Developer',
|
||||
bio: 'I build AI-native products and developer infrastructure across scientific computing, agent protocols and game technology — from distributed molecular workloads and LLM-controlled worlds to a Vulkan engine and production Telegram services.',
|
||||
location: 'Russia',
|
||||
availability: 'Open to internships, research collaborations and engineering projects',
|
||||
contacts: [
|
||||
{ label: 'GitHub', value: 'emil28092005', href: 'https://github.com/emil28092005' },
|
||||
{ label: 'Email', value: 'emil28092005@gmail.com', href: 'mailto:emil28092005@gmail.com' },
|
||||
{ label: 'Email', value: 'emil28092005@yandex.ru', href: 'mailto:emil28092005@yandex.ru' },
|
||||
{ label: 'Telegram', value: '@emilshanaty', href: 'https://t.me/emilshanaty' },
|
||||
],
|
||||
capabilities: [
|
||||
{
|
||||
index: '01',
|
||||
title: 'Scientific software',
|
||||
text: 'Molecular data processing, cheminformatics workloads, deterministic pipelines and reproducible command-line tools.',
|
||||
stack: ['Python', 'RDKit', 'ChEMBL', 'Go', 'PostgreSQL'],
|
||||
},
|
||||
{
|
||||
index: '02',
|
||||
title: 'AI-native systems',
|
||||
text: 'Agent protocols, recursive research teams, MCP integrations and human-in-the-loop feedback systems.',
|
||||
stack: ['MCP', 'ACP / JSON-RPC', 'LLM APIs', 'TypeScript', 'Python'],
|
||||
},
|
||||
{
|
||||
index: '03',
|
||||
title: 'Systems & infrastructure',
|
||||
text: 'Performance-oriented engines, native audio tools, backend services and the infrastructure needed to ship them.',
|
||||
stack: ['C# / .NET', 'Vulkan', 'Rust', 'Docker', 'WebSocket', 'Linux'],
|
||||
},
|
||||
],
|
||||
projects: [
|
||||
{
|
||||
number: '01',
|
||||
name: 'Cortex Engine',
|
||||
kind: 'AI-native 3D game engine',
|
||||
description: 'A C#/.NET 9 game engine with a pure P/Invoke Vulkan 1.3 renderer, PBR shading, cubemap-array shadows, native Box3D physics and Flecs ECS. Its editor and runtime expose scene operations to AI agents through MCP.',
|
||||
highlights: ['Pure Vulkan 1.3 backend', 'PBR + multi-light shadows', 'Playable FPS demo', '7 MCP scene tools'],
|
||||
tech: ['C#', '.NET 9', 'Vulkan', 'SDL3', 'Box3D', 'Flecs', 'MCP'],
|
||||
href: 'https://github.com/emil28092005/Cortex_Engine',
|
||||
},
|
||||
{
|
||||
number: '02',
|
||||
name: 'SciMesh',
|
||||
kind: 'Distributed scientific computing platform',
|
||||
description: 'A local-first platform that turns molecular computations into independent tasks, dispatches them to Go workers and deterministically combines checksum-protected artifacts. The Python SDK provides exact ChEMBL workloads without dense N×N matrices.',
|
||||
highlights: ['Python workload SDK', 'Go coordinator + workers', 'PostgreSQL / SQLite modes', 'Cross-platform signed releases'],
|
||||
tech: ['Python', 'Go', 'RDKit', 'PostgreSQL', 'Docker', 'SHA-256'],
|
||||
href: 'https://github.com/emil28092005/SciMesh',
|
||||
},
|
||||
{
|
||||
number: '03',
|
||||
name: 'AICC Protocol',
|
||||
kind: 'LLM-controlled character protocol',
|
||||
description: 'An engine-agnostic protocol and Python SDK for connecting language-model agents to virtual environments. The reference capsule testbed proves the full loop: perception, movement and interaction over WebSocket with a protocol-conformant bridge.',
|
||||
highlights: ['Async-first Python SDK', 'WebSocket + in-process transports', '9/9 conformance scenarios', 'Vision and navigation demo'],
|
||||
tech: ['Python', 'JSON Schema', 'WebSocket', 'Pydantic', 'LLM agents'],
|
||||
href: 'https://github.com/emil28092005/AICC-Protocol',
|
||||
secondaryHref: 'https://github.com/emil28092005/aicc-py',
|
||||
secondaryLabel: 'aicc-py',
|
||||
},
|
||||
{
|
||||
number: '04',
|
||||
name: 'Hypothesis Machine',
|
||||
kind: 'Recursive research-agent extension',
|
||||
description: 'A TypeScript extension for the Pi Coding Agent that turns one interactive session into a persistent, recursive research team. It combines parallel agents, recoverable trees, full-text research memory and isolated Docker experiments with independent review.',
|
||||
highlights: ['Recursive / parallel agents', 'Persistent tree recovery', 'SQLite FTS research memory', 'Sandboxed experiment runner'],
|
||||
tech: ['TypeScript', 'Node.js 22', 'SQLite', 'Docker', 'Pi Agent'],
|
||||
href: 'https://github.com/emil28092005/hypothesis-machine',
|
||||
},
|
||||
{
|
||||
number: '05',
|
||||
name: 'Bibi Bot',
|
||||
kind: 'Self-hosted Telegram AI assistant',
|
||||
description: 'A production-oriented Telegram assistant for private groups: one-way HLS game streaming in a Mini App, DeepSeek-backed chat, repository-grounded answers, scoped SQLite memory and PostgreSQL-backed team context.',
|
||||
highlights: ['Telegram Mini App + HLS', 'Repository research with partial clones', 'Scoped memory and privacy controls', 'Docker Compose deployment'],
|
||||
tech: ['Python', 'FastAPI', 'Telegram', 'DeepSeek', 'PostgreSQL', 'Docker'],
|
||||
href: 'https://github.com/emil28092005/bibi_bot',
|
||||
},
|
||||
],
|
||||
tools: [
|
||||
{ name: 'Soundgen', note: 'Rust 8-bit synthesis, MCP generation and human-feedback training loop', href: 'https://github.com/emil28092005/Soundgen' },
|
||||
{ name: 'KimiFleet', note: 'Visible multi-agent orchestrator over ACP with live dashboard and handoffs', href: 'https://github.com/emil28092005/KimiFleet' },
|
||||
{ name: 'Imagen', note: 'MCP pixel-art generator with transparent backgrounds and rated references', href: 'https://github.com/emil28092005/Imagen' },
|
||||
{ name: 'Fractalier', note: 'Procedural fractal evolution game with selection, crossover and mutation', href: 'https://github.com/emil28092005/Fractalier' },
|
||||
{ name: 'MoME', note: 'Sparse-gated personal memory plugin with an online-learning router', href: 'https://github.com/emil28092005/hermes-plugin-mome' },
|
||||
],
|
||||
education: [
|
||||
{
|
||||
period: '2023—2025',
|
||||
institution: 'Innopolis University',
|
||||
program: 'Data Structures and Artificial Intelligence (DSAI)',
|
||||
},
|
||||
{
|
||||
period: '2026—present',
|
||||
institution: 'HSE University',
|
||||
program: '1st-year student · Bachelor’s programme',
|
||||
},
|
||||
],
|
||||
} as const
|
||||
Reference in New Issue
Block a user