File size: 6,937 Bytes
046198b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | # Manoj Guttikonda β Portfolio
Personal portfolio website for **Manoj Guttikonda** β MS Business Analytics @ UNT, ex-Accenture Cloud Operations Engineer.
Live at: _[your deployed URL here]_
---
## Tech Stack
| Layer | Technology |
|---|---|
| Framework | React 19 + TanStack Start (SSR) |
| Routing | TanStack Router |
| Styling | Tailwind CSS v4 |
| Animations | Framer Motion |
| Icons | Lucide React |
| UI Components | shadcn/ui (Radix UI) |
| Font (body) | Carlito (Calibri-equivalent, Google Fonts) |
| Font (display) | Bebas Neue (Google Fonts) |
| Package manager | Bun |
| Build tool | Vite + Nitro |
---
## Project Structure
```
src/
βββ assets/
β βββ manoj.jpg # Profile photo
βββ components/
β βββ portfolio/ # All portfolio section components
β β βββ Nav.tsx # Navigation bar (desktop + mobile)
β β βββ Hero.tsx # Hero section (name, photo, intro)
β β βββ Timeline.tsx # Career journey (undergrad β Accenture β UNT)
β β βββ Projects.tsx # Featured projects + research publications
β β βββ Skills.tsx # Skills toolkit (4 categories)
β β βββ Education.tsx # Education + internships
β β βββ Credentials.tsx # Certifications, honors, campus experience
β β βββ About.tsx # About section
β β βββ Contact.tsx # Contact section
β βββ ui/ # shadcn/ui base components (do not edit)
βββ hooks/
β βββ use-mobile.tsx # Mobile breakpoint hook
βββ lib/
β βββ links.ts # All URLs (email, resume, GitHub, LinkedIn, HF)
β βββ error-capture.ts # Error capture utility
β βββ error-page.ts # SSR error page renderer
β βββ lovable-error-reporting.ts # Error reporting (Lovable platform)
β βββ utils.ts # Tailwind class merge utility
βββ routes/
β βββ __root.tsx # Root layout + global head meta
β βββ index.tsx # Home page (assembles all sections)
βββ router.tsx # TanStack Router setup
βββ server.ts # SSR server entry
βββ start.ts # App start entry
βββ styles.css # Global CSS + Tailwind theme + custom fonts
public/
βββ favicon.svg # MG favicon (navy + orange)
```
---
## Customising Content
All personalisation lives in just a few files:
### 1. Links & URLs β `src/lib/links.ts`
```ts
export const CONTACT_EMAIL = "your@email.com";
export const RESUME_URL = "https://...";
export const LINKEDIN_URL = "https://linkedin.com/in/yourhandle";
export const GITHUB_URL = "https://github.com/yourhandle";
export const HUGGING_FACE_URL = "https://huggingface.co/yourhandle";
```
### 2. Photo β `src/assets/manoj.jpg`
Replace with your own photo. Keep the filename or update the import in `Hero.tsx`.
### 3. Hero section β `src/components/portfolio/Hero.tsx`
- Name, tagline, bio paragraphs
- Role badges
- Metric strip (GPA, months of experience, etc.)
### 4. Projects β `src/components/portfolio/Projects.tsx`
Each project is an object in the `projects` array:
```ts
{
id: "unique-id",
era: "UNT - Graduate" | "Accenture" | "Undergrad" | "Independent",
title: "Project Title",
tagline: "One-line description.",
period: "Jan 2025 - May 2025",
details: ["bullet 1", "bullet 2", "bullet 3"],
stack: ["Python", "AI"],
links: [{ label: "View Code", href: "https://github.com/..." }],
}
```
### 5. Skills β `src/components/portfolio/Skills.tsx`
Edit the `groups` array to add/remove skills.
### 6. Timeline β `src/components/portfolio/Timeline.tsx`
Edit the `items` array for career milestones.
### 7. Education β `src/components/portfolio/Education.tsx`
Edit `edu` and `internships` arrays.
### 8. Credentials β `src/components/portfolio/Credentials.tsx`
Edit `certs`, `honors`, `leadership`, and `campusExperience` arrays.
### 9. Global styles β `src/styles.css`
- `html { font-size: 19px; }` β base font scale
- `--font-sans` β body font
- `--font-display` β heading font (Bebas Neue)
- Color tokens: `--navy`, `--accent`, `--chakra`
### 10. SEO meta β `src/routes/index.tsx`
Update `pageTitle` and `pageDescription` constants.
---
## Local Development
```bash
# Install dependencies
bun install
# Start dev server
bun run dev
# Open http://localhost:5173
```
---
## Deployment β HuggingFace Spaces
### Option A: Docker Space (Recommended)
1. Create a new Space on [huggingface.co/spaces](https://huggingface.co/spaces)
2. Choose **Docker** as the Space SDK
3. Clone the Space repo and copy this project into it
4. Add the `Dockerfile` (included in this repo) at the root
5. Push β HuggingFace builds and deploys automatically
The `Dockerfile` installs Bun, builds the app, and serves it on port **7860**.
### Option B: Static Build
If you want a pure static output (no server), change `vite.config.ts`:
```ts
export default defineConfig({
tanstackStart: {
server: { entry: "server" },
nitro: { preset: "static" }, // add this line
},
});
```
Then:
```bash
bun run build
# Upload contents of .output/public/ to a Static Space or any static host
```
---
## Deployment β Other Platforms
| Platform | How |
|---|---|
| Vercel | Connect GitHub repo, auto-detected as Vite project |
| Netlify | `bun run build`, publish `.output/public/` |
| Cloudflare Pages | Default build target is already `cloudflare` |
---
## LinkedIn Profile Update
Add the following to your LinkedIn:
- **Portfolio URL** in the intro/contact section: your deployed URL
- **Featured section**: screenshot of the portfolio homepage, link to live site
- **About section**: mirror the hero bio text
- **Skills section**: pull from `Skills.tsx` groups
- **Projects section**: add each project from `Projects.tsx` with GitHub links
---
## OG Image (Social Share Preview)
Add a `1200 Γ 630 px` image named `og.jpg` to the `/public` folder.
When someone shares your portfolio link on LinkedIn or Twitter, this image shows as the preview thumbnail.
---
## Current Portfolio Details
| Item | Value |
|---|---|
| Name | Manoj Guttikonda |
| Email | guttikondamanoj7@gmail.com |
| LinkedIn | linkedin.com/in/manojguttikonda |
| GitHub | github.com/im-mj |
| HuggingFace | huggingface.co/MrNoOne07 |
| Degree | MS Business Analytics, UNT (Aug 2024 β May 2026), GPA 3.8 |
| Experience | Cloud Ops Engineer @ Accenture, Oct 2021 β Jun 2024 (33 months) |
| Certifications | AZ-104, AZ-500, Azure Fundamentals, Palo Alto, VMware, AWS |
| Research | AI-Driven Malicious URL Detection β BIGS 2025 & SWDSI 2026 |
|