Explore Kuldeep's work through project folders, app windows, a dock, and desktop widgets. The interface includes a mobile layout while keeping the feel of a macOS desktop.
YouCut_20260930_210252905.mp4
- Open project folders for NewTube, Coursenva, Resuvee, and Docs Editor
- Move folders, windows, widgets, and dock icons around the desktop
- Change wallpapers and add or resize widgets from the desktop menu
- Explore the résumé, terminal, notes, weather, maps, photos, and music apps
- Save a screenshot from the desktop menu bar
- Use the Groq-powered Siri assistant and the mobile interface
- App and styling: Next.js 16 App Router, React 19, JavaScript, and Tailwind CSS 4 build the desktop and mobile interfaces.
- Motion and state: GSAP and Draggable handle movement; Zustand and Immer manage desktop and app state.
- Interface details: Lucide React supplies icons, Day.js handles dates, and clsx combines conditional CSS classes.
- Desktop apps: xterm.js powers the terminal, react-pdf displays the résumé, and html2canvas creates downloadable desktop screenshots.
- External data: Groq powers Siri; TMDB, Jamendo, wttr.in, OpenStreetMap, and Nominatim support the media, weather, and map apps.
- Code quality: ESLint, Prettier, Husky, and lint-staged support local checks and formatting.
Requires Node.js 20.9 or later.
git clone https://github.com/kuldeeprajput-dev/macos-portfolio.git
cd macos-portfolio
npm install
cp .env.example .env.local
npm run devOpen http://localhost:3000. The core desktop runs without adding API keys. Configure the optional services below for their related features.
GROQ_API_KEYenables Siri's AI responses. Keep it server-side.NEXT_PUBLIC_TMDB_API_KEYenables movie and TV data in the Apple TV app.NEXT_PUBLIC_JAMENDO_CLIENT_IDprovides music data;.env.exampleincludes a public client ID.NEXT_PUBLIC_GROQ_TTS_ENABLEDenables Groq voice output when your Groq account supports it.SITE_URLsets the preferred public URL for canonical links and the sitemap in production.
See .env.example for the remaining optional settings. Public profile and project links live in src/constants/env.js.
npm run dev # Start the development server
npm run build # Build for production
npm run start # Run the production build
npm run lint # Check the source with ESLint- macOS interface inspiration from Apple
- Jamendo for music data
- wttr.in for weather data
- OpenStreetMap and Nominatim for maps and geocoding
- TMDB for movie and TV data
- Groq for Siri AI
- GSAP for animations
- xterm.js for the terminal app
This project is available under the MIT License.
If you find this project helpful, please consider giving it a ⭐ star on GitHub!