diff --git a/README.md b/README.md index 18bc70e..ce89b24 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,40 @@ -# React + Vite +# Luan Tran - Portfolio Website -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +My personal portfolio showcasing my journey as a software engineer and Master's student in Applied Computer Science at Concordia University. Built with React and Tailwind CSS, this site reflects my bilingual background (English/French) and my passion for clean, functional design. -Currently, two official plugins are available: +**Live Site**: [portfolio.luantran.dev](https://portfolio.luantran.dev) -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh +- Portfolio: [portfolio.luantran.dev](https://portfolio.luantran.dev) +- LinkedIn: [linkedin.com/in/theluantran](https://linkedin.com/in/theluantran) +- GitHub: [@luantran](https://github.com/luantran) -## React Compiler +Currently working on: ML/NLP projects, LeetCode practice, and building better developer tools. -The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). -## Expanding the ESLint configuration +## Features + +**Why I Built It This Way** + +- **Bilingual Interface**: Growing up in Montreal and teaching French at Cégep Marie-Victorin, I wanted my portfolio to be accessible to both my English-speaking tech colleagues and French-speaking students. Language preference persists across sessions. +- **Responsive Design**: After years of building full-stack applications at companies like Broadsign and Ericsson, I've learned that mobile-first isn't optional—it's essential. The navigation adapts from a sidebar on desktop to a bottom bar on mobile. +- **Clean, Minimal Aesthetic**: Inspired by my background in both development and teaching, I opted for a gradient background with glass-morphism effects that's professional but not corporate. +- **Version Control for Portfolio Iterations**: As someone constantly learning and evolving (currently diving deep into machine learning and NLP), I built in support to deploy multiple portfolio versions. Each significant update gets its own branch and deployment path. + +## Tech Stack + +**The Tools I Chose (and Why)** + +### Core Technologies +- **React 19.2** - I've been working with React since my time at Broadsign, and it's become my go-to for building interactive UIs +- **Vite 7.2** - After dealing with slower build tools in enterprise environments, Vite's speed is refreshing. Using Rolldown for even faster builds +- **Tailwind CSS 4.1** - Utility-first CSS lets me iterate quickly without context-switching between files + +### Additional Libraries +- **lucide-react** & **react-icons** - A mix of modern icons and Font Awesome classics for the tech stack I actually use + +### Development Tools +- **ESLint** - Code linting +- **PostCSS** - CSS processing +- **GitHub Actions** - CI/CD pipeline + -If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. diff --git a/index.html b/index.html index 52e459e..6b7fd96 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ -