{"id":12,"date":"2026-06-12T12:54:07","date_gmt":"2026-06-12T12:54:07","guid":{"rendered":"https:\/\/msgportfolio.com\/?page_id=12"},"modified":"2026-06-12T12:54:07","modified_gmt":"2026-06-12T12:54:07","slug":"projects","status":"publish","type":"page","link":"https:\/\/msgportfolio.com\/?page_id=12","title":{"rendered":"Projects"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12\" class=\"elementor elementor-12\">\n\t\t\t\t<div class=\"elementor-element elementor-element-998ad30 mg-page-hero e-con-boxed e-flex e-con e-parent\" data-id=\"998ad30\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97e9f57 mg-eyebrow elementor-widget elementor-widget-heading\" data-id=\"97e9f57\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">\/\/ project_portfolio<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c519d9b elementor-widget elementor-widget-heading\" data-id=\"c519d9b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Every Project Has a <span class=\"mg-grad\">Story<\/span><\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e651b6b elementor-widget elementor-widget-text-editor\" data-id=\"e651b6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"color:#8892A4;font-size:1.05rem;max-width:510px;line-height:1.75;\">Explore the full range of what I&#8217;ve built \u2014 each one designed to demonstrate real skills, real decisions, and real results worth talking about.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3e4dedc e-con-boxed e-flex e-con e-parent\" data-id=\"3e4dedc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f8aa7d elementor-tabs-view-horizontal elementor-tabs-alignment-flex-start elementor-widget elementor-widget-tabs\" data-id=\"1f8aa7d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tabs.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-tabs\">\n\t\t\t<div class=\"elementor-tabs-wrapper\" role=\"tablist\" >\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-3301\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-3301\" aria-expanded=\"false\">All Projects<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-3302\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-3302\" aria-expanded=\"false\">Web Apps<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-3303\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-3303\" aria-expanded=\"false\">Backend<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-3304\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"4\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-3304\" aria-expanded=\"false\">Python<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-3305\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"5\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-3305\" aria-expanded=\"false\">ML \/ Data<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"elementor-tabs-content-wrapper\" role=\"tablist\" aria-orientation=\"vertical\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-3301\" aria-expanded=\"false\">All Projects<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-3301\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-3301\" tabindex=\"0\" hidden=\"false\"><div style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px;\"><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1517694712202-14dd9538aa97?w=700&#038;q=80\" alt=\"ShopFlow e-commerce project\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">React<\/span><span class=\"mg-tag\">Node.js<\/span><span class=\"mg-tag\">MongoDB<\/span><span class=\"mg-tag\">Stripe<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">ShopFlow \u2014 E-Commerce Platform<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A full-stack e-commerce platform for real retail workflows: product catalog, cart system, Stripe payment integration, order tracking, and a live admin analytics dashboard.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2024<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1555949963-ff9fe0c870eb?w=700&#038;q=80\" alt=\"DataStream AI analytics pipeline\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Python<\/span><span class=\"mg-tag\">FastAPI<\/span><span class=\"mg-tag\">scikit-learn<\/span><span class=\"mg-tag\">PostgreSQL<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">DataStream \u2014 AI Analytics Pipeline<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">An intelligent data processing pipeline that ingests CSV or JSON data, runs ML classification models, and exposes insights via a FastAPI REST interface.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2024<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1551288049-bebda4e38f71?w=700&#038;q=80\" alt=\"PulseBoard real-time dashboard\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">TypeScript<\/span><span class=\"mg-tag\">WebSockets<\/span><span class=\"mg-tag\">D3.js<\/span><span class=\"mg-tag\">PostgreSQL<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">PulseBoard \u2014 Real-Time Dashboard<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A live KPI monitoring dashboard using WebSockets for real-time updates. D3.js charting, date-range filtering, drill-down views, PostgreSQL backend.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2024<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1558494949-ef010cbdcc31?w=700&#038;q=80\" alt=\"AuthForge authentication API\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Node.js<\/span><span class=\"mg-tag\">Express<\/span><span class=\"mg-tag\">JWT<\/span><span class=\"mg-tag\">Redis<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">AuthForge \u2014 Authentication API<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A production-grade auth microservice: JWT refresh tokens, OAuth2 login via Google\/GitHub, Redis-backed rate limiting, role-based access control, Swagger docs.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1526374965328-7f61d4dc18c5?w=700&#038;q=80\" alt=\"ScrapeBot Python web scraper\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Python<\/span><span class=\"mg-tag\">Scrapy<\/span><span class=\"mg-tag\">Celery<\/span><span class=\"mg-tag\">SQLite<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">ScrapeBot \u2014 Automated Web Scraper<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A configurable scraping system using Scrapy with Celery-powered scheduling. Multi-site support, proxy rotation, CAPTCHA detection, and CSV\/JSON\/SQLite exports.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1611532736597-de2d4265fba3?w=700&#038;q=80\" alt=\"TaskNest Kanban project management\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">React<\/span><span class=\"mg-tag\">Firebase<\/span><span class=\"mg-tag\">Tailwind<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">TaskNest \u2014 Project Management App<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A Kanban-style project management app with real-time collaboration, drag-and-drop boards, assignee tracking, due dates, and Firebase-powered sync.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1504868584819-f8e8b4b6d7e3?w=700&#038;q=80\" alt=\"SentimentLens NLP BERT analysis\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Python<\/span><span class=\"mg-tag\">NLP<\/span><span class=\"mg-tag\">BERT<\/span><span class=\"mg-tag\">Flask<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">SentimentLens \u2014 NLP Analyzer<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A sentiment analysis tool using a fine-tuned BERT model to classify text as positive, neutral, or negative. Includes a Flask web UI and batch CSV mode.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2024<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1544197150-b99a580bb7a8?w=700&#038;q=80\" alt=\"CloudVault file storage API\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Node.js<\/span><span class=\"mg-tag\">AWS S3<\/span><span class=\"mg-tag\">MySQL<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">CloudVault \u2014 File Storage API<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A scalable file upload\/retrieval API with AWS S3 integration, file type validation, access-controlled share links, usage quotas, and MySQL metadata store.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1579389083078-4e7018379f7e?w=700&#038;q=80\" alt=\"FinTrack Python finance CLI\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Python<\/span><span class=\"mg-tag\">Pandas<\/span><span class=\"mg-tag\">Matplotlib<\/span><span class=\"mg-tag\">CLI<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">FinTrack \u2014 Personal Finance CLI<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A command-line personal finance tracker that imports bank CSV exports, auto-categorizes transactions, generates monthly reports, and renders spending charts.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-3302\" aria-expanded=\"false\">Web Apps<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-3302\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-3302\" tabindex=\"0\" hidden=\"hidden\"><div style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px;\"><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1517694712202-14dd9538aa97?w=700&#038;q=80\" alt=\"ShopFlow e-commerce project\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">React<\/span><span class=\"mg-tag\">Node.js<\/span><span class=\"mg-tag\">MongoDB<\/span><span class=\"mg-tag\">Stripe<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">ShopFlow \u2014 E-Commerce Platform<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A full-stack e-commerce platform for real retail workflows: product catalog, cart system, Stripe payment integration, order tracking, and a live admin analytics dashboard.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2024<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1551288049-bebda4e38f71?w=700&#038;q=80\" alt=\"PulseBoard real-time dashboard\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">TypeScript<\/span><span class=\"mg-tag\">WebSockets<\/span><span class=\"mg-tag\">D3.js<\/span><span class=\"mg-tag\">PostgreSQL<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">PulseBoard \u2014 Real-Time Dashboard<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A live KPI monitoring dashboard using WebSockets for real-time updates. D3.js charting, date-range filtering, drill-down views, PostgreSQL backend.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2024<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1611532736597-de2d4265fba3?w=700&#038;q=80\" alt=\"TaskNest Kanban project management\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">React<\/span><span class=\"mg-tag\">Firebase<\/span><span class=\"mg-tag\">Tailwind<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">TaskNest \u2014 Project Management App<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A Kanban-style project management app with real-time collaboration, drag-and-drop boards, assignee tracking, due dates, and Firebase-powered sync.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-3303\" aria-expanded=\"false\">Backend<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-3303\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-3303\" tabindex=\"0\" hidden=\"hidden\"><div style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px;\"><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1558494949-ef010cbdcc31?w=700&#038;q=80\" alt=\"AuthForge authentication API\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Node.js<\/span><span class=\"mg-tag\">Express<\/span><span class=\"mg-tag\">JWT<\/span><span class=\"mg-tag\">Redis<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">AuthForge \u2014 Authentication API<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A production-grade auth microservice: JWT refresh tokens, OAuth2 login via Google\/GitHub, Redis-backed rate limiting, role-based access control, Swagger docs.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1544197150-b99a580bb7a8?w=700&#038;q=80\" alt=\"CloudVault file storage API\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Node.js<\/span><span class=\"mg-tag\">AWS S3<\/span><span class=\"mg-tag\">MySQL<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">CloudVault \u2014 File Storage API<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A scalable file upload\/retrieval API with AWS S3 integration, file type validation, access-controlled share links, usage quotas, and MySQL metadata store.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"4\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-3304\" aria-expanded=\"false\">Python<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-3304\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-3304\" tabindex=\"0\" hidden=\"hidden\"><div style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px;\"><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1526374965328-7f61d4dc18c5?w=700&#038;q=80\" alt=\"ScrapeBot Python web scraper\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Python<\/span><span class=\"mg-tag\">Scrapy<\/span><span class=\"mg-tag\">Celery<\/span><span class=\"mg-tag\">SQLite<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">ScrapeBot \u2014 Automated Web Scraper<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A configurable scraping system using Scrapy with Celery-powered scheduling. Multi-site support, proxy rotation, CAPTCHA detection, and CSV\/JSON\/SQLite exports.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1579389083078-4e7018379f7e?w=700&#038;q=80\" alt=\"FinTrack Python finance CLI\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Python<\/span><span class=\"mg-tag\">Pandas<\/span><span class=\"mg-tag\">Matplotlib<\/span><span class=\"mg-tag\">CLI<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">FinTrack \u2014 Personal Finance CLI<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A command-line personal finance tracker that imports bank CSV exports, auto-categorizes transactions, generates monthly reports, and renders spending charts.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2023<\/span><\/div><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"5\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-3305\" aria-expanded=\"false\">ML \/ Data<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-3305\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"5\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-3305\" tabindex=\"0\" hidden=\"hidden\"><div style=\"display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px;\"><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1555949963-ff9fe0c870eb?w=700&#038;q=80\" alt=\"DataStream AI analytics pipeline\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Python<\/span><span class=\"mg-tag\">FastAPI<\/span><span class=\"mg-tag\">scikit-learn<\/span><span class=\"mg-tag\">PostgreSQL<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">DataStream \u2014 AI Analytics Pipeline<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">An intelligent data processing pipeline that ingests CSV or JSON data, runs ML classification models, and exposes insights via a FastAPI REST interface.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2024<\/span><\/div><\/div><\/div><div class=\"mg-project-card\" style=\"margin-bottom:24px;\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1504868584819-f8e8b4b6d7e3?w=700&#038;q=80\" alt=\"SentimentLens NLP BERT analysis\" style=\"width:100%;height:210px;object-fit:cover;display:block;\" loading=\"lazy\" \/><div style=\"padding:22px 24px 24px;\"><div style=\"margin-bottom:12px;\"><span class=\"mg-tag\">Python<\/span><span class=\"mg-tag\">NLP<\/span><span class=\"mg-tag\">BERT<\/span><span class=\"mg-tag\">Flask<\/span><\/div><h3 style=\"color:#F0F4FF;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 9px;\">SentimentLens \u2014 NLP Analyzer<\/h3><p style=\"color:#8892A4;font-size:0.87rem;line-height:1.65;margin:0 0 20px;\">A sentiment analysis tool using a fine-tuned BERT model to classify text as positive, neutral, or negative. Includes a Flask web UI and batch CSV mode.<\/p><div style=\"display:flex;justify-content:space-between;align-items:center;\"><div><a href=\"#\" style=\"color:#3B6FFF;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;margin-right:16px;\">Live Demo \u2192<\/a><a href=\"#\" style=\"color:#8892A4;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:0.85rem;text-decoration:none;\">GitHub \u2197<\/a><\/div><span style=\"font-family:JetBrains Mono,monospace;font-size:0.7rem;color:#8892A4;\">2024<\/span><\/div><\/div><\/div><\/div><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1886e55 e-con-boxed e-flex e-con e-parent\" data-id=\"1886e55\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ae1e174 mg-cta-block e-con-full e-flex e-con e-child\" data-id=\"ae1e174\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-040fc77 mg-eyebrow elementor-widget elementor-widget-heading\" data-id=\"040fc77\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">\/\/ want_to_see_more<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-146fec6 elementor-widget elementor-widget-heading\" data-id=\"146fec6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Want the Full GitHub?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63a1969 elementor-widget elementor-widget-text-editor\" data-id=\"63a1969\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"color:#8892A4;max-width:480px;text-align:center;margin:0 auto;\">All projects include source code, README documentation, and commit history \u2014 so you can see exactly how I work and think.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dbb71fd e-con-full e-flex e-con e-child\" data-id=\"dbb71fd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4216010 mg-btn-cyan elementor-align-center elementor-widget elementor-widget-button\" data-id=\"4216010\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">View GitHub Profile \u2192<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dcace57 mg-btn-outline elementor-align-center elementor-widget elementor-widget-button\" data-id=\"dcace57\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"\/contact\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Get In Touch<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":4,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/msgportfolio.com\/index.php?rest_route=\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/msgportfolio.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/msgportfolio.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/msgportfolio.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/msgportfolio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12"}],"version-history":[{"count":0,"href":"https:\/\/msgportfolio.com\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions"}],"wp:attachment":[{"href":"https:\/\/msgportfolio.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}