A modern, premium personal website and portfolio for Andrija Đurović, a young developer and innovator from Podgorica, Montenegro.
Visit: andrijadjurovic.com
This website showcases:
- Innovation Projects — EcoMont, CetiNET, Embero, NeuroTrack, ETS.me, and more
- Technical Skills — IoT, mobile development, AI, 3D engineering, and more
- International Recognition — UN/ITU awards, Project Earth, Royal Institution
- Experience — Programs, internships, educational initiatives
- Media Appearances — Press coverage, podcast features
- Personal Background — Education, beyond-technology interests
cd andrija-djurovic-portfolio
bash scripts/setup.sh# 1. Install dependencies
npm install
# 2. Start development server
npm run dev
# 3. Open in browser
# Visit http://localhost:3000- SETUP.md — Complete project structure and configuration
- DEPLOYMENT.md — Deploy to production (Vercel, etc.)
- CONTENT_UPDATES.md — How to update content without coding
| Technology | Purpose |
|---|---|
| Next.js 16.3 | React framework with App Router |
| TypeScript | Type-safe development |
| Tailwind CSS 4 | Utility-first styling |
| Framer Motion | Smooth animations |
| Vercel | Deployment platform |
src/
├── app/ # Routes and pages
│ ├── layout.tsx # Root layout with metadata
│ ├── page.tsx # Homepage
│ ├── globals.css # Global styles
│ ├── not-found.tsx # 404 page
│ └── projects/[id]/ # Individual project pages
│
├── components/ # React components
│ ├── Navigation.tsx
│ ├── HeroSection.tsx
│ ├── ProjectsSection.tsx
│ └── (14 more components)
│
├── data/ # Content & configuration
│ ├── projects.ts # All projects
│ ├── experience.ts # Timeline, awards, media
│ └── index.ts # Skills, config
│
└── types/ # TypeScript interfaces
- Minimal, professional aesthetic
- Fully responsive (mobile, tablet, desktop)
- Dark mode support
- Smooth micro-interactions
- Accessibility-first (WCAG compliant)
- Complete metadata & Open Graph
- JSON-LD structured data
- Dynamic sitemap generation
- robots.txt configuration
- Lighthouse 95+
- Touch-friendly navigation
- Readable typography at all sizes
- Large, accessible targets
- No horizontal scrolling
- Optimized images
- Code splitting
- Static generation
- Edge caching
- Core Web Vitals optimized
| Route | Description |
|---|---|
/ |
Homepage with all sections |
/projects/ecomont |
EcoMont project details |
/projects/cetinet |
CetiNET project details |
/projects/embero |
Embero project details |
/projects/[id] |
Auto-generated project pages |
/sitemap.xml |
SEO sitemap |
/robots.txt |
Search engine config |
Edit src/data/index.ts:
export const siteConfig = {
name: "Andrija Đurović",
email: "your.email@example.com",
github: "https://github.com/yourprofile",
linkedin: "https://linkedin.com/in/yourprofile",
// ... more fields
};Edit src/data/projects.ts and add to the projects array. The project page auto-generates!
Edit CSS variables in src/app/globals.css:
:root {
--accent-primary: #10b981; /* Emerald */
--accent-secondary: #06b6d4; /* Cyan */
}See CONTENT_UPDATES.md for detailed customization guides.
npm run build
npm start# Option 1: Push to GitHub, then connect in Vercel
git push origin main
# Option 2: Use Vercel CLI
npm install -g vercel
vercelSee DEPLOYMENT.md for detailed deployment instructions.
Target metrics for Lighthouse:
- ✓ Performance: 95+
- ✓ Accessibility: 95+
- ✓ SEO: 100
- ✓ Best Practices: 95+
- ✓ No hardcoded secrets
- ✓ CSRF protection via Next.js
- ✓ XSS prevention via React
- ✓ Security headers configured
- ✓ Regular dependency updates
- ✓ Type-safe development
src/data/projects.ts— Add/update projectssrc/data/experience.ts— Timeline, awards, mediasrc/data/index.ts— Skills, interests, config
src/components/*.tsx— Visual componentssrc/app/globals.css— Styles & animationssrc/app/page.tsx— Homepage structure
npm run dev # Start dev server (http://localhost:3000)
npm run build # Build for production
npm start # Run production build
npm run lint # Check code qualityChanges not showing?
- Hard refresh: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows)
- Clear cache:
rm -rf .next && npm run dev
Build errors?
- Run
npm run buildlocally to see full error - Check TypeScript types in data files
- Verify syntax in
src/data/
Port 3000 already in use?
- Kill process:
lsof -i :3000thenkill -9 <PID> - Or use different port:
npm run dev -- -p 3001
See SETUP.md for more troubleshooting.
- Website: https://andrijadjurovic.com
- GitHub: https://github.com/andrijadjurovic
- LinkedIn: https://www.linkedin.com/in/andrijadjurovic/
- Project Earth: https://projectearth.global/student-ambassador/andrija-djurovic/
Personal portfolio. All content and design by Andrija Đurović unless otherwise credited.
-
Start Development
npm run dev
-
Customize Content
-
Deploy to Production
- See DEPLOYMENT.md
-
Monitor & Maintain
- Update content as projects evolve
- Keep dependencies current
- Monitor Lighthouse scores
Built with ❤️ using Next.js, TypeScript, and Tailwind CSS
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.