#include #include #include #include #include #include #include "content.hpp" using namespace ftxui; // Hacker-style reusable styles const auto hacker_text_style = color(Color::Green) | bold | dim; const auto hacker_border_style = border | color(Color::Green); const auto hacker_link_style = color(Color::LightGreen) | underlined; const auto hacker_button_style = color(Color::Green) | bold; const auto hacker_button_active_style = color(Color::LightGreen) | bold; // ------------------ // Pages // ------------------ Component MakeAboutPage() { return Renderer([]() -> Element { return vbox({ // Header section vbox({ text("Keshav Anand") | color(Color::LightGreen) | bold | center, text("ML Researcher, FTC Programmer, & CS/Maths Enthusiast") | hacker_text_style | center, }) | hacker_border_style, separator(), // Current status vbox({ text("Current Status:") | color(Color::LightGreen) | bold, text("Junior at Plano East (1/1264)") | hacker_text_style, text("Lead SW for FTC 23344 Technical Turbulence") | hacker_text_style, text("Vice President, Science Fair") | hacker_text_style, text("President, Cricket Club") | hacker_text_style, }) | hacker_border_style, separator(), // Location and contact vbox({ text("DFW Metroplex, Texas") | hacker_text_style | center, text("keshavanandofficial.gmail.com") | hacker_link_style | center, }) | hacker_border_style, }) | flex; }); } Component MakeProjectsPage() { const std::vector projects = { {"๐Ÿ—ƒ๏ธ Matrix FS โ€” L2 distributed storage over IPFS", "Rust + Tauri + Svelte, AES-256-CBC/ChaCha20-Poly1305 encryption"}, {"๐ŸŽ“ Bon Voyage โ€” AI MOOC content generator", "Java + Stanford CoreNLP, MLH Hackathon winner"}, {"๐Ÿฅ EHR System โ€” Secure health records platform", "Java client-server, TCP/IP sockets, Swing GUI, SMB integration"}, {"๐Ÿงฎ Rule-based Tensor Mutations for LLMs", "Novel LLaMA 3B enhancement, published on TechRxiv"}, {"๐Ÿ  Home Infrastructure โ€” 50-user self-hosted platform", "40+ Docker containers, WireGuard mesh, 150TB ZFS NAS"}, {"๐Ÿค– SLAM Guide for Autonomous Robotics", "Probabilistic mapping algorithms, F1Tenth platform experience"}, {"โš”๏ธ CyberPatriot Automation Suite", "Rust/PowerShell scripts, 30+ points per round, licensed to other teams"} }; Component container = Container::Vertical({}); for (const Project& project : projects) { Component card = Renderer([project]() -> Element { Element title = text(project.title) | hacker_text_style | bold; Element desc = text(project.link) | color(Color::GreenYellow); return vbox({ title, desc }) | hacker_border_style; }); container->Add(card); } return Renderer(container, [container]() -> Element { return vbox(container->Render()) | vscroll_indicator | yframe | flex; }); } Component MakeEducationPage() { 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, separator(), // 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, 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() { 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 WorkEntry& job : jobs) { Component card = Renderer([job]() -> Element { return vbox({ text(job.title) | color(Color::LightGreen) | bold, text(job.description) | hacker_text_style | dim, }) | hacker_border_style; }); container->Add(card); } return Renderer(container, [container]() -> Element { return vbox(container->Render()) | vscroll_indicator | yframe | flex; }); } Component MakeAwardsPage() { const std::vector awards = { "๐Ÿฅˆ Lockheed Martin Cyber 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({}); // 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); } return Renderer(container, [container]() -> Element { return vbox(container->Render()) | vscroll_indicator | yframe | flex; }); } Component MakeSkillsPage() { const std::string skills_content = "๐Ÿฆ€ Languages: Rust (5/5), Async Rust, Python, Java, C/C++, TypeScript, Solidity\n\n" "๐ŸŒ Networking: WireGuard, Tailscale, Tor, I2P, DNS, DHCP, TLS, gRPC, QUIC\n\n" "โš”๏ธ Red Team Arsenal:\n" " โ€ข Recon: amass, subfinder, shodan, nuclei, ffuf\n" " โ€ข Web: sqlmap, Burp Suite Pro, OWASP ZAP, nikto\n" " โ€ข Post-Exploit: Empire, Covenant, Metasploit, Cobalt Strike\n" " โ€ข AD: BloodHound, Rubeus, mimikatz, impacket\n" " โ€ข PrivEsc: linPEAS, winPEAS, JuicyPotato\n\n" "๐Ÿ” Crypto: ChaCha20Poly1305, Ed25519, Kyber1024, Dilithium5, TLS 1.3\n\n" "๐Ÿง Systems: Arch Linux, kernel patching, BPF/eBPF, QEMU/KVM, systemd\n\n" "โ˜๏ธ Cloud: AWS (EC2, S3, Lambda), Terraform, Docker, Kubernetes"; return Renderer([skills_content]() -> Element { return paragraph(skills_content) | hacker_text_style | flex; }); } Component MakeContactPage() { const std::string contact_info = "๐Ÿ“ซ Email: krishna@ayyalasomayajula.net\n" "๐ŸŒ Website: https://krishna.ayyalasomayajula.net\n" "๐Ÿ“ž Phone: (214) 293-5743\n" "๐Ÿ“ Based in DFW Metroplex, Texas\n" "๐Ÿ’ณ US Green Card Holder\n" "๐Ÿ“„ Resume: https://git.cyber.ayyalasomayajula.net/marsultor/resume-cv/raw/branch/master/resume.pdf\n\n" "๐Ÿ”— Connect with me for:\n" " โ€ข Cybersecurity research collaboration\n" " โ€ข Red team consulting\n" " โ€ข Distributed systems projects\n" " โ€ข AI/ML security research"; return Renderer([contact_info]() -> Element { return paragraph(contact_info) | hacker_text_style | flex; }); } // Constructor implementation PortfolioApp::PortfolioApp() { // Build individual pages about_page_ = MakeAboutPage(); projects_page_ = MakeProjectsPage(); education_page_ = MakeEducationPage(); work_page_ = MakeWorkPage(); awards_page_ = MakeAwardsPage(); skills_page_ = MakeSkillsPage(); contact_page_ = MakeContactPage(); // Add pages to vector pages_.push_back(about_page_); pages_.push_back(projects_page_); pages_.push_back(education_page_); pages_.push_back(work_page_); pages_.push_back(awards_page_); pages_.push_back(skills_page_); pages_.push_back(contact_page_); // Create navigation sidebar with green styling std::vector labels = {"About", "Projects", "Education", "Work", "Awards", "Skills", "Contact"}; std::vector buttons; for (int i = 0; i < (int)labels.size(); ++i) { Component button = Button(labels[i], [&, i] { SwitchPage(i); }) | (i == current_page_ ? hacker_button_active_style : hacker_button_style); buttons.push_back(button); } navigation_ = Container::Vertical(buttons); // Initial layout Component separator_component = Renderer([] { return separator(); }); Add(Container::Horizontal(Components{ navigation_, separator_component, pages_[current_page_] })); } // SwitchPage method implementation void PortfolioApp::SwitchPage(int index) { current_page_ = index; DetachAllChildren(); Component separator_component = Renderer([] { return separator(); }); Add(Container::Horizontal(Components{ navigation_, separator_component, pages_[current_page_] })); } // Render method implementation Element PortfolioApp::Render() { return hbox({ navigation_->Render() | hacker_border_style, separator(), pages_[current_page_]->Render() | hacker_border_style | flex }); } // OnEvent method implementation bool PortfolioApp::OnEvent(Event event) { if (event == Event::ArrowRight) { SwitchPage((current_page_ + 1) % pages_.size()); return true; } if (event == Event::ArrowLeft) { SwitchPage((current_page_ - 1 + pages_.size()) % pages_.size()); return true; } return ComponentBase::OnEvent(event); }