From e0cb2816a779c3bfb62b2a9dccea4d07fd9a02b9 Mon Sep 17 00:00:00 2001 From: Mars Ultor Date: Thu, 24 Jul 2025 15:52:47 -0500 Subject: [PATCH] prettier than any girl i've laid eyes on --- src/portfolioapp.cpp | 158 ++++++++++++++++++++++++++++++++----------- 1 file changed, 119 insertions(+), 39 deletions(-) diff --git a/src/portfolioapp.cpp b/src/portfolioapp.cpp index 9e94ae0..dcee7d2 100644 --- a/src/portfolioapp.cpp +++ b/src/portfolioapp.cpp @@ -20,15 +20,52 @@ const auto hacker_button_active_style = color(Color::LightGreen) | bold; // ------------------ Component MakeAboutPage() { - const std::string content = - "Hi, I'm Krishna Ayyalasomayajula β€” cybersecurity researcher and systems engineer.\n" - "πŸ¦€ Rustacean | πŸ”΄ Red Team Specialist | 🧠 AI/ML Research Assistant\n\n" - "Focus areas: Distributed systems, offensive security, cryptography, and AI integration.\n" - "Currently: Senior at Plano East (STEM), Research Assistant, Cybersecurity Club President.\n\n" - "πŸ“ DFW Metroplex | πŸ’³ US Green Card Holder | πŸ“§ krishna@ayyalasomayajula.net"; + return Renderer([]() -> Element { + return vbox({ + // Header section + vbox({ + text("Krishna Ayyalasomayajula") | color(Color::LightGreen) | bold | center, + text("Cybersecurity Researcher & Systems Engineer") | hacker_text_style | center, + }) | hacker_border_style, - return Renderer([content]() -> Element { - return paragraph(content) | hacker_text_style | flex; + separator(), + + // Tags section + vbox({ + text("πŸ¦€ Rustacean | πŸ”΄ Red Team Specialist | 🧠 AI/ML Research Assistant") | hacker_text_style | center, + }) | hacker_border_style, + + separator(), + + // Focus areas + vbox({ + text("Focus Areas:") | color(Color::LightGreen) | bold, + text("β€’ Distributed systems & secure protocols") | hacker_text_style, + text("β€’ Offensive security & red team operations") | hacker_text_style, + text("β€’ Applied cryptography & privacy systems") | hacker_text_style, + text("β€’ AI/ML integration & security research") | hacker_text_style, + }) | hacker_border_style, + + separator(), + + // Current status + vbox({ + text("Current Status:") | color(Color::LightGreen) | bold, + text("πŸŽ“ Senior at Plano East (STEM Endorsement)") | hacker_text_style, + text("πŸ”¬ Research Assistant to Dr. Madan M. T. Ayyalasomayajula") | hacker_text_style, + text("πŸ‘‘ President, Cybersecurity Club") | hacker_text_style, + }) | hacker_border_style, + + separator(), + + // Location and contact + vbox({ + text("πŸ“ DFW Metroplex, Texas") | hacker_text_style | center, + text("πŸ’³ US Green Card Holder") | hacker_text_style | center, + text("πŸ“§ krishna@ayyalasomayajula.net") | hacker_link_style | center, + }) | hacker_border_style, + + }) | flex; }); } @@ -65,40 +102,69 @@ Component MakeProjectsPage() { } Component MakeEducationPage() { - const std::vector entries = { - "🏫 Plano East Senior High School (2022–2026)\nSTEM & Multi-disciplinary Endorsement\nCS & Mathematics concentrations", - "πŸ“š Coursework: Data Structures, OOP, Calculus, Differential Equations,\nProbability, Statistics, Newtonian Physics", - "πŸ”¬ Research Assistant to Dr. Madan M. T. Ayyalasomayajula (2022–Present)\nLiterature review, benchmarking, technical workflows" - }; + return Renderer([]() -> Element { + return vbox({ + // School section + vbox({ + text("🏫 Plano East Senior High School (2022–2026)") | color(Color::LightGreen) | bold, + text("STEM & Multi-disciplinary Endorsement") | hacker_text_style, + text("Computer Science & Mathematics concentrations") | hacker_text_style | dim, + }) | hacker_border_style, - Component container = Container::Vertical({}); + separator(), - for (const std::string& entry : entries) { - Component card = Renderer([entry]() -> Element { - return text(entry) | hacker_text_style | hacker_border_style; - }); - container->Add(card); - } + // Coursework section + vbox({ + text("πŸ“š Relevant Coursework:") | color(Color::LightGreen) | bold, + text("β€’ Data Structures & Algorithms") | hacker_text_style, + text("β€’ Object-Oriented Programming") | hacker_text_style, + text("β€’ Calculus & Differential Equations") | hacker_text_style, + text("β€’ Probability & Statistics") | hacker_text_style, + text("β€’ Newtonian Physics") | hacker_text_style, + }) | hacker_border_style, - return Renderer(container, [container]() -> Element { - return vbox(container->Render()) | vscroll_indicator | yframe | flex; + separator(), + + // Research section + vbox({ + text("πŸ”¬ Research Experience:") | color(Color::LightGreen) | bold, + text("Research Assistant to Dr. Madan M. T. Ayyalasomayajula (2022–Present)") | hacker_text_style, + text("β€’ Literature review and concept summarization") | hacker_text_style | dim, + text("β€’ Technical framework evaluation and benchmarking") | hacker_text_style | dim, + text("β€’ Research direction discussions and workflow analysis") | hacker_text_style | dim, + }) | hacker_border_style, + + }) | flex; }); } Component MakeWorkPage() { - const std::vector jobs = { - "πŸ‘‘ President, Cybersecurity Club at PESH (2023–2026)\nEthical hacking workshops, CTF prep, digital forensics mentoring", - "πŸ’» Officer, Computer Science Club at PESH (2023–2026)\nData structures instruction, Java sessions, Git workflows", - "πŸ” Trace Labs OSINT Search Party (2023–2024)\nMissing person investigations, OSINT pivoting, geolocation analysis", - "πŸ‡ΊπŸ‡¦ IT Army of Ukraine (Dec 2023–Feb 2024)\nOffensive squad leader, DDoS campaigns, persistent takedowns", - "🎯 Active Red Team Practitioner\nHack The Box (Rank 564), TryHackMe KoTH Top 5, 15+ HTB machines" + struct WorkEntry { + std::string title; + std::string description; + }; + + const std::vector jobs = { + {"πŸ‘‘ President, Cybersecurity Club at PESH (2023–2026)", + "Ethical hacking workshops, CTF prep, digital forensics mentoring"}, + {"πŸ’» Officer, Computer Science Club at PESH (2023–2026)", + "Data structures instruction, Java sessions, Git workflows"}, + {"πŸ” Trace Labs OSINT Search Party (2023–2024)", + "Missing person investigations, OSINT pivoting, geolocation analysis"}, + {"πŸ‡ΊπŸ‡¦ IT Army of Ukraine (Dec 2023–Feb 2024)", + "Offensive squad leader, DDoS campaigns, persistent takedowns"}, + {"🎯 Active Red Team Practitioner", + "Hack The Box (Rank 564), TryHackMe KoTH Top 5, 15+ HTB machines"} }; Component container = Container::Vertical({}); - for (const std::string& job : jobs) { + for (const WorkEntry& job : jobs) { Component card = Renderer([job]() -> Element { - return text(job) | hacker_text_style | hacker_border_style; + return vbox({ + text(job.title) | color(Color::LightGreen) | bold, + text(job.description) | hacker_text_style | dim, + }) | hacker_border_style; }); container->Add(card); } @@ -110,20 +176,34 @@ Component MakeWorkPage() { Component MakeAwardsPage() { const std::vector awards = { - "πŸ₯ˆ Lockheed Martin Code Quest β€” 2nd Place (2025)\nDFW metroplex, reverse engineering & low-level security", - "πŸ₯‡ CyberPatriot β€” State Level Gold Tier (2025)\nOffensive security analysis in blue-team environment", - "πŸ† Battle of the Brains β€” 5th Place Spring 2024, 10th Place Spring 2025\nRegional algorithms competitions at UTD", - "πŸ”“ NSA Codebreaker Challenge (Nov 2024)\n5 advanced tasks: protocol exploitation, reverse engineering", - "πŸ‘‘ TryHackMe King of the Hill β€” Top 5 (2024)\n2 consecutive days, live red team capabilities", - "πŸ’€ Hack The Box β€” Peak Rank 564\n15+ Medium machines, 90% progress toward 'Hacker' rank" + "πŸ₯ˆ Lockheed Martin Code Quest β€” 2nd Place (2025)", + "DFW metroplex, reverse engineering & low-level security", + "πŸ₯‡ CyberPatriot β€” State Level Gold Tier (2025)", + "Offensive security analysis in blue-team environment", + "πŸ† Battle of the Brains β€” 5th Place Spring 2024, 10th Place Spring 2025", + "Regional algorithms competitions at UTD", + "πŸ”“ NSA Codebreaker Challenge (Nov 2024)", + "5 advanced tasks: protocol exploitation, reverse engineering", + "πŸ‘‘ TryHackMe King of the Hill β€” Top 5 (2024)", + "2 consecutive days, live red team capabilities", + "πŸ’€ Hack The Box β€” Peak Rank 564", + "15+ Medium machines, 90% progress toward 'Hacker' rank" }; Component container = Container::Vertical({}); - for (const std::string& award : awards) { - Component card = Renderer([award]() -> Element { - return text(award) | hacker_text_style | hacker_border_style; + // Process awards in pairs (title + description) + for (size_t i = 0; i < awards.size(); i += 2) { + const std::string& title = awards[i]; + const std::string& desc = (i + 1 < awards.size()) ? awards[i + 1] : ""; + + Component card = Renderer([title, desc]() -> Element { + return vbox({ + text(title) | color(Color::LightGreen) | bold, + text(desc) | hacker_text_style | dim, + }) | hacker_border_style; }); + container->Add(card); }