Skip to content

Commit 2fccc8d

Browse files
committed
added media + made skeleton site
1 parent 3284c90 commit 2fccc8d

File tree

6 files changed

+104
-120
lines changed

6 files changed

+104
-120
lines changed

public/images/cactuscreatives.png

2.3 KB
Loading

public/images/topImage.jpg

234 KB
Loading

public/resume.pdf

208 KB
Binary file not shown.

src/app/globals.css

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,19 @@
33
@tailwind utilities;
44

55
:root {
6-
--background: #ffffff;
7-
--foreground: #171717;
8-
}
9-
10-
@media (prefers-color-scheme: dark) {
11-
:root {
12-
--background: #0a0a0a;
13-
--foreground: #ededed;
6+
--background: #ffffff;
7+
--foreground: #171717;
148
}
9+
10+
.dark {
11+
--background: #0a0a0a;
12+
--foreground: #ededed;
1513
}
1614

15+
/* Use Tailwind's dark class */
1716
body {
1817
color: var(--foreground);
1918
background: var(--background);
20-
font-family: Arial, Helvetica, sans-serif;
2119
}
2220

2321
@layer utilities {

src/app/layout.tsx

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
11
import type { Metadata } from "next";
2-
import localFont from "next/font/local";
2+
import { Inter } from 'next/font/google'
33
import "./globals.css";
44

5-
const geistSans = localFont({
6-
src: "./fonts/GeistVF.woff",
7-
variable: "--font-geist-sans",
8-
weight: "100 900",
9-
});
10-
const geistMono = localFont({
11-
src: "./fonts/GeistMonoVF.woff",
12-
variable: "--font-geist-mono",
13-
weight: "100 900",
14-
});
5+
const inter = Inter({ subsets: ['latin'] })
156

167
export const metadata: Metadata = {
17-
title: "Create Next App",
18-
description: "Generated by create next app",
8+
title: "Himank Dave",
9+
description: "Personal website of Himank Dave.",
1910
};
2011

2112
export default function RootLayout({
@@ -26,7 +17,7 @@ export default function RootLayout({
2617
return (
2718
<html lang="en">
2819
<body
29-
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
20+
className={`${inter.className}`}
3021
>
3122
{children}
3223
</body>

src/app/page.tsx

Lines changed: 92 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,96 @@
1-
import Image from "next/image";
1+
"use client";
22

3-
export default function Home() {
4-
return (
5-
<div className="grid grid-rows-[20px_1fr_20px] items-center justify-items-center min-h-screen p-8 pb-20 gap-16 sm:p-20 font-[family-name:var(--font-geist-sans)]">
6-
<main className="flex flex-col gap-8 row-start-2 items-center sm:items-start">
7-
<Image
8-
className="dark:invert"
9-
src="https://nextjs.org/icons/next.svg"
10-
alt="Next.js logo"
11-
width={180}
12-
height={38}
13-
priority
14-
/>
15-
<ol className="list-inside list-decimal text-sm text-center sm:text-left font-[family-name:var(--font-geist-mono)]">
16-
<li className="mb-2">
17-
Get started by editing{" "}
18-
<code className="bg-black/[.05] dark:bg-white/[.06] px-1 py-0.5 rounded font-semibold">
19-
src/app/page.tsx
20-
</code>
21-
.
22-
</li>
23-
<li>Save and see your changes instantly.</li>
24-
</ol>
3+
import { Header } from './components/header'
4+
import { Footer } from './components/footer'
5+
import { About } from './components/about'
6+
import { Experiences } from './components/experiences'
7+
import { Projects } from './components/projects'
8+
9+
export default function Portfolio() {
10+
// const [darkMode, setDarkMode] = useState(false)
11+
// useEffect(() => {
12+
// if (darkMode) {
13+
// document.documentElement.classList.add('dark')
14+
// } else {
15+
// document.documentElement.classList.remove('dark')
16+
// }
17+
// }, [darkMode])
18+
19+
const experiencesArray = [
20+
{
21+
companyLogo: "/images/cactuscreatives.png",
22+
companyName: "Cactus Creatives",
23+
position: "Software Developer Intern, Core",
24+
period: "Summer 2024",
25+
responsibilities: [
26+
`Developed a pipeline to scrape, clean, and model hierarchical data with Flask, supporting interactive visualizations via React and D3.js.`,
27+
`Built a self-hosted uptime monitoring tool using Node.js, Axios for web & database monitoring, Redis for data storage, and Socket.IO for real-time websocket communication, with VPS deployment via Docker.`,
28+
`Designed multiple CI/CD pipelines using Github Actions to automate unit and integration testing with Jest and Cypress, deployment, and monitoring processes for the uptime monitoring tool.`,
29+
`Engineered a domain-specific chatbot with 85% accuracy, leveraging a PDF-trained algorithm, custom model trainer, and OpenAI's NLP API for multilingual responses.`
30+
]
31+
},
32+
{
33+
companyLogo: "/images/cactuscreatives.png",
34+
companyName: "Cactus Creatives",
35+
position: "Python Developer Intern",
36+
period: "Summer 2023",
37+
responsibilities: [
38+
"Developed and maintained full-stack CMS in HTMX and Django, displaying real-time metrics.",
39+
"Implemented a Python script to parse and migrate over 25k+ records from MySQL to PostgreSQL databases.",
40+
"Optimized SQL queries in the client codebase to align with updated database schema and improve performance post-migration.",
41+
"Analyzed large product usage datasets through linear/logistic regression and outlier detection, leading to over 25% client savings."
42+
]
43+
}
44+
]
2545

26-
<div className="flex gap-4 items-center flex-col sm:flex-row">
27-
<a
28-
className="rounded-full border border-solid border-transparent transition-colors flex items-center justify-center bg-foreground text-background gap-2 hover:bg-[#383838] dark:hover:bg-[#ccc] text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5"
29-
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
30-
target="_blank"
31-
rel="noopener noreferrer"
32-
>
33-
<Image
34-
className="dark:invert"
35-
src="https://nextjs.org/icons/vercel.svg"
36-
alt="Vercel logomark"
37-
width={20}
38-
height={20}
39-
/>
40-
Deploy now
41-
</a>
42-
<a
43-
className="rounded-full border border-solid border-black/[.08] dark:border-white/[.145] transition-colors flex items-center justify-center hover:bg-[#f2f2f2] dark:hover:bg-[#1a1a1a] hover:border-transparent text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5 sm:min-w-44"
44-
href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
45-
target="_blank"
46-
rel="noopener noreferrer"
47-
>
48-
Read our docs
49-
</a>
46+
const projectsArray = [
47+
{
48+
title: "Trivivo",
49+
description: "Developed a full-stack web app with a Django/MySQL backend, HTML5/CSS3/jQuery frontend, RESTful API and real-time admin dashboard, optimizing game management by 45%.",
50+
repo: true,
51+
repoUrl: "https://github.com/steadyfall/wwbm-webapp"
52+
},
53+
{
54+
title: "SpectraSVD",
55+
description: "Designed a low-rank approximation image compression algorithm with 25%+ size reduction, visualized using OpenCV/Pillow, and deployed an interactive Streamlit web app for real-time results.",
56+
repo: true,
57+
repoUrl: "https://github.com/steadyfall/svd-compression"
58+
},
59+
{
60+
title: "RedWish",
61+
description: "Developed a full-stack health app for blood donation accessibility with a Firebase backend, HTML5/CSS3/jQuery frontend, and integrated a chatbot using DialogFlow API to boost user engagement.",
62+
repo: true,
63+
repoUrl: "https://github.com/steadyfall/RedWish"
64+
},
65+
{
66+
title: "Chess (CS246 Final Project)",
67+
description: "Developed a C++ chess engine, innovating three-way and four-way variants, and creating test suites and GUI in a Linux environment with CMake and XWindows.",
68+
repo: false,
69+
repoUrl: ""
70+
},
71+
{
72+
title: "EcoWiz",
73+
description: "Developed a full-stack garbage classification app with a React frontend, Flask backend, and an 80%-accurate multimodal model using ResNet-50 CNN and YOLOv8.",
74+
repo: true,
75+
repoUrl: "https://github.com/karman103/DeltaHacksX"
76+
}
77+
]
78+
79+
80+
return (
81+
// ${darkMode ? 'dark' : ''}
82+
<div className={`min-h-screen`}>
83+
<div className="bg-gray-100 dark:bg-gray-900 text-gray-800 dark:text-gray-200 transition-colors duration-300">
84+
<div className="mx-auto max-w-full px-4 sm:px-6 md:px-8 lg:max-w-5xl xl:max-w-6xl 2xl:max-w-7xl">
85+
<Header />
86+
<main className="container mx-auto px-4 py-8">
87+
<About />
88+
<Experiences arr={experiencesArray}/>
89+
<Projects arr={projectsArray}/>
90+
</main>
91+
<Footer />
5092
</div>
51-
</main>
52-
<footer className="row-start-3 flex gap-6 flex-wrap items-center justify-center">
53-
<a
54-
className="flex items-center gap-2 hover:underline hover:underline-offset-4"
55-
href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
56-
target="_blank"
57-
rel="noopener noreferrer"
58-
>
59-
<Image
60-
aria-hidden
61-
src="https://nextjs.org/icons/file.svg"
62-
alt="File icon"
63-
width={16}
64-
height={16}
65-
/>
66-
Learn
67-
</a>
68-
<a
69-
className="flex items-center gap-2 hover:underline hover:underline-offset-4"
70-
href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
71-
target="_blank"
72-
rel="noopener noreferrer"
73-
>
74-
<Image
75-
aria-hidden
76-
src="https://nextjs.org/icons/window.svg"
77-
alt="Window icon"
78-
width={16}
79-
height={16}
80-
/>
81-
Examples
82-
</a>
83-
<a
84-
className="flex items-center gap-2 hover:underline hover:underline-offset-4"
85-
href="https://nextjs.org?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
86-
target="_blank"
87-
rel="noopener noreferrer"
88-
>
89-
<Image
90-
aria-hidden
91-
src="https://nextjs.org/icons/globe.svg"
92-
alt="Globe icon"
93-
width={16}
94-
height={16}
95-
/>
96-
Go to nextjs.org →
97-
</a>
98-
</footer>
93+
</div>
9994
</div>
100-
);
101-
}
95+
)
96+
}

0 commit comments

Comments
 (0)