Files
public-blog/lib/portfolio.ts

381 lines
10 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export type Accent = "cyan" | "orange" | "green" | "violet";
export type Proof = {
label: string;
href?: string;
metric?: string;
};
export type DossierLink = {
label: string;
href: string;
};
export type Dossier = {
id: string;
title: string;
type: string;
status: string;
year: string;
role?: string;
stack: string[];
mission: string;
constraint?: string;
system: string;
result: string;
proof: Proof[];
links: DossierLink[];
accent: Accent;
};
export type Capability = {
index: string;
text: string;
};
export type Honor = {
title: string;
detail: string;
year: string;
};
export type Identity = {
name: string;
roleLine: string;
education: string;
site: string;
};
export type Hero = {
heading: string;
subline: string;
};
export type Publication = {
title: string;
venue: string;
year: string;
authorship: string;
doi: string;
href: string;
};
export type SkillsMatrixRow = {
category: string;
skills: string[];
};
export type Contact = {
email: string;
git: string;
linkedIn: string;
ssh: string;
};
export const identity: Identity = {
name: "Krishna Ayyalasomayajula",
roleLine: "Founding Engineer @ CoGuide",
education: "B.S. Computational Engineering, UT Austin — expected 2030",
site: "krishna.ayyalasomayajula.net",
};
export const statusLine =
"STATUS: BUILDING AT COGUIDE — OPEN TO INTERESTING PROBLEMS";
export const hero: Hero = {
heading: "Builder of GPU pipelines, hardened systems, and real-time infrastructure.",
subline: "I turn ambiguity into working software — and keep it alive under fire.",
};
export const manifesto =
"I build systems that survive contact — proof over promises.";
export const capabilities: Capability[] = [
{ index: "01", text: "Engineer GPU pipelines down to the kernel" },
{ index: "02", text: "Build production backends from zero" },
{ index: "03", text: "Harden systems that survive the open internet" },
{ index: "04", text: "Stream and analyze data at market speed" },
{ index: "05", text: "Run production infrastructure end to end" },
];
export const featuredDossier: Dossier = {
id: "coguide",
title: "CoGuide",
type: "AI instructional-insight platform",
status: "deployed",
year: "2026—",
role: "Founding Engineer / MTS",
stack: ["Rust", "AWS", "CUDA", "YOLOv8"],
mission:
"AI instructional-insight platform turning classroom audio into private coaching feedback",
constraint: "legacy NVIDIA T4 GPUs, zero-to-production",
system:
"entire production backend in Rust (~30k lines) + full AWS infra; custom CUDA fusion kernels + VAD batching for transcription/diarization; two-stage CV pipeline (YOLOv8 + pose) for hand-raise detection at ~0.96× real-time",
result:
"deployed in 10+ schools; 2× cost efficiency of market alternatives, 10× vs AWS Transcribe",
proof: [
{ label: "deployed in schools", metric: "10+ schools" },
{ label: "cost efficiency vs market alternatives", metric: "2×" },
{ label: "cost efficiency vs AWS Transcribe", metric: "10×" },
{ label: "hand-raise detection", metric: "~0.96× real-time" },
],
links: [
{ label: "coguide.ai", href: "https://coguide.ai" },
{
label: "CoGuide-Miniproj",
href: "https://git.cyber.ayyalasomayajula.net/marsultor/CoGuide-Miniproj",
},
],
accent: "cyan",
};
export const dossiers: Dossier[] = [
{
id: "exalock",
title: "exalock",
type: "GPU/Wayland lockscreen",
status: "WIP",
year: "2026",
stack: ["C", "C++23", "GLSL"],
mission: "GPU/Wayland lockscreen",
constraint: "raw ext-session-lock-v1",
system: "RK4 stream-function particle sim",
result: "WIP 2026 GPU/Wayland lockscreen",
proof: [{ label: "raw ext-session-lock-v1" }],
links: [
{
label: "marsultor/exalock",
href: "https://git.cyber.ayyalasomayajula.net/marsultor/exalock",
},
],
accent: "cyan",
},
{
id: "quant-streamer",
title: "Quant Streamer",
type: "real-time market data",
status: "closed source",
year: "2025",
stack: ["Kafka", "MQTT", "DXLink", "ClickHouse", "C++"],
mission: "real-time market data",
system: "100K datapoints/s via Kafka/MQTT/DXLink; ClickHouse; C++ LSTM + Heston/BlackScholes",
result: "100K datapoints/s via Kafka/MQTT/DXLink",
proof: [{ label: "market data throughput", metric: "100K datapoints/s" }],
links: [],
accent: "orange",
},
{
id: "mqtt-push-pipeline",
title: "MQTT Push Pipeline",
type: "infra",
status: "live since Aug 2025",
year: "2025",
stack: ["Rust", "MQTT", "RSS", "C++"],
mission: "infra pipeline for push alerts",
system: "Rust consumer sustaining 10M notifications/s benchmark",
result: "10k+ real alerts relayed",
proof: [
{ label: "notification benchmark", metric: "10M notifications/s" },
{ label: "real alerts relayed", metric: "10k+" },
],
links: [
{
label: "C++ repo",
href: "https://git.cyber.ayyalasomayajula.net/marsultor",
},
{
label: "Rust repo",
href: "https://git.cyber.ayyalasomayajula.net/marsultor",
},
{
label: "RSS repo",
href: "https://git.cyber.ayyalasomayajula.net/marsultor",
},
],
accent: "green",
},
{
id: "matrix-fs",
title: "Matrix FS",
type: "encrypted L2 storage over IPFS",
status: "closed source",
year: "—",
stack: [
"Rust",
"Tauri",
"Svelte",
"IPFS",
"AES-256-CBC",
"ChaCha20-Poly1305",
"Tor",
],
mission: "encrypted L2 storage over IPFS",
system: "Rust + Tauri/Svelte; AES-256-CBC + ChaCha20-Poly1305; Tor hidden-service ticketing",
result: "closed source encrypted L2 storage over IPFS",
proof: [{ label: "AES-256-CBC + ChaCha20-Poly1305" }],
links: [],
accent: "violet",
},
{
id: "home-infrastructure",
title: "Home Infrastructure",
type: "infrastructure",
status: "live",
year: "—",
stack: ["Linux", "Docker/Podman", "ZFS"],
mission: "home infrastructure",
system: "3 HA servers, 40+ containers, 150TB ZFS, ~50 users",
result: "live infrastructure serving ~50 users",
proof: [
{ label: "HA servers", metric: "3" },
{ label: "containers", metric: "40+" },
{ label: "ZFS storage", metric: "150TB" },
{ label: "users", metric: "~50" },
],
links: [],
accent: "green",
},
{
id: "cyberpatriot-automation",
title: "CyberPatriot Automation",
type: "hardening suite",
status: "licensed",
year: "—",
stack: ["Rust", "PowerShell"],
mission: "Rust/PowerShell hardening suite",
system: "CyberPatriot Automation hardening suite",
result: "30+ pts/round; licensed to another team",
proof: [
{ label: "points per round", metric: "30+" },
{ label: "licensed to another team" },
],
links: [],
accent: "orange",
},
{
id: "browser-security-red-team-poc",
title: "Browser-Security Red-Team PoC",
type: "educational",
status: "educational",
year: "—",
stack: ["TypeScript", "Bun", "Playwright"],
mission: "educational browser-security red-team PoC",
system: "TS/Bun + Playwright stealth defeating bot detection",
result: "educational PoC defeating bot detection",
proof: [{ label: "Playwright stealth defeating bot detection" }],
links: [
{
label: "marsultor/linkedin-bot",
href: "https://git.cyber.ayyalasomayajula.net/marsultor/linkedin-bot",
},
],
accent: "violet",
},
{
id: "hardened-ssh-portfolio-server",
title: "Hardened SSH Portfolio Server",
type: "live security PoC",
status: "live",
year: "—",
stack: ["C++", "FTXUI", "SSH"],
mission: "live security PoC",
system: "C++ FTXUI over SSH",
result: "survived 1M+ attacks from 100 countries over 18 months, zero compromise",
proof: [
{ label: "attacks survived", metric: "1M+" },
{ label: "countries", metric: "100" },
{ label: "duration", metric: "18 months" },
{ label: "compromise count", metric: "zero" },
],
links: [],
accent: "cyan",
},
];
export const publication: Publication = {
title:
"Rule-based Tensor Mutations Embedded within LLMs for Low-Cost Mathematical Computation",
venue: "TechRxiv preprint (IEEE)",
year: "2025",
authorship: "sole author",
doi: "10.36227/techrxiv.175393256.68603080/v1",
href: "https://doi.org/10.36227/techrxiv.175393256.68603080/v1",
};
export const honors: Honor[] = [
{
title: "Lockheed Martin Cyber Quest 2nd place",
detail: "team captain, ~30% of team score",
year: "2025",
},
{ title: "CyberPatriot State Gold", detail: "", year: "2025" },
{ title: "NSA Codebreaker", detail: "5 tasks", year: "2024" },
{ title: "Hack The Box", detail: "peak global rank 564", year: "" },
{ title: "National Merit Commendation", detail: "", year: "" },
];
export const skillsMatrix: SkillsMatrixRow[] = [
{
category: "Languages",
skills: [
"Rust async/unsafe/FFI",
"C",
"C++23",
"Python",
"TypeScript",
"GLSL",
"SQL",
"Bash",
"Java",
],
},
{
category: "Systems & Infra",
skills: [
"Linux",
"Docker/Podman",
"WireGuard",
"Nginx/Traefik",
"PostgreSQL",
"ClickHouse",
"Redis",
"Kafka",
"MQTT",
"gRPC",
"ZFS",
],
},
{
category: "Scientific Computing",
skills: [
"NumPy/SciPy/JAX",
"Eigen",
"BLAS/LAPACK",
"CUDA/cuBLAS",
"ODE solvers",
"PyTorch",
],
},
{
category: "Security",
skills: [
"reverse engineering",
"binary exploitation",
"network forensics",
"eBPF/seccomp/AppArmor",
"red/blue tooling",
],
},
{
category: "Frontend & Embedded",
skills: ["Next.js/React", "Svelte", "Tauri", "FTXUI", "STM32/ESP32"],
},
];
export const contact: Contact = {
email: "krishna@ayyalasomayajula.net",
git: "https://git.cyber.ayyalasomayajula.net/marsultor",
linkedIn: "https://www.linkedin.com/in/krishna-ayy/",
ssh: "ssh krishna@krishna.ayyalasomayajula.net",
};