All checks were successful
Deploy Website / build-and-deploy (push) Successful in 1m3s
161 lines
7.2 KiB
TypeScript
161 lines
7.2 KiB
TypeScript
import type { Metadata } from 'next';
|
||
|
||
export const metadata: Metadata = {
|
||
title: 'Resume',
|
||
description: "Akshay Kolli's resume: research, engineering, education, and technical skills.",
|
||
openGraph: {
|
||
title: 'Resume',
|
||
description: "Akshay Kolli's resume: research, engineering, education, and technical skills.",
|
||
},
|
||
};
|
||
|
||
const experience = [
|
||
{
|
||
title: 'PhD in Computer Science',
|
||
org: 'University of Massachusetts Lowell',
|
||
period: 'Jan 2025 – Present',
|
||
bullets: [],
|
||
},
|
||
{
|
||
title: 'Research Assistant',
|
||
org: 'Exalabs, University of Massachusetts Lowell',
|
||
period: 'Sep 2022 – Present',
|
||
bullets: [
|
||
'Building ML pipelines for graph-property prediction and trajectory forecasting.',
|
||
'Cut multi-agent simulation time by 1000x.',
|
||
],
|
||
},
|
||
{
|
||
title: 'Software Engineering Intern',
|
||
org: 'Siemens Healthineers',
|
||
period: 'May 2023 – Sep 2023',
|
||
bullets: [
|
||
'Created a Python data analysis tool for commercial blood testing machines.',
|
||
'Deployed a 1DConv autoencoder with 99.99% accuracy on a 700k+ dataset for real-time error detection.',
|
||
],
|
||
},
|
||
];
|
||
|
||
const education = [
|
||
{
|
||
title: 'MSc Computer Science',
|
||
org: 'University of Massachusetts',
|
||
period: 'Aug 2022 – Dec 2024',
|
||
},
|
||
{
|
||
title: 'BE Mechanical Engineering',
|
||
org: 'Osmania University',
|
||
period: 'Aug 2018 – Jun 2022',
|
||
},
|
||
];
|
||
|
||
const skills = [
|
||
{
|
||
label: 'Languages',
|
||
values: ['Python', 'Rust', 'C++', 'Go', 'SQL', 'TypeScript', 'Kotlin', 'R'],
|
||
},
|
||
{
|
||
label: 'Technologies',
|
||
values: ['React', 'Django', 'Flask', 'TensorFlow', 'PyTorch', 'Jax', 'Tauri', 'Docker', 'Kubernetes', 'GCP', 'MongoDB'],
|
||
},
|
||
{
|
||
label: 'Concepts',
|
||
values: ['NLP', 'Transformers', 'Encryption', 'AI', 'Machine Learning', 'Distributed Systems'],
|
||
},
|
||
];
|
||
|
||
export default function ResumePage() {
|
||
return (
|
||
<div className="page-frame py-20 sm:py-24">
|
||
<div className="mx-auto max-w-[72rem] space-y-10">
|
||
<header className="space-y-4 border-b border-line pb-10">
|
||
<div className="space-y-4">
|
||
<p className="eyebrow">Resume</p>
|
||
<h1 className="max-w-[40rem] text-balance font-sans text-5xl font-medium leading-[0.96] text-ink sm:text-6xl lg:text-7xl">
|
||
Research and engineering work.
|
||
</h1>
|
||
<p className="max-w-[34rem] text-[1rem] leading-8 text-muted">
|
||
My background across ML research, simulation tooling, and production software.
|
||
</p>
|
||
<div className="flex flex-wrap gap-x-5 gap-y-2 text-[0.92rem] text-ink">
|
||
<a href="/files/Resume_latest.pdf" className="transition-colors hover:text-accent">
|
||
Open PDF
|
||
</a>
|
||
<a href="/files/Resume_latest.pdf" download className="transition-colors hover:text-accent">
|
||
Download PDF
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<section className="grid gap-4 border-b border-line pb-10 lg:grid-cols-[8rem_minmax(0,1fr)]">
|
||
<p className="eyebrow lg:pt-1">Experience</p>
|
||
<div className="space-y-8">
|
||
{experience.map((item) => (
|
||
<article key={`${item.title}-${item.period}`} className="grid gap-2 md:grid-cols-[8rem_minmax(0,1fr)] md:gap-5">
|
||
<p className="font-mono text-[0.72rem] uppercase text-muted-strong">
|
||
{item.period}
|
||
</p>
|
||
<div className="space-y-2">
|
||
<div className="space-y-1">
|
||
<h2 className="font-sans text-[1.35rem] font-medium leading-tight text-ink sm:text-[1.55rem]">
|
||
{item.title}
|
||
</h2>
|
||
<p className="text-[0.96rem] leading-7 text-muted">
|
||
{item.org}
|
||
</p>
|
||
</div>
|
||
{item.bullets.length > 0 ? (
|
||
<ul className="list-disc space-y-2 pl-5 text-[0.94rem] leading-7 text-muted marker:text-accent">
|
||
{item.bullets.map((bullet) => (
|
||
<li key={bullet}>{bullet}</li>
|
||
))}
|
||
</ul>
|
||
) : null}
|
||
</div>
|
||
</article>
|
||
))}
|
||
</div>
|
||
</section>
|
||
|
||
<section className="grid gap-4 border-b border-line pb-10 lg:grid-cols-[8rem_minmax(0,1fr)]">
|
||
<p className="eyebrow lg:pt-1">Education</p>
|
||
<div className="space-y-6">
|
||
{education.map((item) => (
|
||
<article key={`${item.title}-${item.period}`} className="grid gap-2 md:grid-cols-[8rem_minmax(0,1fr)] md:gap-5">
|
||
<p className="font-mono text-[0.72rem] uppercase text-muted-strong">
|
||
{item.period}
|
||
</p>
|
||
<div className="space-y-1">
|
||
<h2 className="font-sans text-[1.35rem] font-medium leading-tight text-ink sm:text-[1.55rem]">
|
||
{item.title}
|
||
</h2>
|
||
<p className="text-[0.96rem] leading-7 text-muted">
|
||
{item.org}
|
||
</p>
|
||
</div>
|
||
</article>
|
||
))}
|
||
</div>
|
||
</section>
|
||
|
||
<section className="grid gap-4 lg:grid-cols-[8rem_minmax(0,1fr)]">
|
||
<p className="eyebrow lg:pt-1">Skills</p>
|
||
<div className="space-y-4">
|
||
{skills.map((group) => (
|
||
<article key={group.label} className="grid gap-2 md:grid-cols-[9rem_minmax(0,1fr)] md:gap-5">
|
||
<h2 className="font-sans text-[1rem] font-medium text-ink">
|
||
{group.label}
|
||
</h2>
|
||
<p className="text-[0.96rem] leading-7 text-muted">
|
||
{group.values.join(', ')}
|
||
</p>
|
||
</article>
|
||
))}
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</div>
|
||
);
|
||
}
|