diff --git a/css/styles.css b/css/styles.css
index 3217e821bd..4640ce3b39 100644
--- a/css/styles.css
+++ b/css/styles.css
@@ -1,12 +1,1406 @@
-/*!
- Title: Dev Portfolio Template
- Version: 1.2.2
- Last Change: 03/25/2020
- Author: Ryan Fitzgerald
- Repo: https://github.com/RyanFitzgerald/devportfolio-template
- Issues: https://github.com/RyanFitzgerald/devportfolio-template/issues
-
- Description: This file contains all the styles associated with the page
- that don't come from third party libraries. This file gets compiled using
- Gulp and send to the /css folder which is then loaded on the page.
-*/body{font-family:'Lato', sans-serif;font-size:16px}body.active{overflow:hidden;z-index:-1}.no-js #experience-timeline>div{background:#fff;padding:10px;margin-bottom:10px;border:1px solid #dcd9d9}.no-js #experience-timeline>div h3{font-size:1.5em;font-weight:300;color:#374054;display:inline-block;margin:0}.no-js #experience-timeline>div h4{font-size:1.2em;font-weight:300;color:#7e8890;margin:0 0 15px 0}.no-js #experience-timeline>div p{color:#74808a;font-size:0.9em;margin:0}.no-js #experience-timeline:before,.no-js #experience-timeline:after{content:none}@keyframes dropHeader{0%{transform:translateY(-100%)}100%{transform:translateY(0)}}header{position:absolute;top:0;left:0;right:0;text-align:center;z-index:10;animation-name:dropHeader;animation-iteration-count:1;animation-timing-function:ease;animation-duration:0.75s}header ul{display:inline-block;background:#fff;text-align:center;padding:10px;margin:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}header li{display:inline-block}header a{display:block;color:#3498db;padding:10px}header a:hover{color:#217dbb;text-decoration:none;background:#eee;border-radius:4px}header a:focus{color:#3498db;text-decoration:none}header.active{display:block}header.sticky{position:fixed;z-index:999}#menu.active{display:block}#mobile-menu-open{display:none;cursor:pointer;position:fixed;right:15px;top:10px;color:#3498db;font-size:1.5em;z-index:20;padding:0 7px;border-radius:4px;background:#fff}#mobile-menu-close{display:none;text-align:right;width:100%;background:#fff;font-size:1.5em;padding-right:15px;padding-top:10px;cursor:pointer;color:#3498db}#mobile-menu-close span{font-size:0.5em;text-transform:uppercase}#mobile-menu-close i{vertical-align:middle}footer{padding:50px 0}.copyright{padding-top:20px}.copyright p{margin:0;color:#74808a}.top{text-align:center}.top span{cursor:pointer;display:block;margin:15px auto 0 auto;width:35px;height:35px;border-radius:50%;border:3px solid #b9bfc4;text-align:center}.top i{color:#74808a}.social{text-align:right}.social ul{margin:5px 0 0 0;padding:0}.social li{display:inline-block;font-size:1.25em;list-style:none}.social a{display:block;color:#74808a;padding:10px}.social a:hover{color:#3498db}.btn-rounded-white{display:inline-block;color:#fff;padding:15px 25px;border:3px solid #fff;border-radius:30px;transition:.5s ease all}.btn-rounded-white:hover{color:#3498db;background:#fff;text-decoration:none}.shadow{box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}.shadow-large{box-shadow:0 3px 6px rgba(0,0,0,0.08),0 3px 6px rgba(0,0,0,0.15)}.heading{position:relative;display:inline-block;font-size:2em;font-weight:300;margin:0 0 30px 0}.heading:after{position:absolute;content:'';top:100%;height:1px;width:50px;left:0;right:0;margin:0 auto;background:#3498db}.background-alt{background:#f2f2f5}#lead{position:relative;height:100vh;min-height:500px;max-height:1080px;background:url(../images/lead-bg.jpg);background-size:cover;padding:15px;overflow:hidden}#lead-content{position:absolute;z-index:10;top:50%;left:50%;transform:translate(-50%, -50%);text-align:center}#lead-content h1,#lead-content h2{margin:0}#lead-content h1{color:#fff;font-weight:900;font-size:5em;text-transform:uppercase;letter-spacing:0.05em;line-height:0.9em}#lead-content h2{color:#a0cfee;font-weight:500;font-size:2.25em;margin-bottom:15px}#lead-overlay{position:absolute;height:100%;width:100%;top:0;right:0;bottom:0;left:0;background:rgba(33,125,187,0.8);z-index:1}#lead-down{position:absolute;left:0;right:0;width:100%;text-align:center;z-index:10;bottom:15px;color:#fff}#lead-down span{cursor:pointer;display:block;margin:0 auto;width:35px;height:35px;border-radius:50%;border:3px solid #a0cfee;text-align:center}#lead-down i{animation:pulsate 1.5s ease;animation-iteration-count:infinite;padding-top:5px}@keyframes pulsate{0%{transform:scale(1, 1)}50%{transform:scale(1.2, 1.2)}100%{transform:scale(1, 1)}}#about{padding:75px 15px;border-bottom:1px solid #dcd9d9}#about h2{color:#374054}#about p{color:#74808a;margin:0}#experience{padding:50px 15px;text-align:center;border-bottom:1px solid #dcd9d9}#experience h2{color:#374054}#experience-timeline{margin:30px auto 0 auto;position:relative;max-width:1000px}#experience-timeline:before{position:absolute;content:'';top:0;bottom:0;left:303px;right:auto;height:100%;width:3px;background:#3498db;z-index:0}#experience-timeline:after{position:absolute;content:'';width:3px;height:40px;background:#3498db;background:linear-gradient(to bottom, #3498db, rgba(52,152,219,0));top:100%;left:303px}.vtimeline-content{margin-left:350px;background:#fff;border:1px solid #e6e6e6;padding:15px;border-radius:3px;text-align:left}.vtimeline-content h3{font-size:1.5em;font-weight:300;color:#374054;display:inline-block;margin:0}.vtimeline-content h4{font-size:1.2em;font-weight:300;color:#7e8890;margin:0 0 15px 0}.vtimeline-content p{color:#74808a;font-size:0.9em;margin:0}.vtimeline-point{position:relative;display:block;vertical-align:top;margin-bottom:30px}.vtimeline-icon{position:relative;color:#fff;width:50px;height:50px;background:#3498db;border-radius:50%;float:left;z-index:99;margin-left:280px}.vtimeline-icon i{display:block;font-size:2em;margin-top:10px}.vtimeline-date{width:260px;text-align:right;position:absolute;left:0;top:10px;font-weight:300;color:#374054}#education{padding:50px 15px 20px 15px;border-bottom:1px solid #dcd9d9;text-align:center}#education h2{color:#374054;margin-bottom:50px}.education-block{max-width:700px;margin:0 auto 30px auto;padding:15px;border:1px solid #dcd9d9;text-align:left}.education-block h3{font-weight:500;float:left;margin:0;color:#374054}.education-block span{color:#74808a;float:right}.education-block h4{color:#74808a;clear:both;font-weight:500;margin:0 0 15px 0}.education-block p,.education-block ul{margin:0;color:#74808a;font-size:0.9em}.education-block ul{padding:0 0 0 15px}#projects{padding:50px 15px;border-bottom:1px solid #dcd9d9;text-align:center}#projects h2{color:#374054;margin-bottom:50px}.project{position:relative;max-width:900px;margin:0 auto 30px auto;overflow:hidden;background:#fff;border-radius:4px}.project-image{float:left}.project-info{position:absolute;top:50%;transform:translateY(-50%);margin-left:300px;padding:15px}.project-info h3{font-size:1.5em;font-weight:300;color:#374054;margin:0 0 15px 0}.project-info p{color:#74808a;margin:0 0 15px 0;font-size:0.9em}.no-image .project-info{position:relative;margin:0;padding:30px 15px;transform:none}#more-projects{display:none}#skills{padding:50px 15px;text-align:center}#skills h2{color:#374054;margin-bottom:50px}#skills ul{display:block;margin:0 auto;padding:0;max-width:800px}#skills li{display:inline-block;margin:7px;padding:5px 10px;color:#374054;background:#e4e4ea;list-style:none;cursor:default;font-size:1.2em}#contact{padding:50px 15px;background:#3498db;text-align:center}#contact h2{margin:0 0 15px 0;color:#fff;font-weight:500}#contact-form{max-width:500px;margin:0 auto}#contact-form input,#contact-form textarea{display:block;width:100%;padding:10px;border-radius:4px;border:none;margin-bottom:10px;background:#1d6fa5;color:#fff;transition:.5s ease all}#contact-form input::-webkit-input-placeholder,#contact-form textarea::-webkit-input-placeholder{color:#fff}#contact-form input:-moz-placeholder,#contact-form textarea:-moz-placeholder{color:#fff;opacity:1}#contact-form input::-moz-placeholder,#contact-form textarea::-moz-placeholder{color:#fff;opacity:1}#contact-form input:-ms-input-placeholder,#contact-form textarea:-ms-input-placeholder{color:#fff}#contact-form input:focus,#contact-form textarea:focus{outline:none;background:#16527a}#contact-form textarea{height:150px;resize:none}#contact-form button{display:block;width:100%;background:#fff;border-radius:4px;padding:5px 10px;border:none;color:#3498db;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);transition:.5s ease all}#contact-form button:hover{box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}.optional-section{padding:50px 15px;text-align:center;border-top:1px solid #dcd9d9}.optional-section h2{color:#374054}.optional-section-block{max-width:700px;margin:0 auto 30px auto;padding:15px;border:1px solid #dcd9d9;background:#fff;text-align:left}.optional-section-block h3{font-weight:500;margin:0 0 15px 0;color:#374054}.optional-section-block h4{color:#74808a;clear:both;font-weight:500;margin:0 0 15px 0}.optional-section-block p,.optional-section-block ul{margin:0 0 15px 0;color:#74808a;font-size:0.9em}.optional-section-block ul{padding:0 0 0 15px}@media only screen and (max-width: 750px){#experience-timeline:before,#experience-timeline:after{left:23px}.vtimeline-date{width:auto;text-align:left;position:relative;margin-bottom:15px;display:block;margin-left:70px}.vtimeline-icon{margin-left:0}.vtimeline-content{margin-left:70px}}@media only screen and (max-width: 992px){#lead{height:auto;min-height:auto;max-height:auto;padding:100px 15px}#lead-content{position:relative;transform:none;left:auto;top:auto}#lead-content h1{font-size:3em}#lead-content h2{font-size:1.75em}#about{text-align:center}#about p{text-align:left}}@media only screen and (max-width: 768px){header{position:fixed;display:none;z-index:999;animation:none;bottom:0;height:100%}#mobile-menu-open,#mobile-menu-close{display:block}#menu{height:100%;overflow-y:auto;box-shadow:none;border-radius:0;width:100%}#menu li{display:block;margin-bottom:10px}#lead-content h1{font-size:2em}#lead-content h2{font-size:1.3em}#lead-content a{padding:10px 20px}#lead-down{display:none}.education-block h3,.education-block span{float:none}.project-image{display:none}.project-info{position:relative;margin:0;padding:30px 15px;top:auto;transform:none}footer{text-align:center}.social{text-align:center}}@media only screen and (max-width: 480px){#lead-content h1{font-size:1.5em}#lead-content h2{font-size:1em}#lead-content a{font-size:0.9em;padding:5px 10px}}
+:root {
+ --bg: #050816;
+ --surface: #0d132b;
+ --surface-soft: #131d3a;
+ --primary: #6ae3ff;
+ --primary-strong: #4ec8ff;
+ --text: #eaf1ff;
+ --text-soft: #a9b7d3;
+ --border: rgba(255, 255, 255, 0.12);
+}
+
+* {
+ box-sizing: border-box;
+}
+
+html,
+body {
+ margin: 0;
+ padding: 0;
+ font-family: 'Inter', sans-serif;
+ background: var(--bg);
+ color: var(--text);
+ scroll-behavior: smooth;
+}
+
+body.active {
+ overflow: hidden;
+}
+
+section {
+ padding: 90px 20px;
+ border-bottom: 1px solid var(--border);
+}
+
+a {
+ color: var(--primary);
+}
+
+header {
+ position: fixed;
+ width: 100%;
+ top: 0;
+ z-index: 1000;
+ display: flex;
+ justify-content: center;
+ pointer-events: none;
+}
+
+header ul {
+ pointer-events: auto;
+ margin: 16px 0;
+ padding: 10px;
+ border-radius: 999px;
+ background: rgba(10, 18, 41, 0.75);
+ backdrop-filter: blur(12px);
+ border: 1px solid var(--border);
+}
+
+header li {
+ display: inline-block;
+ list-style: none;
+}
+
+header a {
+ display: block;
+ color: var(--text);
+ font-weight: 500;
+ padding: 10px 16px;
+ border-radius: 999px;
+ transition: all 0.2s ease;
+}
+
+header a:hover,
+header a:focus {
+ text-decoration: none;
+ background: rgba(106, 227, 255, 0.2);
+ color: #fff;
+}
+
+#mobile-menu-open {
+ display: none;
+ position: fixed;
+ top: 18px;
+ right: 18px;
+ z-index: 1100;
+ font-size: 1.5rem;
+ background: rgba(10, 18, 41, 0.9);
+ color: #fff;
+ border: 1px solid var(--border);
+ border-radius: 10px;
+ padding: 5px 12px;
+ cursor: pointer;
+}
+
+#mobile-menu-close {
+ display: none;
+ text-align: right;
+ padding: 20px;
+ font-size: 1.4rem;
+}
+
+#lead {
+ min-height: 100vh;
+ background:
+ radial-gradient(circle at 15% 10%, rgba(106, 227, 255, 0.25), transparent 35%),
+ radial-gradient(circle at 80% 15%, rgba(92, 111, 255, 0.3), transparent 40%),
+ linear-gradient(160deg, #040611 0%, #090f24 48%, #050816 100%);
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#lead-overlay {
+ position: absolute;
+ inset: 0;
+ background: linear-gradient(to bottom, rgba(5, 8, 22, 0.15), rgba(5, 8, 22, 0.7));
+}
+
+#lead-content {
+ position: relative;
+ z-index: 2;
+ max-width: 1000px;
+ text-align: center;
+}
+
+.eyebrow {
+ color: var(--primary);
+ text-transform: uppercase;
+ letter-spacing: 0.1em;
+ font-size: 0.85rem;
+ margin-bottom: 12px;
+}
+
+#lead h1 {
+ font-size: clamp(2.6rem, 5vw, 4.5rem);
+ font-weight: 900;
+ margin: 0;
+}
+
+#lead h2 {
+ color: var(--text-soft);
+ max-width: 800px;
+ margin: 14px auto 0;
+ font-size: clamp(1.1rem, 2.3vw, 1.5rem);
+ font-weight: 400;
+ line-height: 1.5;
+}
+
+.hero-actions {
+ margin-top: 30px;
+ display: flex;
+ gap: 14px;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.btn-rounded-white,
+.btn-outline {
+ padding: 12px 24px;
+ border-radius: 999px;
+ font-weight: 600;
+ display: inline-block;
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
+}
+
+.btn-rounded-white {
+ background: var(--primary);
+ color: #02101d;
+}
+
+.btn-outline {
+ color: #fff;
+ border: 1px solid var(--border);
+ background: rgba(255, 255, 255, 0.04);
+}
+
+.btn-rounded-white:hover,
+.btn-outline:hover {
+ text-decoration: none;
+ transform: translateY(-2px);
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
+}
+
+.hero-metrics {
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+ gap: 16px;
+ margin-top: 40px;
+ width: 100%;
+}
+
+.interest-card {
+ background: rgba(255, 255, 255, 0.05);
+ backdrop-filter: blur(10px);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ padding: 22px 16px;
+ border-radius: 18px;
+ text-align: center;
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 10px;
+}
+
+.interest-card i {
+ font-size: 1.6rem;
+ color: var(--primary);
+}
+
+.interest-card strong {
+ display: block;
+ font-size: 1.05rem;
+ color: #fff;
+ font-weight: 700;
+}
+
+.interest-card span {
+ font-size: 0.8rem;
+ color: var(--text-soft);
+ text-transform: uppercase;
+ letter-spacing: 0.5px;
+ font-weight: 500;
+}
+
+.interest-card:hover {
+ transform: translateY(-8px);
+ background: rgba(255, 255, 255, 0.08);
+ border-color: var(--primary);
+ box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);
+}
+
+#lead-down {
+ position: absolute;
+ z-index: 2;
+ bottom: 22px;
+ left: 0;
+ right: 0;
+ text-align: center;
+}
+
+#lead-down span {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 38px;
+ height: 38px;
+ border-radius: 50%;
+ border: 1px solid var(--border);
+ cursor: pointer;
+ animation: pulse 1.8s infinite;
+}
+
+@keyframes pulse {
+ 0% {
+ transform: translateY(0);
+ }
+
+ 50% {
+ transform: translateY(6px);
+ }
+
+ 100% {
+ transform: translateY(0);
+ }
+}
+
+.heading {
+ display: inline-block;
+ position: relative;
+ font-weight: 800;
+ margin-bottom: 28px;
+}
+
+.heading::after {
+ content: '';
+ width: 48px;
+ height: 3px;
+ background: var(--primary);
+ position: absolute;
+ left: 0;
+ bottom: -10px;
+}
+
+.background-alt {
+ background: #060c1e;
+}
+
+#about p {
+ color: var(--text-soft);
+ line-height: 1.75;
+ margin-bottom: 16px;
+}
+
+#experience {
+ text-align: center;
+}
+
+#experience-timeline {
+ max-width: 1000px;
+ margin: 40px auto 0;
+ position: relative;
+}
+
+#experience-timeline:before {
+ content: '';
+ position: absolute;
+ width: 3px;
+ top: 0;
+ bottom: 0;
+ left: 300px;
+ background: linear-gradient(to bottom, var(--primary), transparent);
+}
+
+.vtimeline-point {
+ position: relative;
+ margin-bottom: 34px;
+}
+
+.vtimeline-icon {
+ position: absolute;
+ left: 277px;
+ top: 8px;
+ width: 46px;
+ height: 46px;
+ border-radius: 50%;
+ background: var(--primary);
+ color: #00111f;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 1.4rem;
+}
+
+.vtimeline-date {
+ position: absolute;
+ left: 0;
+ top: 14px;
+ width: 250px;
+ text-align: right;
+ color: var(--text-soft);
+}
+
+.vtimeline-content {
+ margin-left: 350px;
+ background: var(--surface);
+ border: 1px solid var(--border);
+ border-radius: 14px;
+ padding: 24px;
+ text-align: left;
+}
+
+.vtimeline-content h3 {
+ margin-top: 0;
+}
+
+.vtimeline-content h4,
+.vtimeline-content li {
+ color: var(--text-soft);
+}
+
+#projects {
+ text-align: center;
+}
+
+.project-grid {
+ max-width: 1150px;
+ margin: 10px auto 0;
+ display: grid;
+ grid-template-columns: repeat(3, minmax(240px, 1fr));
+ gap: 20px;
+}
+
+.project-card {
+ text-align: left;
+ border-radius: 16px;
+ padding: 24px;
+ background: var(--surface);
+ border: 1px solid var(--border);
+}
+
+.project-card p,
+.project-card li {
+ color: var(--text-soft);
+}
+
+#skills {
+ text-align: center;
+}
+
+#skills ul {
+ max-width: 920px;
+ margin: 0 auto;
+ padding: 0;
+}
+
+#skills li {
+ list-style: none;
+ display: inline-block;
+ margin: 6px;
+ padding: 10px 14px;
+ border-radius: 999px;
+ border: 1px solid var(--border);
+ background: rgba(255, 255, 255, 0.05);
+}
+
+#testimonials {
+ text-align: center;
+}
+
+.testimonials-grid {
+ max-width: 1150px;
+ margin: 40px auto 0;
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
+ gap: 24px;
+ padding: 0 20px;
+}
+
+.testimonial-card {
+ background: var(--surface);
+ border: 1px solid var(--border);
+ border-radius: 18px;
+ padding: 28px;
+ text-align: left;
+ display: flex;
+ flex-direction: column;
+ transition: transform 0.3s ease;
+}
+
+.testimonial-card:hover {
+ transform: translateY(-5px);
+}
+
+.testimonial-header {
+ display: flex;
+ align-items: center;
+ gap: 14px;
+ margin-bottom: 20px;
+}
+
+.testimonial-img {
+ width: 54px;
+ height: 54px;
+ border-radius: 50%;
+ object-fit: cover;
+ border: 2px solid var(--primary);
+}
+
+.testimonial-avatar-placeholder {
+ width: 54px;
+ height: 54px;
+ border-radius: 50%;
+ background: var(--surface-soft);
+ color: var(--primary);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-weight: 700;
+ font-size: 1.2rem;
+ border: 2px solid var(--primary);
+}
+
+.testimonial-author h4 {
+ margin: 0;
+ font-size: 1.05rem;
+ color: #fff;
+}
+
+.testimonial-author p {
+ margin: 4px 0 0;
+ font-size: 0.85rem;
+ color: var(--text-soft);
+ line-height: 1.3;
+}
+
+.testimonial-text {
+ font-style: italic;
+ color: var(--text-soft);
+ line-height: 1.6;
+ font-size: 0.95rem;
+ margin: 0;
+}
+
+.testimonials-footer,
+.projects-footer {
+ margin-top: 50px;
+ text-align: center;
+}
+
+/* Freelance Section */
+.freelance-grid {
+ max-width: 1100px;
+ margin: 40px auto 0;
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
+ gap: 30px;
+ padding: 0 20px;
+}
+
+.freelance-card {
+ background: var(--surface);
+ border-radius: 20px;
+ padding: 35px;
+ border: 1px solid var(--border);
+ transition: all 0.3s ease;
+}
+
+.freelance-card:hover {
+ border-color: var(--primary);
+ transform: translateY(-5px);
+}
+
+.freelance-card h3 {
+ margin: 0 0 10px;
+ color: #fff;
+ font-size: 1.4rem;
+}
+
+.client-links {
+ display: block;
+ margin-bottom: 20px;
+ font-size: 0.9rem;
+ color: var(--primary);
+}
+
+.client-links a {
+ color: var(--primary);
+ text-decoration: none;
+ font-weight: 600;
+}
+
+.freelance-card ul {
+ padding-left: 18px;
+ margin: 0;
+}
+
+.freelance-card li {
+ color: var(--text-soft);
+ margin-bottom: 12px;
+ line-height: 1.6;
+}
+
+/* Publications Section */
+.publications-grid {
+ max-width: 1100px;
+ margin: 40px auto 0;
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+ gap: 25px;
+ padding: 0 20px;
+}
+
+.pub-card {
+ background: var(--surface-soft);
+ border-radius: 16px;
+ padding: 30px;
+ border: 1px solid var(--border);
+ display: flex;
+ flex-direction: column;
+}
+
+.pub-date {
+ font-size: 0.8rem;
+ color: var(--primary);
+ font-weight: 700;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ margin-bottom: 12px;
+}
+
+.pub-card h3 {
+ font-size: 1.25rem;
+ line-height: 1.4;
+ margin: 0 0 15px;
+ color: #fff;
+}
+
+.pub-card p {
+ color: var(--text-soft);
+ font-size: 0.95rem;
+ line-height: 1.6;
+ margin-bottom: 25px;
+ flex-grow: 1;
+}
+
+.pub-link {
+ color: #fff;
+ font-weight: 600;
+ text-decoration: none;
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ font-size: 0.95rem;
+ transition: color 0.2s ease;
+}
+
+.pub-link:hover {
+ color: var(--primary);
+}
+
+/* Education Redesign */
+.education-grid {
+ max-width: 1000px;
+ margin: 40px auto 0;
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
+ gap: 30px;
+ padding: 0 20px;
+}
+
+.education-card {
+ display: flex;
+ gap: 25px;
+ background: var(--surface);
+ border: 1px solid var(--border);
+ border-radius: 20px;
+ padding: 30px;
+ align-items: flex-start;
+}
+
+.education-card.highlight {
+ border-left: 4px solid var(--primary);
+}
+
+.ed-icon {
+ width: 60px;
+ height: 60px;
+ background: var(--surface-soft);
+ border-radius: 14px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 1.8rem;
+ color: var(--primary);
+ flex-shrink: 0;
+}
+
+.ed-content .ed-date {
+ display: block;
+ font-size: 0.9rem;
+ color: var(--primary);
+ font-weight: 700;
+ margin-bottom: 8px;
+}
+
+.ed-content h3 {
+ margin: 0 0 5px;
+ font-size: 1.25rem;
+ color: #fff;
+}
+
+.ed-content h4 {
+ margin: 0 0 10px;
+ font-size: 1rem;
+ font-weight: 500;
+ color: var(--text-soft);
+}
+
+.ed-location {
+ font-size: 0.9rem;
+ color: #888;
+ margin-bottom: 15px;
+}
+
+.ed-badge {
+ display: inline-block;
+ background: rgba(106, 227, 255, 0.1);
+ color: var(--primary);
+ padding: 4px 12px;
+ border-radius: 6px;
+ font-size: 0.85rem;
+ font-weight: 600;
+}
+
+@media only screen and (max-width: 600px) {
+
+ .freelance-grid,
+ .education-grid {
+ grid-template-columns: 1fr;
+ }
+
+ .education-card {
+ flex-direction: column;
+ gap: 15px;
+ }
+}
+
+#chatbot .chatbot-header {
+ max-width: 760px;
+}
+
+#chatbot .chatbot-header p {
+ color: var(--text-soft);
+ line-height: 1.7;
+}
+
+.chatbot-layout {
+ margin-top: 24px;
+ background: var(--surface);
+ border: 1px solid var(--border);
+ border-radius: 18px;
+ padding: 24px;
+ display: grid;
+ grid-template-columns: 1.4fr 1fr;
+ gap: 18px;
+}
+
+.chat-window {
+ background: #050b1c;
+ border: 1px solid var(--border);
+ border-radius: 14px;
+ min-height: 360px;
+ max-height: 360px;
+ overflow-y: auto;
+ padding: 16px;
+}
+
+.message {
+ max-width: 90%;
+ margin-bottom: 12px;
+ padding: 10px 14px;
+ border-radius: 12px;
+ line-height: 1.5;
+}
+
+.message.bot {
+ background: rgba(106, 227, 255, 0.13);
+ border: 1px solid rgba(106, 227, 255, 0.35);
+}
+
+.message.user {
+ margin-left: auto;
+ background: rgba(255, 255, 255, 0.1);
+}
+
+.chat-controls label {
+ display: block;
+ margin-bottom: 8px;
+}
+
+.chat-controls select,
+.chat-controls textarea,
+.chat-controls button {
+ width: 100%;
+ border-radius: 10px;
+ border: 1px solid var(--border);
+}
+
+.chat-controls select,
+.chat-controls textarea {
+ background: #060c1f;
+ color: #fff;
+ padding: 10px;
+ margin-bottom: 10px;
+}
+
+.chat-controls textarea {
+ min-height: 120px;
+ resize: vertical;
+}
+
+.chat-actions {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 10px;
+}
+
+.chat-controls button {
+ background: var(--primary);
+ color: #02101d;
+ font-weight: 700;
+ padding: 10px;
+}
+
+.chat-note {
+ color: var(--text-soft);
+ margin-top: 12px;
+}
+
+#contact {
+ background: linear-gradient(130deg, #0d1532, #0b2240);
+ text-align: center;
+}
+
+#contact-form {
+ max-width: 560px;
+ margin: 0 auto;
+}
+
+#contact-form input,
+#contact-form textarea {
+ width: 100%;
+ padding: 12px;
+ margin-bottom: 10px;
+ border-radius: 10px;
+ border: 1px solid var(--border);
+ background: rgba(255, 255, 255, 0.08);
+ color: #fff;
+}
+
+#contact-form button {
+ width: 100%;
+ padding: 12px;
+ border: none;
+ border-radius: 10px;
+ background: var(--primary);
+ color: #031325;
+ font-weight: 700;
+}
+
+footer {
+ padding: 24px 0 34px;
+}
+
+footer .container .row {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ gap: 12px;
+}
+
+.social a {
+ width: 36px;
+ height: 36px;
+ border-radius: 50%;
+ border: 1px solid var(--border);
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ transition: all 0.2s ease;
+}
+
+.social a:hover {
+ border-color: var(--primary);
+ color: var(--primary);
+ background: rgba(106, 227, 255, 0.1);
+}
+
+.copyright p,
+.social a,
+.top i {
+ color: var(--text-soft);
+}
+
+.top span {
+ width: 36px;
+ height: 36px;
+ border-radius: 50%;
+ border: 1px solid var(--border);
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+}
+
+.social ul {
+ padding: 0;
+}
+
+.social li {
+ display: inline-block;
+ list-style: none;
+}
+
+.reveal {
+ opacity: 0;
+ transform: translateY(24px);
+ transition: opacity 0.6s ease, transform 0.6s ease;
+}
+
+.reveal.visible {
+ opacity: 1;
+ transform: translateY(0);
+}
+
+@media (min-width: 1200px) {
+ #lead-content {
+ max-width: 1200px;
+ }
+
+ .eyebrow {
+ font-size: 1.1rem;
+ margin-bottom: 20px;
+ }
+
+ #lead h1 {
+ font-size: 5.8rem;
+ letter-spacing: -0.01em;
+ }
+
+ #lead h2 {
+ font-size: 2.1rem;
+ max-width: 950px;
+ margin-top: 26px;
+ line-height: 1.4;
+ }
+
+ .hero-actions {
+ margin-top: 55px;
+ gap: 28px;
+ }
+
+ .btn-rounded-white,
+ .btn-outline {
+ padding: 18px 45px;
+ font-size: 1.15rem;
+ }
+
+ .hero-metrics {
+ margin-top: 85px;
+ gap: 25px;
+ grid-template-columns: repeat(4, 1fr);
+ }
+
+ .interest-card {
+ padding: 35px 25px;
+ }
+
+ .interest-card strong {
+ font-size: 1.25rem;
+ }
+
+ .interest-card span {
+ font-size: 0.95rem;
+ }
+}
+
+@media (max-width: 992px) {
+ header {
+ position: fixed;
+ display: none;
+ inset: 0;
+ background: rgba(5, 8, 22, 0.95);
+ pointer-events: auto;
+ }
+
+ header.active {
+ display: block;
+ }
+
+ #mobile-menu-open,
+ #mobile-menu-close {
+ display: block;
+ }
+
+ header ul {
+ margin: 0;
+ width: 100%;
+ border-radius: 0;
+ border: none;
+ background: transparent;
+ padding-top: 40px;
+ }
+
+ header li {
+ display: block;
+ text-align: center;
+ }
+
+ .hero-metrics,
+ .project-grid,
+ .chatbot-layout {
+ grid-template-columns: 1fr;
+ }
+
+ .hero-metrics {
+ grid-template-columns: repeat(2, 1fr);
+ }
+
+ #experience-timeline:before {
+ left: 22px;
+ }
+
+ .vtimeline-icon {
+ left: 0;
+ }
+
+ .vtimeline-date {
+ position: relative;
+ text-align: left;
+ left: auto;
+ width: auto;
+ margin: 0 0 12px 70px;
+ }
+
+ .vtimeline-content {
+ margin-left: 70px;
+ }
+}
+
+@media (max-width: 768px) {
+ section {
+ padding: 70px 16px;
+ }
+
+ #lead {
+ padding-top: 60px;
+ }
+
+ #lead-content {
+ text-align: left;
+ padding: 0 8px;
+ }
+
+ .eyebrow {
+ letter-spacing: 0.2em;
+ font-size: 0.8rem;
+ }
+
+ .hero-actions {
+ flex-direction: column;
+ gap: 12px;
+ }
+
+ .hero-metrics {
+ grid-template-columns: 1fr;
+ }
+
+ .hero-metrics .interest-card {
+ text-align: left;
+ }
+
+ .social ul {
+ display: flex;
+ justify-content: center;
+ gap: 14px;
+ }
+
+ .social li {
+ margin: 0;
+ }
+
+ footer .social a {
+ width: 42px;
+ height: 42px;
+ background: rgba(255, 255, 255, 0.05);
+ border-color: rgba(255, 255, 255, 0.3);
+ }
+}
+
+@media (max-width: 600px) {
+ .hero-actions {
+ padding-bottom: 12px;
+ }
+
+ .social ul {
+ gap: 10px;
+ }
+}
+
+/* Floating AI Chat Widget */
+#ai-chat-widget {
+ position: fixed;
+ bottom: 30px;
+ right: 30px;
+ z-index: 9999;
+ font-family: 'Inter', sans-serif;
+}
+
+#ai-chat-button {
+ width: 70px;
+ height: 70px;
+ border-radius: 50%;
+ background: var(--primary);
+ border: 2px solid var(--primary);
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+ padding: 0;
+ overflow: hidden;
+ transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
+}
+
+.bot-icon-container {
+ width: 100%;
+ height: 100%;
+ position: relative;
+}
+
+.bot-icon-container img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ position: absolute;
+ top: 0;
+ left: 0;
+ transition: opacity 0.3s ease;
+}
+
+.bot-img-smile {
+ opacity: 0;
+}
+
+#ai-chat-button:hover .bot-img-neutral {
+ opacity: 0;
+}
+
+#ai-chat-button:hover .bot-img-smile {
+ opacity: 1;
+}
+
+.header-bot-img {
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ object-fit: cover;
+ border: 2px solid var(--primary);
+}
+
+#ai-chat-button:hover {
+ transform: scale(1.1);
+}
+
+.pulse-ring {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+ border: 2px solid var(--primary);
+ animation: AIpulse 2s infinite;
+ pointer-events: none;
+}
+
+@keyframes AIpulse {
+ 0% {
+ transform: scale(0.95);
+ opacity: 0.7;
+ }
+
+ 70% {
+ transform: scale(1.3);
+ opacity: 0;
+ }
+
+ 100% {
+ transform: scale(0.95);
+ opacity: 0;
+ }
+}
+
+#ai-chat-window {
+ position: absolute;
+ bottom: 85px;
+ right: 0;
+ width: 380px;
+ height: 580px;
+ background: rgba(13, 19, 43, 0.95);
+ backdrop-filter: blur(20px);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ border-radius: 28px;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+ transform: translateY(20px) scale(0.9);
+ opacity: 0;
+ pointer-events: none;
+ transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
+ transform-origin: bottom right;
+ box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
+}
+
+#ai-chat-window.active {
+ transform: translateY(0) scale(1);
+ opacity: 1;
+ pointer-events: auto;
+}
+
+.chat-header {
+ padding: 18px 22px;
+ background: var(--surface-soft);
+ border-bottom: 1px solid var(--border);
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.bot-info {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+}
+
+.bot-info i {
+ font-size: 1.4rem;
+ color: var(--primary);
+}
+
+.bot-info h4 {
+ margin: 0;
+ font-size: 1rem;
+ color: #fff;
+ font-weight: 700;
+}
+
+.bot-info p {
+ margin: 2px 0 0;
+ font-size: 0.75rem;
+ color: var(--text-soft);
+}
+
+#close-chat {
+ background: transparent;
+ border: none;
+ color: var(--text-soft);
+ font-size: 1.1rem;
+ cursor: pointer;
+}
+
+#ai-chat-messages {
+ flex-grow: 1;
+ padding: 20px;
+ overflow-y: auto;
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+}
+
+#ai-chat-messages .message {
+ max-width: 85%;
+ padding: 10px 14px;
+ border-radius: 12px;
+ font-size: 0.92rem;
+ line-height: 1.45;
+}
+
+#ai-chat-messages .message.bot.thinking {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ background: transparent;
+ padding: 5px 0;
+}
+
+.loading-bot-img {
+ width: 30px;
+ height: 30px;
+ border-radius: 50%;
+ object-fit: cover;
+ border: 1.5px solid var(--primary);
+ animation: bounceBot 1s infinite ease-in-out;
+}
+
+@keyframes bounceBot {
+
+ 0%,
+ 100% {
+ transform: translateY(0);
+ }
+
+ 50% {
+ transform: translateY(-5px);
+ }
+}
+
+#ai-chat-messages .thinking span {
+ font-size: 0.85rem;
+ color: var(--text-soft);
+ font-style: italic;
+}
+
+#ai-chat-messages .message.user {
+ align-self: flex-end;
+ background: var(--primary);
+ color: #050816;
+ border-bottom-right-radius: 2px;
+ font-weight: 500;
+}
+
+.chat-footer {
+ padding: 15px 20px;
+ border-top: 1px solid var(--border);
+ background: var(--surface);
+}
+
+#boot-container {
+ text-align: center;
+}
+
+#boot-ai {
+ width: 100%;
+ padding: 10.5px;
+ border-radius: 999px;
+ background: var(--primary);
+ color: #050816;
+ border: none;
+ font-weight: 700;
+ cursor: pointer;
+ transition: opacity 0.2s ease;
+}
+
+#boot-ai:disabled {
+ opacity: 0.5;
+ cursor: wait;
+}
+
+#boot-progress {
+ margin-top: 10px;
+}
+
+.progress-bar-container {
+ height: 6px;
+ background: rgba(255, 255, 255, 0.1);
+ width: 100%;
+ border-radius: 3px;
+ overflow: hidden;
+}
+
+.progress-bar-fill {
+ height: 100%;
+ background: var(--primary);
+ width: 0%;
+ transition: width 0.3s ease;
+}
+
+.progress-text {
+ font-size: 0.8rem;
+ color: var(--text-soft);
+ margin-top: 5px;
+ display: block;
+}
+
+#chat-input-container {
+ display: flex;
+ gap: 10px;
+}
+
+#ai-chat-input {
+ flex-grow: 1;
+ background: var(--surface-soft);
+ border: 1px solid var(--border);
+ border-radius: 999px;
+ padding: 10px 18px;
+ color: #fff;
+ font-size: 0.95rem;
+ outline: none;
+}
+
+#ai-chat-input:focus {
+ border-color: var(--primary);
+}
+
+#send-ai-chat {
+ background: var(--primary);
+ color: #050816;
+ border: none;
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+@media (max-width: 768px) {
+ #ai-chat-widget {
+ right: 16px;
+ bottom: 16px;
+ }
+
+ #ai-chat-window {
+ left: 16px;
+ right: 16px;
+ width: auto;
+ bottom: 110px;
+ height: 72vh;
+ border-radius: 22px;
+ transform-origin: bottom center;
+ }
+
+ .chat-footer {
+ padding: 12px 14px;
+ }
+
+ #chat-input-container {
+ gap: 8px;
+ }
+
+ #ai-chat-messages .message {
+ max-width: 100%;
+ }
+
+ #ai-chat-button {
+ width: 60px;
+ height: 60px;
+ }
+}
+
+@media (max-width: 480px) {
+ #ai-chat-window {
+ bottom: 120px;
+ height: 70vh;
+ border-radius: 20px;
+ }
+
+ #ai-chat-messages {
+ padding: 16px;
+ }
+}
diff --git a/data/bio.md b/data/bio.md
new file mode 100644
index 0000000000..72392c7f90
--- /dev/null
+++ b/data/bio.md
@@ -0,0 +1,82 @@
+# Chatbot Knowledge Base: Abhiyan Timilsina Profile
+
+## 1. Core Identity & Overview
+
+* **Name:** Abhiyan Timilsina
+* **Role:** Senior Backend & AI Engineer
+* **Experience Level:** 7+ years
+* **Location:** Kathmandu (Baneshwor), Nepal
+* **Professional Focus:** Building production-grade AI agents, automated document extraction pipelines, scalable microservices, and enterprise financial automation platforms.
+* **Unique Value Proposition:** Bridges the gap between complex backend architectures (high-transaction databases, event-driven systems) and modern AI/LLM orchestration to solve real-world enterprise problems.
+
+## 2. Technical Arsenal
+
+* **AI & Generative Models:** LLM Orchestration (LangChain, LangGraph), Prompt Engineering, RAG (Retrieval-Augmented Generation), AI Agents, Embeddings, BERT, Gemini, OpenAI.
+* **Backend & APIs:** Python (Django, FastAPI, Flask), REST APIs, Microservices, Distributed Systems, Event-Driven Architecture.
+* **Frontend & Full Stack:** React, Next.js, Streamlit (for rapid AI prototyping and dashboards).
+* **Data Engineering & Ops:** PostgreSQL (optimized for high concurrency), MySQL, Redis, Vector Databases (Milvus, PGVector).
+* **Cloud & DevOps:** AWS ecosystem (S3, SQS, SNS, Lambda, Textract, SageMaker), Docker containerization, Jenkins.
+* **Security & Compliance:** Knowledgeable in implementing secure architectures, including recent research into PCI DSS compliance for financial data systems.
+
+## 3. Professional Experience Detailed
+
+### Openenvoy (June 2023 – Present)
+
+*Senior Software Engineer — AP Automation & Intelligent Document Processing (IDP)*
+
+* **Core Achievement:** Architected agentic extraction pipelines using LangChain, integrating models like Gemini and OpenAI to automate complex financial workflows.
+* **Scale:** Developed the Accounts Receivable (AR) automation platform, built to handle a projected $1.2B in payments.
+* **Infrastructure:** Optimized document ingestion pipelines on AWS, scaling capacity to process 500,000 documents per month efficiently.
+
+### clyr (Early 2026 - Case Study/Evaluation)
+
+*Solutions Architect / Founding Engineer Profile*
+
+* Demonstrated advanced capabilities in architecting comprehensive AI solutions and data pipelines tailored for an emerging German AI startup.
+
+### i3systems.ai (April 2020 – June 2023)
+
+*Software Engineer II — FinTech & InsuranceTech*
+
+* **Database Optimization:** Tuned PostgreSQL databases to reliably handle 10,000+ transactions per second.
+* **AI Application:** Developed BERT-based models for sophisticated fraud detection in financial pipelines.
+* **Workflow Automation:** Built a clinical rule engine that accelerated claim approval times by 66%.
+
+### MountBlue Technologies (Dec 2018 – April 2020)
+
+*Full Stack Developer*
+
+* Built real-time collaboration platforms featuring video and code-sharing capabilities.
+* Developed complex Applicant Tracking Systems (ATS) driven by intricate notification workflows.
+
+## 4. Key Projects & Freelance Advisory
+
+* **AI-Powered Invoice Extraction Pipeline:** Built robust, scalable document extraction workflows utilizing LangChain and Google's Gemini to parse unstructured financial data.
+* **GoatFundedTrader & TradeTechSolutions (Freelance):** Scaled Customer Relationship Management (CRM) and Know Your Customer (KYC) modules for a global proprietary trading firm.
+* **Avocado Technology (Advisor):** Served as an AI Advisor to develop computer vision and machine learning systems for crop disease detection.
+* **Instagram Sales Bot:** Developed an autonomous, agentic bot designed for real-time lead qualification.
+* **Team Activity Monitor:** Created an AI-powered natural language system to extract actionable insights from JIRA and GitHub activity.
+* **Blink-to-Text & Blip:** Built accessibility applications (eye-blink communication) and real-time developer collaboration tools.
+
+## 5. Education
+
+* **Degree:** B.E. in Information Science and Engineering (2014-2018)
+* **Institution:** BMS Institute of Technology & Management, Bangalore, India.
+* **High School:** Trinity International College (Science), Nepal.
+
+## 6. Personal Interests & Conversational Trivia (For Bot Personality)
+
+*The chatbot can use these to answer casual questions and build a highly personalized connection with visitors.*
+
+* **Financial Markets & Trading:** Active stock trader and financial market analyst. Follows cryptocurrency trends (like Bitcoin) and specific equities (e.g., PC Jeweller).
+* **Tech Industry Tracking:** Closely monitors emerging AI startups and enterprise tech developments (e.g., tracking Dell Technologies' open-source/GitHub initiatives).
+* **Philosophy & Mindfulness:** Deeply interested in spiritual and philosophical frameworks, including the study of self-realization texts like the Ashtavakra Gita.
+
+## 7. Contact Information & Bot Action Triggers
+
+* **Email:** abhiyantimilsina@gmail.com
+* **LinkedIn:** [linkedin.com/in/abhiyan-timilsina-6b679b142](https://www.google.com/search?q=https://linkedin.com/in/abhiyan-timilsina-6b679b142)
+* **GitHub:** [github.com/abhiyan52](https://github.com/abhiyan52)
+* **Medium:** [medium.com/@abhiyantimilsina](https://www.google.com/search?q=https://medium.com/%40abhiyantimilsina)
+* **Bot Capability:** The bot should be configured to open a contact form or directly initiate an email draft to the provided address when a user asks to "get in touch," "hire Abhiyan," or "send a message."
+
diff --git a/gulpfile.js b/gulpfile.js
index 2028dede34..63a1d592e6 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -1,7 +1,7 @@
var gulp = require('gulp');
var plumber = require('gulp-plumber');
const uglify = require('gulp-uglify');
-const sass = require('gulp-sass');
+const sass = require('gulp-sass')(require('sass'));
const wait = require('gulp-wait');
const babel = require('gulp-babel');;
const rename = require('gulp-rename');
diff --git a/images/chatbot/neutral.jpg b/images/chatbot/neutral.jpg
new file mode 100644
index 0000000000..d614f8dc1b
Binary files /dev/null and b/images/chatbot/neutral.jpg differ
diff --git a/images/chatbot/smile.jpg b/images/chatbot/smile.jpg
new file mode 100644
index 0000000000..e292f37da8
Binary files /dev/null and b/images/chatbot/smile.jpg differ
diff --git a/images/recommendations/akarsh_kumar.jpg b/images/recommendations/akarsh_kumar.jpg
new file mode 100644
index 0000000000..4008c772af
Binary files /dev/null and b/images/recommendations/akarsh_kumar.jpg differ
diff --git a/images/recommendations/anurag_reddy_kalakonda.jpg b/images/recommendations/anurag_reddy_kalakonda.jpg
new file mode 100644
index 0000000000..7ac0c60172
Binary files /dev/null and b/images/recommendations/anurag_reddy_kalakonda.jpg differ
diff --git a/images/recommendations/ashwathi_ashok.jpg b/images/recommendations/ashwathi_ashok.jpg
new file mode 100644
index 0000000000..5031ed61a0
Binary files /dev/null and b/images/recommendations/ashwathi_ashok.jpg differ
diff --git a/images/recommendations/ganesh_balsaraf.jpg b/images/recommendations/ganesh_balsaraf.jpg
new file mode 100644
index 0000000000..48337fef22
Binary files /dev/null and b/images/recommendations/ganesh_balsaraf.jpg differ
diff --git a/images/recommendations/jayesh_patil.jpg b/images/recommendations/jayesh_patil.jpg
new file mode 100644
index 0000000000..63d9855159
Binary files /dev/null and b/images/recommendations/jayesh_patil.jpg differ
diff --git a/images/recommendations/kiran_joshi.jpg b/images/recommendations/kiran_joshi.jpg
new file mode 100644
index 0000000000..58a02cd773
Binary files /dev/null and b/images/recommendations/kiran_joshi.jpg differ
diff --git a/images/recommendations/krishna_pal.jpg b/images/recommendations/krishna_pal.jpg
new file mode 100644
index 0000000000..8f4871447d
Binary files /dev/null and b/images/recommendations/krishna_pal.jpg differ
diff --git a/images/recommendations/maneesh_rapelly.jpg b/images/recommendations/maneesh_rapelly.jpg
new file mode 100644
index 0000000000..eadf64a2ef
Binary files /dev/null and b/images/recommendations/maneesh_rapelly.jpg differ
diff --git a/images/recommendations/prajakta_joshi.jpg b/images/recommendations/prajakta_joshi.jpg
new file mode 100644
index 0000000000..fb5805d1fa
Binary files /dev/null and b/images/recommendations/prajakta_joshi.jpg differ
diff --git a/images/recommendations/revanth_mahesh.jpg b/images/recommendations/revanth_mahesh.jpg
new file mode 100644
index 0000000000..2093b6602d
Binary files /dev/null and b/images/recommendations/revanth_mahesh.jpg differ
diff --git a/images/recommendations/sakshi_tantak.jpg b/images/recommendations/sakshi_tantak.jpg
new file mode 100644
index 0000000000..9ee27c1c36
Binary files /dev/null and b/images/recommendations/sakshi_tantak.jpg differ
diff --git a/images/recommendations/sharat_chandra_guduru.jpg b/images/recommendations/sharat_chandra_guduru.jpg
new file mode 100644
index 0000000000..01dfacd00e
Binary files /dev/null and b/images/recommendations/sharat_chandra_guduru.jpg differ
diff --git a/images/recommendations/vijaya_bhosale.jpg b/images/recommendations/vijaya_bhosale.jpg
new file mode 100644
index 0000000000..dab84225f4
Binary files /dev/null and b/images/recommendations/vijaya_bhosale.jpg differ
diff --git a/index.html b/index.html
index 540522f310..86e916301c 100644
--- a/index.html
+++ b/index.html
@@ -5,10 +5,11 @@
-
My Portfolio
-
-
-
+ Abhiyan Timilsina | AI Engineer Portfolio
+
+
+
@@ -18,262 +19,594 @@
-
+
-
-
-
-
-
Ryan Fitzgerald
-
Software Engineer
-
Download Resume
-
-
+
-
+
+
AI Engineer • Product Builder • Backend Specialist
+
Abhiyan Timilsina
+
Building production-grade AI systems that solve real business problems.
+
+
+
+
+ AI Agents
+ LLM Orchestration & RAG
+
+
+
+ Financial Markets
+ Trading & FinTech Systems
+
+
+
+ Philosophy
+ Mindfulness & Growth
+
+
+
+ Scale
+ High-Performance Backend
+
+
+
-
-
-
+
-
-
-
+
-
-
+
+
About Me
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat. Donec
- eu vehicula neque. Donec viverra lorem nunc, tempus euismod eros sollicitudin ut. Quisque et tincidunt libero. Donec id pharetra justo. Proin euismod lacinia dolor, eu scelerisque justo tempus pharetra. Vivamus nunc justo, finibus
- ut nisl sed, euismod rhoncus nulla. Proin sed magna egestas, egestas ante et, congue eros. In consequat, mauris dapibus tincidunt suscipit, ex libero aliquet diam, at maximus risus enim non leo.
+ Senior Backend & AI Engineer with 7+ years of experience designing scalable
+ microservices, distributed systems, and production-grade AI automation platforms.
+
+
+ Strong expertise in Python , event-driven architectures, and LLM-powered
+ workflows , including agent-based systems built with LangChain and LangGraph.
+ Experienced in deploying cloud-native infrastructure on AWS and integrating intelligent
+ automation into enterprise FinTech and Intelligent Document Processing environments.
+
+
+ I thrive in dynamic environments, balancing technical depth with strong communication and an
+ innovation-driven mindset — with a track record of delivering measurable, impactful solutions.
-
-
+
-
-
Experience
-
-
-
Employer Name
-
Job Title
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
-
+
+ Experience
+
+
+
+
Senior Software Engineer — AP Automation & IDP
+
+ Led a pilot agentic extraction pipeline powered by LangChain, LangGraph, Gemini LLM and a
+ rule-based system that autonomously parses and validates invoices, delivering an effective
+ 10% increase in reviewer capacity without new hires.
+
+ Built an Accounts Receivable automation platform with Python/FastAPI, PostgreSQL and AWS SQS
+ that cut manual payment handling by 70% and is projected to process USD
+ $1.2B in its first year.
+ Designed and implemented Python/Django/Celery pipeline on AWS S3 + SQS ingesting 500k
+ invoices/month at 99.9% uptime .
+ Designed a rule-based validation engine that flags problematic documents faster, cuts downstream
+ review hours and boosts accuracy by ~20% .
+ Built a natural language analytics dashboard enabling analysts to surface invoice insights in
+ real time, saving around 8 hours of manual analyst effort weekly.
+ Re-engineered client-specific extraction pipelines that lifted document-level extraction
+ accuracy 20–30% within the first two weeks of onboarding — no extra training
+ data required.
+
-
-
-
Employer Name
-
Job Title
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
-
+
+
+
Software Engineer II — FinTech & InsuranceTech
+
+ Designed and developed high-performance RESTful APIs using Python and Django to support
+ underwriting and claims adjudication workflows.
+ Optimized PostgreSQL and MySQL databases through sharding, partitioning, and indexing
+ strategies, supporting 10,000+ transactions/second and reducing query latency
+ by 30% .
+ Designed a configurable clinical rule engine that automated COVID and non-COVID triage, reducing
+ insurance claim approval time from over 3 hours to under 60 minutes — earning
+ national television coverage.
+ Built an embedding-based fraud detection system using BERT and Milvus vector database to
+ identify anomalous insurance claims during adjudication.
+ Architected distributed background task orchestration using Celery and RabbitMQ (chains,
+ chords), reducing batch processing time by 40% and improving system throughput.
+
+ Developed Python wrappers for C++ OCR libraries, reducing processing time by
+ ~90% and enabling seamless integration into document processing workflows.
+
+
-
-
-
Employer Name
-
Job Title
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
-
+
+
+
Full Stack Developer — Ruby on Rails + JavaScript
+
+ Built a real-time collaboration platform (video, code sharing, document collaboration) serving
+ 1,000+ active users using Ruby on Rails and JavaScript.
+
+ Developed an Applicant Tracking System (ATS) with interview scheduling, calendar integration,
+ and automated notification workflows.
+ Integrated third-party APIs (Indeed) to streamline job posting and candidate management,
+ reducing manual processes by 60% .
+ Contributed to backend feature development and UI improvements, enhancing platform usability and
+ engagement.
+
+
+
+
Freelance Developer & AI Consultant
+
Independent Projects
+
+ Designed and deployed a scalable Payment Aggregation Engine with secure transaction handling and
+ API integrations.
+ Developed high-accuracy machine learning solutions for agricultural and clinical triage use
+ cases.
+
-
-
+
-
-
Education
-
-
University of Ottawa
-
Sept 2016 - Sept 2017
-
Bachelor of Science in Computer Science
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
-
-
-
+
+ Freelancing Experience
+
+
+
+
+ Scaled the enterprise CRM to handle high-volume trader data and multi-region user bases.
+ Integrated advanced KYC modules with automated verification workflows to streamline onboarding.
+
+ Developed and deployed monitoring services for real-time tracking of platform performance and
+ transaction health.
+ Architected platform scaling strategies to ensure 99.9% uptime during peak trading hours.
+
+
-
-
University of Ottawa
-
Sept 2016 - Sept 2017
-
Bachelor of Science in Computer Science
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
-
+
+
+
+ Served as AI Advisor, leading the architectural design of a crop disease detection system.
+ Consulted on model selection and data processing pipelines for high-accuracy image recognition.
+
+ Prototyped machine learning solutions for early detection of agricultural anomalies.
+
+
-
-
-
+
-
-
Projects
-
-
-
-
-
-
-
-
-
Project Name Here
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
-
-
View Project
-
-
+
+ Projects
+
+
+ Instagram Sales Bot
+ An agentic sales bot for Instagram DMs that automates lead qualification, product recommendations,
+ and follow-ups using LLM-powered conversation flows.
+
+
+
+ Real-Time Collaboration App for Developers
+ A collaborative platform (Blip) enabling real-time video, code sharing, and document collaboration
+ for developer teams.
+
-
+
+
+ Blink-to-Text App
+ Final year engineering project — an assistive communication system that translates eye blinks into
+ text, enabling hands-free input for accessibility use cases.
+
+
+
+ Team Activity Monitor
+ A full-stack platform centralizing activity from JIRA and GitHub, featuring an AI-powered natural
+ language chat interface for real-time project insights and summaries.
+
+
+
+
+
-
-
-
-
-
-
-
Project Name Here
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
-
-
View Project
-
-
+
+ Publications
+
+
+ Feb 15, 2026
+ Governing AI in Analytics: Building a Deterministic NLQ System
+ Natural Language Query systems look deceptively simple, but as any data engineer knows, building
+ reliable SQL generators requires strict governance...
+
-
-
+
+
+ Jul 31, 2023
+ A Comparative Analysis of PDF Extraction Libraries
+ In the digital age, PDFs are the standard for sharing data. Extracting text from them is a common but
+ tricky task in data processing pipelines...
+
+
+
+ Dec 20, 2020
+ Table Partitioning with MySQL and Django
+ Partitioning is the process of splitting large tables into smaller parts to aid manageability, query
+ time, and overall system performance...
+
+
+
+ Feb 15, 2020
+ Understanding closures in JavaScript
+ A deep dive into one of JavaScript's core concepts, from my early days of snowfall animations to
+ building complex modern applications...
+
+
-
-
+
-
-
Skills
-
- JavaScript
+
+ Skills
+
Python
- Ruby
- Go
- Node.js
- AngularJs
+ Django
+ FastAPI
+ Flask
+ REST APIs
+ Microservices
+ Distributed Systems
+ Event-Driven Architecture
+ LLM / GenAI
+ RAG Pipelines
+ AI Agents
+ LangChain
+ LangGraph
+ Prompt Engineering
+ BERT
+ LayoutLM
+ Sentence Transformers
+ Hugging Face
+ Gemini
+ OpenAI
+ AWS Lambda
+ AWS S3 / SQS / SNS
+ AWS Textract
+ SageMaker
+ Docker
+ CI/CD
+ Jenkins
+ PostgreSQL
+ MySQL
+ Redis
+ Elasticsearch
+ MongoDB
+ Milvus
+ PGVector
+ Celery
+ RabbitMQ
+ Sharding & Partitioning
React
- Elixir
- Java
- C
- C#
- C++
- Ruby on Rails
JavaScript
- Python
- Ruby
- Go
- Node.js
- AngularJs
- React
- Elixir
- Java
- C
- C#
- C++
Ruby on Rails
+
+
+
+ Education
+
+
+
+
+
2014 – 2018
+
BMS Institute of Technology & Management
+
B.E. in Information Science and Engineering
+
VTU Bangalore, India
+
CGPA 7.8 / 10
+
+
+
+
+
+
+
2012 – 2014
+
Trinity International College
+
High School (PCM — Science)
+
Kathmandu, Nepal
+
+
+
+
+
+
+ Testimonials
+
+
+
+ "Abhiyan is a phenomenal collaborator who brings both deep technical mastery
+ and a strategic mindset to the table. During our time working together, he was instrumental in
+ leveraging LLMs to improve our auto-extraction workflows, showing incredible speed of execution
+ without compromising on precision."
+
+
+
+
+ "I can say without hesitation that he is one of the most dependable and
+ composed professionals I've encountered in my career. Abhiyan brings an exceptional work ethic to
+ everything he does — he approaches every challenge head-on rather than waiting for problems to
+ resolve themselves."
+
+
+
+
+ "I'm consistently impressed by his technical expertise and dedication. He's
+ an exceptionally fast learner, masterfully mastery new technologies like LangChain and integrating
+ them into our projects with impressive speed and precision."
+
+
+
+
+ "Abhiyan is a true full-stack talent with a deep expertise in Python,
+ Django, and emerging AI technologies like LLMs and LangChain. What sets Abhiyan apart is his
+ incredible speed of execution and his ability to tackle complex problems with ease."
+
+
+
+
+ "Abhiyan is an exceptional engineer with a rare combination of technical
+ depth and speed. During our time together, he consistently delivered high-quality solutions,
+ especially in backend systems and AI-driven workflows."
+
+
+
+
+ "Their technical expertise and problem-solving skills are unparalleled,
+ consistently delivering high-quality solutions. Abhiyan is an exceptional team player, always
+ willing to collaborate and share knowledge."
+
+
+
+
+ "As a highly skilled software developer, Abhiyan has consistently
+ demonstrated an impressive ability to deliver high-quality code and solve complex technical
+ challenges. His expertise spans Development, Production support, Debugging, and Performance
+ optimization."
+
+
+
+
+ "I was impressed by his technical expertise and his ability to deliver
+ complex projects on time. He has a deep understanding of Python and Django and is always eager to
+ learn new technologies."
+
+
+
+
+ "He is a very fast learner and was able to quickly grasp complex concepts
+ and translate them into efficient code. He is a great problem solver and is always looking for ways
+ to improve his work."
+
+
+
+
+ "Abhiyan is an exceptionally talented and dedicated software engineer.
+ Consistently impressed by his technical prowess and his ability to solve complex problems. He has a
+ deep understanding of Python and Django."
+
+
+
+
+
+
+
-
-
-
+
-
- Copyright © 2022 YOUR NAME
-
+
Copyright © 2023 ABHIYAN TIMILSINA
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+