Skip to content

Commit d9625ba

Browse files
committed
updaetd info
1 parent 82b65d4 commit d9625ba

6 files changed

Lines changed: 143 additions & 159 deletions

File tree

‎app/page.tsx‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import Contact from "@/components/Contact";
88
import Footer from "@/components/Footer";
99
import NavBar from "@/components/ui/NavBar";
1010
import Certifications from "@/components/Certifications";
11-
import CustomCursor from "@/components/ui/CustomCursor";
1211
import BackgroundPatterns from "@/components/ui/BackgroundPatterns";
1312
import { motion } from "framer-motion";
1413
import { useZenMode } from "@/lib/ZenModeContext";
@@ -19,7 +18,6 @@ const Home = () => {
1918
return (
2019
// Add overflow-x-hidden to prevent horizontal scrollbar
2120
<main className={`min-h-screen relative bg-black overflow-x-hidden ${zenMode ? 'zen-mode' : ''}`}>
22-
<CustomCursor />
2321
<BackgroundPatterns />
2422

2523
{/* Content */}

‎components/Projects.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const Projects = memo(() => {
1818
</span>
1919
</h3>
2020
</Reveal>
21-
<BentoGrid className="w-full py-20">
21+
<BentoGrid className="w-full py-10">
2222
{memoizedProjects.map((item, i) => (
2323
<BentoGridItem
2424
key={item.id}

‎components/ui/BentoGrid.tsx‎

Lines changed: 81 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ interface BentoGridProps {
1212
export const BentoGrid: React.FC<BentoGridProps> = ({ className, children }) => (
1313
<div
1414
className={cn(
15-
"grid grid-cols-1 md:grid-cols-2 gap-4 lg:gap-8 mx-auto",
15+
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 lg:gap-4 mx-auto",
1616
className
1717
)}
1818
>
@@ -32,140 +32,112 @@ interface BentoGridItemProps {
3232
techs?: string[];
3333
companyLogo?: string;
3434
companyUrl?: string;
35+
status?: "in-progress" | "private";
3536
}
3637

3738
export const BentoGridItem: React.FC<BentoGridItemProps> = ({
3839
className,
39-
id,
4040
title,
4141
description,
4242
link,
4343
github,
4444
img,
45-
titleClassName,
4645
techs,
47-
companyLogo,
48-
companyUrl,
46+
status,
4947
}) => {
5048
const [imgError, setImgError] = useState(false);
5149
const [mounted, setMounted] = useState(false);
52-
50+
5351
useEffect(() => {
5452
setMounted(true);
5553
}, []);
56-
54+
5755
return (
5856
<div
5957
className={cn(
60-
"row-span-1 relative overflow-hidden rounded-3xl border border-white/10 group/bento hover:shadow-xl transition duration-200 flex flex-col bg-black/30 backdrop-blur-sm",
58+
"relative overflow-hidden rounded-xl border border-white/10 group/bento hover:border-white/20 hover:shadow-xl transition duration-200 bg-black/30 backdrop-blur-sm",
6159
className
6260
)}
6361
>
64-
<div className="h-full relative">
65-
{mounted && img && !imgError && (
66-
<div className="absolute inset-0 w-full h-full">
67-
<div className="relative w-full h-full">
68-
<Image
69-
src={img}
70-
alt={`Background for ${title}`}
71-
className="object-cover object-center opacity-15 transition-opacity duration-300 group-hover/bento:opacity-25"
72-
fill
73-
sizes="(max-width: 768px) 100vw, 50vw"
74-
priority={false}
75-
unoptimized={true}
76-
onError={() => setImgError(true)}
77-
/>
78-
</div>
79-
</div>
80-
)}
81-
82-
<div className="absolute bottom-0 left-0 right-0 h-1/2 bg-gradient-to-b from-transparent to-black/30 opacity-0 group-hover/bento:opacity-100 transition-opacity duration-300" />
83-
84-
<div
85-
className={cn(
86-
titleClassName,
87-
"group-hover/bento:translate-x-2 transition duration-200 relative flex flex-col px-4 py-4 lg:py-5"
62+
{mounted && img && !imgError && (
63+
<div className="absolute inset-0">
64+
<Image
65+
src={img}
66+
alt={`Background for ${title}`}
67+
className="object-cover object-center opacity-10 group-hover/bento:opacity-20 transition-opacity duration-300"
68+
fill
69+
sizes="(max-width: 768px) 100vw, 33vw"
70+
priority={false}
71+
unoptimized={true}
72+
onError={() => setImgError(true)}
73+
/>
74+
</div>
75+
)}
76+
<div className="relative px-4 py-3 space-y-2">
77+
{/* Header: title + badges + github icon */}
78+
<div className="flex items-start gap-2">
79+
<h2 className="text-sm font-semibold flex-1">
80+
{link ? (
81+
<a
82+
href={link}
83+
target="_blank"
84+
rel="noopener noreferrer"
85+
className="hover:text-electricBlue transition-colors duration-200"
86+
>
87+
{title}
88+
</a>
89+
) : (
90+
title
91+
)}
92+
</h2>
93+
{status === "in-progress" && (
94+
<span className="flex-shrink-0 flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-medium text-yellow-300 border border-yellow-500/30 bg-yellow-500/10">
95+
<span className="w-1.5 h-1.5 rounded-full bg-yellow-400 animate-pulse" />
96+
WIP
97+
</span>
8898
)}
89-
>
90-
<div className="flex flex-col gap-3">
91-
<div className="flex items-start gap-3">
92-
<div className="flex-1 space-y-3">
93-
<div className="drop-shadow-[0_2px_2px_rgba(0,0,0,0.8)] z-10 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2">
94-
<h2 className="text-lg md:text-xl font-bold">
95-
{link ? (
96-
<a
97-
href={link}
98-
target="_blank"
99-
rel="noopener noreferrer"
100-
className="hover:text-gray-300 transition-colors duration-200"
101-
>
102-
{title}
103-
</a>
104-
) : (
105-
title
106-
)}
107-
</h2>
108-
{github && (
109-
<a
110-
href={github}
111-
target="_blank"
112-
rel="noopener noreferrer"
113-
className="self-start sm:self-auto flex items-center gap-1.5 px-3 py-1 rounded-full bg-gradient-to-r from-gray-800/70 to-gray-900/70 hover:from-gray-700/80 hover:to-gray-800/80 text-xs font-medium text-gray-200 hover:text-white transition-all duration-300 border border-gray-700/50 hover:border-gray-500/70 backdrop-blur-sm shadow-md hover:shadow-lg transform hover:-translate-y-0.5"
114-
>
115-
<div className="relative w-3.5 h-3.5">
116-
<Image
117-
src="/assets/git.svg"
118-
alt="GitHub"
119-
className="transition-all duration-300"
120-
fill
121-
sizes="14px"
122-
priority={false}
123-
/>
124-
</div>
125-
<span>View on GitHub</span>
126-
</a>
127-
)}
128-
</div>
129-
<div className="text-sm font-medium text-gray-200 drop-shadow-[0_1px_1px_rgba(0,0,0,0.8)] z-10 line-clamp-3">
130-
{description}
131-
</div>
132-
133-
<div className="flex flex-wrap gap-1.5">
134-
{techs?.map((tech) => (
135-
<div
136-
key={tech}
137-
className="bg-electricBlue/15 text-white text-xs font-semibold px-2.5 py-1 rounded-full shadow-lg hover:bg-electricBlue/25 transition duration-200 ease-in-out drop-shadow-[0_1px_1px_rgba(0,0,0,0.8)]"
138-
>
139-
{tech}
140-
</div>
141-
))}
142-
</div>
99+
{status === "private" && (
100+
<span className="flex-shrink-0 flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-medium text-gray-400 border border-gray-600/30 bg-gray-600/10">
101+
<svg className="w-2.5 h-2.5" fill="currentColor" viewBox="0 0 16 16"><path d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12.25 7.5a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25h8.5z" /></svg>
102+
Private
103+
</span>
104+
)}
105+
{github && (
106+
<a
107+
href={github}
108+
target="_blank"
109+
rel="noopener noreferrer"
110+
className="flex-shrink-0 text-gray-400 hover:text-white transition-colors duration-200"
111+
aria-label="View on GitHub"
112+
>
113+
<div className="relative w-4 h-4">
114+
<Image
115+
src="/assets/git.svg"
116+
alt="GitHub"
117+
fill
118+
sizes="16px"
119+
priority={false}
120+
/>
143121
</div>
122+
</a>
123+
)}
124+
</div>
144125

145-
{mounted && companyLogo && (
146-
<div className="flex-shrink-0">
147-
<a
148-
href={companyUrl}
149-
target="_blank"
150-
rel="noopener noreferrer"
151-
className="block w-20 h-20 rounded-lg overflow-hidden border border-white/10 hover:border-white/20 transition-colors duration-200"
152-
>
153-
<div className="relative w-full h-full">
154-
<Image
155-
src={companyLogo}
156-
alt="Company Logo"
157-
className="object-contain bg-white/5 hover:bg-white/10 transition-colors duration-200"
158-
fill
159-
sizes="80px"
160-
priority={false}
161-
/>
162-
</div>
163-
</a>
164-
</div>
165-
)}
166-
</div>
126+
{/* Description */}
127+
<p className="text-xs text-gray-400">{description}</p>
128+
129+
{techs && techs.length > 0 && (
130+
<div className="flex items-center gap-1.5 flex-wrap">
131+
{techs.map((tech) => (
132+
<span
133+
key={tech}
134+
className="text-[10px] text-gray-300 bg-white/5 px-2 py-0.5 rounded-full border border-white/5"
135+
>
136+
{tech}
137+
</span>
138+
))}
167139
</div>
168-
</div>
140+
)}
169141
</div>
170142
</div>
171143
);

‎data/experience.ts‎

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,57 +19,71 @@ export interface Experience {
1919
export const experience: Experience[] = [
2020
{
2121
id: 1,
22-
title: "Sr DevOps Engineer/Platform Specialist",
23-
company: "Ollion (formerly CloudCover)",
24-
location: "Pune, India (Remote)",
22+
title: "Sr DevOps/Platform Engineer",
23+
company: "Ollion (CloudCover)",
24+
location: "Pune, India",
2525
startDate: "June 2022",
2626
endDate: "Present",
2727
description: [
28-
"Led the secure migration of multi-tiered applications from diverse data centers (Exoscale, Hetzner, Azure) to Google Cloud for a Swiss-based asset management client by implementing GKE clusters, virtual machines, databases, and load balancers",
29-
"Implemented ArgoCD Autopilot for GitOps across multiple GKE clusters, enhancing deployment efficiency and maintaining a highly-available, scalable platform",
30-
"Set up Cloudflare tunnels to securely access private networks over the internet, ensuring robust security and seamless connectivity for remote teams",
31-
"Implemented a data processing platform on Kubernetes using Argo Workflows, Dagster, and Airflow",
32-
"Developed CI/CD pipelines on GitLab DevOps to deploy GCP Landing Zone infrastructure using Terraform",
33-
"Developed a Sandbox Provisioner system for Google Cloud with Slack integration enabling on-demand ephemeral GCP Projects, resulting in 95% cost savings",
34-
"Deployed AWS Landing Zone accelerator on AWS Control Tower-enabled environment using CloudFormation/CDK"
28+
"Led the secure migration of multi-tiered applications from Hetzner and Azure to Google Cloud for a Swiss WealthTech client, provisioning GKE clusters with Envoy Gateway, managed databases following industry-standard security best practices",
29+
"Developed a multi-cloud AI sandbox provisioner (GCP, AWS, Azure, OCI) with chat and Slack/CLI integration. Enabled natural language cloud provisioning with security and approval workflows, achieving 95% cost savings",
30+
"Implemented ArgoCD Autopilot for GitOps-driven deployments, managing 15+ GKE clusters from a single Argo CD instance while maintaining high availability and scalability",
31+
"Implemented zero-trust network access for remote teams, initially with Cloudflare Tunnels and later migrating to a self-hosted NetBird VPN solution for private network connectivity",
32+
"Built CI/CD pipelines on GitLab to provision GCP Landing Zone infrastructure using Terraform, enabling multi-project, multi-environment deployments with consistent governance",
33+
"Deployed AWS Landing Zone Accelerator for multi-account governance with organization-wide security baselines and compliance guardrails (Typescript CDK)",
34+
"Deployed OCI Landing Zone for a client, establishing compartment hierarchy, IAM policies, networking, and security baselines (Terraform)"
3535
],
36-
technologies: ["AWS", "GCP", "Kubernetes", "GitHub Actions", "GitLab DevOps", "Terraform", "Argo Stack", "Cloudflare Tunnels"],
36+
technologies: ["AWS", "GCP", "OCI", "Kubernetes", "Terraform", "Argo Stack", "Envoy Gateway", "NetBird", "Cloudflare", "GitLab CI"],
3737
companyLogo: "https://ollion.com/imgs/logo.svg",
3838
companyUrl: "https://ollion.com",
3939
companyColor: "#0066CC",
4040
isCurrentPosition: true,
4141
achievements: [
42-
"95% cost savings with Sandbox Provisioner system",
43-
"Led secure multi-cloud migration for Swiss asset management client",
44-
"Implemented GitOps across multiple GKE clusters"
42+
"95% cost savings with multi-cloud AI Sandbox Provisioner",
43+
"Managed 15+ GKE clusters from a single ArgoCD instance",
44+
"Generated $200K+ revenue as sole engineer on 2-year client engagement"
4545
],
4646
teamSize: "5-8 engineers"
4747
},
4848
{
4949
id: 2,
50-
title: "Sr DevOps Engineer/System Engineer",
50+
title: "Sr DevOps Engineer",
5151
company: "Sugarbox Networks",
52-
location: "Mumbai, India (Remote)",
53-
startDate: "April 2020",
52+
location: "Mumbai, India",
53+
startDate: "February 2021",
5454
endDate: "June 2022",
5555
description: [
56-
"Single-handedly bootstrapped a comprehensive data platform on-premises, that included a 15-node Hadoop cluster, 10-node Kubernetes, with Kafka, ELK, Grafana, and NiFi, resulting in a 60% increase in data processing efficiency",
57-
"Deployed Airflow, Redash, Jupyter, Grafana on Kubernetes with remote storage, orchestrating them using Argo CD and enhancing security with OAuth 2.0 SSO user logins resulting in increased developer productivity",
58-
"Developed HealthD, a Python-based program to detect Edge issues, automating JIRA ticket creation and assignment, resulting in a 70% reduction in resolution time",
59-
"Implemented Debezium change database capturing against MySQL database using Kafka connect libraries",
60-
"Implemented an end-to-end high-availability real-time monitoring and alerting system for edge and CDN systems in the e-commerce industry, resulting in a 30% improvement in system reliability and reduced downtime",
61-
"Developed NiFi pipelines and PySpark data processing applications",
62-
"Automated routine administrative tasks using Ansible, Salt Stack"
56+
"Architected and deployed an on-premises data platform from scratch — 15-node Hadoop cluster, 10-node Kubernetes cluster with Kafka, NiFi, and supporting services, increasing data processing throughput by 60%",
57+
"Managed Kubernetes workloads including Airflow and Jupyter with GitOps delivery using Argo CD, implementing OAuth 2.0 SSO for platform-wide access control",
58+
"Built HealthD, an automated incident detection system in Python that identified edge failures and auto-created JIRA tickets, reducing mean time to resolution by 70%",
59+
"Implemented real-time change data capture using Debezium and Kafka Connect, streaming MySQL events into the data platform for downstream processing"
6360
],
64-
technologies: ["Linux", "Python", "Hadoop", "Apache Spark", "Apache Kafka", "Elasticsearch", "MongoDB", "Grafana", "Apache NiFi", "Apache Airflow", "Jupyter", "Prometheus", "Ansible", "Salt Stack"],
61+
technologies: ["Kubernetes", "Hadoop", "Apache Kafka", "Argo CD", "Python", "Debezium", "Apache Airflow", "Apache NiFi"],
6562
companyLogo: "https://img-cdn.thepublive.com/fit-in/1280x960/filters:format(webp)/entrackr/media/post_attachments/wp-content/uploads/2020/04/SUGARBOX-1.jpg",
6663
companyUrl: "https://sugarboxnetworks.com"
6764
},
6865
{
6966
id: 3,
67+
title: "Systems Engineer",
68+
company: "Sugarbox Networks",
69+
location: "Mumbai, India",
70+
startDate: "April 2020",
71+
endDate: "February 2021",
72+
description: [
73+
"Designed and implemented a high-availability monitoring and alerting platform for 200+ edge and CDN nodes using Prometheus, Grafana, and ELK, improving system reliability",
74+
"Improved CDN deployment efficiency by 30% by standardizing base configurations with custom Debian OS images",
75+
"Developed data ingestion pipelines using Apache NiFi and PySpark for real-time edge telemetry processing",
76+
"Automated node provisioning and configuration management across the edge fleet using Ansible and Salt Stack"
77+
],
78+
technologies: ["Prometheus", "Grafana", "ELK", "Apache NiFi", "PySpark", "Ansible", "Salt Stack", "Debian"],
79+
companyLogo: "https://img-cdn.thepublive.com/fit-in/1280x960/filters:format(webp)/entrackr/media/post_attachments/wp-content/uploads/2020/04/SUGARBOX-1.jpg",
80+
companyUrl: "https://sugarboxnetworks.com"
81+
},
82+
{
83+
id: 4,
7084
title: "Sr Support Quality Engineer",
7185
company: "Alfa Laval",
72-
location: "Pune, India (On-site)",
86+
location: "Pune, India",
7387
startDate: "July 2015",
7488
endDate: "April 2020",
7589
description: [

0 commit comments

Comments
 (0)