Skip to content

Commit 1b2d567

Browse files
committed
Add CV page, fix dark mode styling, and improve content
- Add new CV page with PDF viewer and zoom controls - Fix dark mode text colors for experience page headings - Fix dark mode text colors for Recent Updates section - Improve experience descriptions (remove bullets, make concise) - Remove research quote from about section - Update metalens paper venue from ICCV to WACV - Make research project images non-clickable - Add zoom in/out functionality to CV PDF viewer
1 parent db78ba0 commit 1b2d567

File tree

7 files changed

+166
-16
lines changed

7 files changed

+166
-16
lines changed

example/config.js

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ module.exports = {
99
'I am third-year a Computer Science Ph.D. student at the University of North Carolina at Chapel Hill, advised by Prof. [Praneeth Chakravarthula](https://www.cs.unc.edu/~cpk/) at the [VCAIL Lab](https://www.visualcomputing.ai/). Currently, I am working on a mixture of computational optics, generative models and out-of-domain generalization, specifically exploring deep-optics and computational image reconstruction to improve achievable image quality with meta-lenses.',
1010
'My research interests broadly encompass physics-inspired deep learning for learning nano-photonic metastructures, optimization for optics design, and real-time video diffusion models. I am actively working on designing hardware for metalenses including HDR, wide-field, broadband and real-time systems, while also exploring the integration of camera dynamics into generative models. In Summer 2025, I did a research internship at AMD working on interactive generative rendering.',
1111
'Prior to my Ph.D., I gained valuable industry experience as an AI Engineer at [KLA-Tencor through ACL](https://ir.kla.com/news-events/press-releases/detail/413/kla-corporation-opens-new-artificial-intelligence-advanced) (Advanced Computing Labs, IIT Madras), where I worked under [Dr. Pradeep Ramachandran](https://www.linkedin.com/in/pramach2/?originalSubdomain=in) and collaborated with [Prof. Nitin Chandrachoodan](https://chandrachoodan.gitlab.io) on efficient GPU memory algorithms, designing software infrastructures for ML inference workloads in semiconductor inspection and defect detection systems. During my undergraduate years, I was fortunate to collaborate with [Prof. Parag Chaudhuri](https://www.cse.iitb.ac.in/~paragc/) at ViGIL, IIT Bombay, working on realistic hand shape modeling.',
12-
'I have also been fortunate enough to have worked on diverse projects spanning computer graphics, reinforcement learning, and computational imaging - from developing intelligent game-playing agents using deep Q-learning at [Ubisoft](https://www.ubisoft.com/en-us) India to creating physics-based animations, 2D network graph visualization libraries in Julia, and implementing advanced image processing algorithms. As an open source enthusiast, I have contributed to [Google Summer of Code](https://summerofcode.withgoogle.com/) with [Boost.C++](https://www.boost.org), been an [LFX Mentee](https://lfx.linuxfoundation.org/tools/mentorship/) with [Open Horizon](https://lfedge.org/projects/open-horizon/), and contributed to [Javis.jl](https://juliaanimators.github.io/Javis.jl/stable/) for 2D drawing and visualization software. I have been recognized with [LiFT\'21 and LiFT\'22 scholarships](https://www.linuxfoundation.org/about/lift-scholarships) for advanced open source training, Bertelsmann Tech scholarship, and [Kaggle ML Research Spotlight](https://www.kaggle.com/discussions/general/370095).',
13-
'\n```markdown\nDoing research may be similar to MCMC sampling, you start at zero knowledge and after a \n\n burnout may get enlightened with an idea!\n```'
12+
'I have also been fortunate enough to have worked on diverse projects spanning computer graphics, reinforcement learning, and computational imaging - from developing intelligent game-playing agents using deep Q-learning at [Ubisoft](https://www.ubisoft.com/en-us) India to creating physics-based animations, 2D network graph visualization libraries in Julia, and implementing advanced image processing algorithms. As an open source enthusiast, I have contributed to [Google Summer of Code](https://summerofcode.withgoogle.com/) with [Boost.C++](https://www.boost.org), been an [LFX Mentee](https://lfx.linuxfoundation.org/tools/mentorship/) with [Open Horizon](https://lfedge.org/projects/open-horizon/), and contributed to [Javis.jl](https://juliaanimators.github.io/Javis.jl/stable/) for 2D drawing and visualization software. I have been recognized with [LiFT\'21 and LiFT\'22 scholarships](https://www.linuxfoundation.org/about/lift-scholarships) for advanced open source training, Bertelsmann Tech scholarship, and [Kaggle ML Research Spotlight](https://www.kaggle.com/discussions/general/370095).'
1413
],
1514
avatar: '/2me.jpg',
1615
professions: [
@@ -110,31 +109,31 @@ module.exports = {
110109
date: 'Jun 2025 - Aug 2025',
111110
title: 'Research Intern',
112111
location: 'AMD, Santa Clara, CA',
113-
description: 'Accelerated interactive generative rendering pipelines<br>• Optimized real-time performance for graphics applications',
112+
description: 'Accelerated interactive generative rendering pipelines and optimized real-time graphics performance for GPU applications.',
114113
},
115114
{
116115
date: 'Jun 2021 - Jul 2023',
117116
title: 'AI Engineer',
118117
location: 'KLA-Tencor, Chennai, India',
119-
description: ' ML inference optimization for semiconductor inspection tools<br>• Efficient GPU memory algorithms with Dr. Pradeep Ramachandran<br>• Collaborated with Prof. Nitin Chandrachoodan on performance optimization',
118+
description: 'Optimized ML inference for semiconductor inspection systems. Developed efficient GPU memory algorithms and performance optimization solutions.',
120119
},
121120
{
122121
date: 'Jun 2020 - Aug 2020',
123122
title: 'Full Stack & DevOps Intern',
124123
location: 'GoodHealth, India',
125-
description: '• API development for Django-REST & Flask applications<br>• AWS Elastic Beanstalk deployment using Docker<br>• GitLab CI/CD pipeline automation',
124+
description: 'Built REST APIs with Django/Flask, deployed applications on AWS Elastic Beanstalk using Docker, and automated CI/CD pipelines.',
126125
},
127126
{
128127
date: 'May 2020 - Jun 2020',
129128
title: 'Summer Intern',
130129
location: 'Samsung India, India',
131-
description: '• 100k+ server-client connections using Go websockets<br>• Performance benchmarking with containerized environments<br>• Low-resource server platform optimization',
130+
description: 'Implemented scalable websocket architecture supporting 100k+ concurrent connections with optimized low-resource server performance.',
132131
},
133132
{
134133
date: 'May 2019 - Jul 2019',
135134
title: 'Summer Intern',
136135
location: 'Ubisoft India Studios, India',
137-
description: '• Deep Q-Learning for optimal gameplay state-action mapping<br>• SSD framework with MobileNetv1 for object detection<br>• Game image feature extraction and analysis',
136+
description: 'Developed deep Q-learning agents for optimal gameplay and implemented object detection systems using SSD MobileNetv1 framework.',
138137
},
139138
],
140139
}, {
@@ -145,19 +144,19 @@ module.exports = {
145144
date: 'Aug 2024 - May 2025',
146145
title: 'Graduate Teaching Assistant',
147146
location: 'UNC Chapel Hill, NC',
148-
description: '• TA for "Introduction to Data Science" (200 students)<br>• Weekly recitations and office hours<br>• Student mentoring and curriculum support',
147+
description: 'Teaching assistant for "Introduction to Data Science" course with 200+ students. Conducted weekly recitations and provided academic mentoring.',
149148
},
150149
{
151150
date: 'Jul 2023 - May 2024',
152151
title: 'Research Assistant',
153152
location: 'UNC Chapel Hill, NC',
154-
description: '• Computational optics and deep learning research<br>• VCAIL Lab under Prof. Praneeth Chakravarthula<br>• Meta-lens design and optimization',
153+
description: 'Conducted research in computational optics and deep learning at VCAIL Lab. Focused on meta-lens design and optimization algorithms.',
155154
},
156155
{
157156
date: 'Sep 2018 - Jul 2019',
158157
title: 'Team Member',
159158
location: 'IIT Bombay Mars Rover Team, Mumbai',
160-
description: '• Autonomous navigation using ROS platform<br>• SLAM algorithms: G-mapping, hector-mapping, Cartographer-2D<br>• Kinectv2 sensor integration and testing',
159+
description: 'Developed autonomous navigation systems using ROS platform. Implemented SLAM algorithms and integrated Kinectv2 sensors for mapping.',
161160
},
162161
],
163162
}, {
@@ -168,13 +167,13 @@ module.exports = {
168167
date: 'May 2020 - Aug 2020',
169168
title: 'Google Summer of Code Student Developer',
170169
location: 'Boost.C++, Remote',
171-
description: '• Generic multidimensional histogram container for Boost.GIL<br>• Template meta-programming and variadic templates<br>• 3 contrast enhancement algorithms (MATLAB/OpenCV level)',
170+
description: 'Created generic multidimensional histogram container for Boost.GIL using advanced C++ template meta-programming and implemented image enhancement algorithms.',
172171
},
173172
{
174173
date: 'Mar 2021 - Jun 2021',
175174
title: 'Open Horizon Mentee',
176175
location: 'Linux Foundation, Remote',
177-
description: '• LFX Mentorship program participant<br>• Open Horizon edge computing platform development<br>• Distributed systems and IoT contributions',
176+
description: 'Contributed to Open Horizon edge computing platform through LFX Mentorship program, focusing on distributed systems and IoT solutions.',
178177
},
179178
],
180179
},

example/content/research/metalens-hdr/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ tags:
77
- "burst-photography"
88
- "computer-vision"
99
date: 2025-02-22
10-
venue: "ICCV 2025 Conference Submission (Under Review)"
10+
venue: "WACV 2025 Conference Submission (Under Review)"
1111
authors:
1212
- name: "Debabrata Mandal"
1313
url: "https://codejaeger.github.io"

gatsby-theme-academic/src/components/PageFragments/HomePage/homePage.module.less

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,25 @@
6666
line-height: 1.4;
6767
}
6868

69+
// Dark mode styles for news section
70+
:global(.rs-theme-dark) {
71+
.newsItem {
72+
background: rgba(255, 255, 255, 0.05);
73+
}
74+
75+
.newsDate {
76+
color: var(--rs-text-secondary);
77+
}
78+
79+
.newsTitle {
80+
color: var(--rs-text-primary);
81+
}
82+
83+
.newsDescription {
84+
color: var(--rs-text-secondary);
85+
}
86+
}
87+
6988
// University Gallery Styles
7089
.universityCard {
7190
background: #fff;

gatsby-theme-academic/src/components/PageLayout/Header/index.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ export default () => {
132132
<NavButton to="/experience/" onClick={toggleMenu} partiallyActive>Experience</NavButton>
133133
<NavButton to="/research/" onClick={toggleMenu} partiallyActive>Research</NavButton>
134134
<NavButton to="/posts/" onClick={toggleMenu} partiallyActive>Posts</NavButton>
135+
<NavButton to="/cv/" onClick={toggleMenu}>CV</NavButton>
135136
<li className={style.navItem}>
136137
<ThemeModeSwitch />
137138
</li>

gatsby-theme-academic/src/components/ResearchCard/index.jsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,7 @@ const ResearchCard = (props) => {
125125
) : null}
126126
</FlexboxGrid.Item>
127127
<FlexboxGrid.Item as={Col} xs={24} sm={24} md={12} lg={8}>
128-
<a href={Utils.generateFullUrl(siteMetadata, url)}>
129-
{fluid ? <Img fluid={fluid} /> : <div className={style.postCardImg} />}
130-
</a>
128+
{fluid ? <Img fluid={fluid} /> : <div className={style.postCardImg} />}
131129
</FlexboxGrid.Item>
132130
</FlexboxGrid>
133131
</Panel>
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
import { Button, Row, Col } from 'rsuite';
2+
import React, { Component } from 'react';
3+
import { Document, Page, pdfjs } from 'react-pdf';
4+
5+
import SEO from '../components/Seo';
6+
7+
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;
8+
9+
export default class CV extends Component {
10+
constructor() {
11+
super();
12+
this.state = {
13+
numPages: null,
14+
pageNumber: 1,
15+
scale: 1.0,
16+
};
17+
this.onDocumentLoadSuccess = this.onDocumentLoadSuccess.bind(this);
18+
}
19+
20+
onDocumentLoadSuccess({ numPages }) {
21+
this.setState({ numPages });
22+
}
23+
24+
onDocumentLoadError(error) {
25+
console.error('Error loading PDF:', error);
26+
}
27+
28+
zoomIn = () => {
29+
this.setState(prevState => ({
30+
scale: Math.min(prevState.scale + 0.2, 3.0)
31+
}));
32+
}
33+
34+
zoomOut = () => {
35+
this.setState(prevState => ({
36+
scale: Math.max(prevState.scale - 0.2, 0.4)
37+
}));
38+
}
39+
40+
resetZoom = () => {
41+
this.setState({ scale: 1.0 });
42+
}
43+
44+
render() {
45+
const { pageNumber, numPages, scale } = this.state;
46+
const pageToggle = () => {
47+
if (pageNumber === 1) {
48+
this.setState({ pageNumber: 2 });
49+
} else {
50+
this.setState({ pageNumber: 1 });
51+
}
52+
return 1;
53+
};
54+
55+
return (
56+
<div>
57+
<SEO
58+
title="CV"
59+
description="My curriculum vitae with comprehensive details of my academic and professional experience, research publications, education, and achievements."
60+
path="cv"
61+
/>
62+
<div className="marginTopTitle">
63+
<h1 className="titleSeparate">Curriculum Vitae</h1>
64+
</div>
65+
<Document
66+
file="/resume.pdf"
67+
onLoadSuccess={this.onDocumentLoadSuccess}
68+
onLoadError={this.onDocumentLoadError}
69+
>
70+
<Page pageNumber={pageNumber} scale={scale} />
71+
</Document>
72+
<Row justify="center" style={{ background: 'lightslategray', padding: '10px' }} type="flex" gutter={[10, 0]}>
73+
<Col span={3}>
74+
<p>{`Page ${pageNumber} of ${numPages}`}</p>
75+
</Col>
76+
<Col span={3}>
77+
<Button type="primary" onClick={pageToggle}>
78+
{pageNumber === 1 ? 'Next Page' : 'Previous Page'}
79+
</Button>
80+
</Col>
81+
<Col span={2}>
82+
<Button onClick={this.zoomOut} disabled={scale <= 0.4}>
83+
Zoom Out
84+
</Button>
85+
</Col>
86+
<Col span={2}>
87+
<p style={{ margin: 0, lineHeight: '32px' }}>{`${Math.round(scale * 100)}%`}</p>
88+
</Col>
89+
<Col span={2}>
90+
<Button onClick={this.zoomIn} disabled={scale >= 3.0}>
91+
Zoom In
92+
</Button>
93+
</Col>
94+
<Col span={2}>
95+
<Button onClick={this.resetZoom}>
96+
Reset
97+
</Button>
98+
</Col>
99+
</Row>
100+
</div>
101+
);
102+
}
103+
}

gatsby-theme-academic/src/styles/global.less

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,36 @@ body {
129129
}
130130
}
131131

132+
// Dark mode specific styling for experience page
133+
.rs-theme-dark .experience-page {
134+
.rs-panel {
135+
&:nth-child(odd) .rs-panel-header {
136+
background: linear-gradient(135deg, #0d1929 0%, #1f3a8a 100%);
137+
138+
h3 {
139+
color: #69b7ff !important;
140+
}
141+
}
142+
143+
&:nth-child(even) .rs-panel-header {
144+
background: linear-gradient(135deg, #162312 0%, #365314 100%);
145+
146+
h3 {
147+
color: #95de64 !important;
148+
}
149+
}
150+
}
151+
152+
.rs-panel-group .rs-panel {
153+
h6 {
154+
color: var(--rs-text-primary) !important;
155+
}
156+
157+
div:last-child {
158+
color: var(--rs-text-secondary) !important;
159+
}
160+
}
161+
}
132162

133163
h1, h2, h3, h4, h5, h6 {
134164
font-weight: 600;

0 commit comments

Comments
 (0)