@@ -39,6 +39,7 @@ import envolvlyProjectThumbnail from "../../../public/image-assets/projects/Envo
3939import MITJOSProjectThumbnail from "../../../public/image-assets/projects/MIT-JOS/thumbnail.png" ;
4040import WormholeProjectThumbnail from "../../../public/image-assets/projects/Wormhole/thumbnail.png" ;
4141import StuntCVProjectThumbnail from "../../../public/image-assets/projects/StuntCV/thumbnail.png" ;
42+ import ResumAIProjectThumbnail from "../../../public/image-assets/projects/ResumAI/thumbnail.png" ;
4243
4344import fileIcon from "../../../public/file.svg" ;
4445import globeIcon from "../../../public/globe.svg" ;
@@ -155,7 +156,7 @@ const projects: Project[] = [
155156 {
156157 name : "Envolvly" ,
157158 technologies : "GitHub, Docker, AWS, React, Typescript, MongoDB" ,
158- period : "September 2023 - Current " ,
159+ period : "September 2023 - Present " ,
159160 description :
160161 "Laid groundwork for tech infrastructure, resulting in a robust, scalable application reaching 1,000+ unique users." ,
161162 longDescription :
@@ -165,7 +166,7 @@ const projects: Project[] = [
165166 {
166167 name : "MIT JOS" ,
167168 technologies : "C, C++, Assembly, OS concepts, Computer Architecture" ,
168- period : "March 2024 - June 2024 " ,
169+ period : "March 2024" ,
169170 description :
170171 "Completed labs, assignments, & built an Operating system based off of MIT’s JOS curriculum." ,
171172 longDescription :
@@ -200,6 +201,16 @@ const projects: Project[] = [
200201 "An AI-powered job search application. Creates curated Cover letter, anticipated Interview questions, and more" ,
201202 longDescription :
202203 "An AI-powered resume builder and analyzer that helps users create and optimize their resumes for job applications." ,
204+ image : ResumAIProjectThumbnail ,
205+ } ,
206+ {
207+ name : "My next big thing." ,
208+ technologies : "???" ,
209+ period : "???" ,
210+ description :
211+ "My next big thing could be built with your team. Contact me to make it happen." ,
212+ longDescription :
213+ "My next big thing could be built with your team. Contact me to make it happen." ,
203214 image : globeIcon ,
204215 } ,
205216] ;
@@ -376,7 +387,7 @@ function ProjectCard({ project }: { project: Project }) {
376387 return (
377388 < >
378389 < div
379- className = "bg-gray-50 dark:bg-gray-900 border border-gray-200 dark:border-gray-800 rounded-lg p-6 hover:border-gray-300 dark:hover:border-gray-700 transition-all duration-300 cursor-pointer"
390+ className = "bg-gray-50 dark:bg-gray-900 border border-gray-200 dark:border-gray-800 rounded-lg p-6 hover:border-gray-300 dark:hover:border-gray-700 transition-all duration-300 cursor-pointer h-full flex flex-col "
380391 onClick = { ( ) => setIsModalOpen ( true ) }
381392 >
382393 { project . image && (
@@ -389,23 +400,25 @@ function ProjectCard({ project }: { project: Project }) {
389400 />
390401 </ div >
391402 ) }
392- < h3 className = "text-xl font-bold" > { project . name } </ h3 >
393- < p className = "text-sm text-gray-500 mb-2" > { project . period } </ p >
394- < p className = "text-gray-600 dark:text-gray-400 mb-4" >
395- { project . description }
396- </ p >
397- < p className = "text-sm text-gray-500 font-mono" >
398- { project . technologies }
399- </ p >
403+ < div className = "flex flex-col flex-grow" >
404+ < h3 className = "text-xl font-bold" > { project . name } </ h3 >
405+ < p className = "text-sm text-gray-500 mb-2" > { project . period } </ p >
406+ < p className = "text-gray-600 dark:text-gray-400 mb-4 flex-grow" >
407+ { project . description }
408+ </ p >
409+ < p className = "text-sm text-gray-500 font-mono" >
410+ { project . technologies }
411+ </ p >
412+ </ div >
400413 </ div >
401414
402415 { isModalOpen && (
403416 < div
404- className = "fixed inset-0 bg-black bg-opacity-50 backdrop-blur-sm flex items-center justify-center z-50"
417+ className = "fixed inset-0 backdrop-blur-lg flex items-center justify-center z-50 p-4 "
405418 onClick = { ( ) => setIsModalOpen ( false ) }
406419 >
407420 < div
408- className = "bg-white dark:bg-gray-800 p-8 rounded-lg shadow-lg w-full max-w-2xl"
421+ className = "bg-white dark:bg-gray-900 p-8 rounded-lg shadow-2xl w-full max-w-2xl border border-gray-200 dark:border-gray-800 "
409422 onClick = { ( e ) => e . stopPropagation ( ) }
410423 >
411424 { project . image && (
@@ -428,7 +441,7 @@ function ProjectCard({ project }: { project: Project }) {
428441 </ p >
429442 < button
430443 onClick = { ( ) => setIsModalOpen ( false ) }
431- className = "mt-6 bg-gray-200 dark:bg-gray-600 text-gray-800 dark:text-gray-200 font-bold py-2 px-4 rounded"
444+ className = "mt-6 bg-gray-200 dark:bg-gray-700 text-gray-800 dark:text-gray-200 font-bold py-2 px-4 rounded-lg hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors "
432445 >
433446 Close
434447 </ button >
@@ -525,14 +538,9 @@ export default function HomePage() {
525538
526539 < section id = "projects" >
527540 < h2 className = "text-4xl font-bold mb-8 text-center" > Projects</ h2 >
528- < div className = "flex overflow-x-auto gap-8 pb -8" >
541+ < div className = "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap -8" >
529542 { projects . map ( ( proj , index ) => (
530- < div
531- key = { index }
532- className = "flex-shrink-0 w-full md:w-1/2 lg:w-1/3"
533- >
534- < ProjectCard project = { proj } />
535- </ div >
543+ < ProjectCard key = { index } project = { proj } />
536544 ) ) }
537545 </ div >
538546 </ section >
0 commit comments