{"id":50411825,"url":"https://github.com/andrejkoller/businesscard-andrejkoller-next","last_synced_at":"2026-05-31T04:02:35.471Z","repository":{"id":327233334,"uuid":"984582464","full_name":"andrejkoller/businesscard-andrejkoller-next","owner":"andrejkoller","description":"🪪 Interactive digital business card for Andrej Koller - Freelance UI/UX \u0026 Frontend Developer.","archived":false,"fork":false,"pushed_at":"2026-05-29T16:59:50.000Z","size":909,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T17:12:59.353Z","etag":null,"topics":["css","gsap","html","javascript","nextjs","react"],"latest_commit_sha":null,"homepage":"https://businesscard-andrejkoller-next.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrejkoller.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":"andrejkoller","open_collective":null,"ko_fi":"andrejkoller","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"andrejkoller","thanks_dev":null,"custom":null}},"created_at":"2025-05-16T07:01:08.000Z","updated_at":"2026-05-29T16:59:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/andrejkoller/businesscard-andrejkoller-next","commit_stats":null,"previous_names":["andrejkoller/professional","andrejkoller/portfolio-frontend","andrejkoller/work-andrejkoller-next"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andrejkoller/businesscard-andrejkoller-next","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejkoller%2Fbusinesscard-andrejkoller-next","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejkoller%2Fbusinesscard-andrejkoller-next/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejkoller%2Fbusinesscard-andrejkoller-next/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejkoller%2Fbusinesscard-andrejkoller-next/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrejkoller","download_url":"https://codeload.github.com/andrejkoller/businesscard-andrejkoller-next/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrejkoller%2Fbusinesscard-andrejkoller-next/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33718446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","gsap","html","javascript","nextjs","react"],"created_at":"2026-05-31T04:02:33.912Z","updated_at":"2026-05-31T04:02:35.465Z","avatar_url":"https://github.com/andrejkoller.png","language":"JavaScript","funding_links":["https://patreon.com/andrejkoller","https://ko-fi.com/andrejkoller","https://buymeacoffee.com/andrejkoller"],"categories":[],"sub_categories":[],"readme":"# businesscard-andrejkoller-next\n\nInteractive digital business card for **Andrej Koller** — Freelance UI/UX \u0026 Frontend Developer. Built with Next.js, featuring scramble text animations, dark/light theme switching, and a minimal navigation-first layout.\n\n## Features\n\n- **Scramble Text Effects** - GSAP ScrambleTextPlugin animations on initial load and on hover\n- **Theme Switching** - Dark/Light mode with context-based state management\n- **Loading Screen** - Custom animated loading screen with percentage counter\n- **Smooth Scrolling** - Powered by Lenis (`@studio-freight/lenis`)\n- **Responsive Design** - Fully responsive layout across all devices\n- **CSS Modules** - Scoped, kebab-case styles per component\n- **Turbopack** - Fast development builds via Next.js Turbopack\n\n## Tech Stack\n\n- **Framework**: [Next.js 16](https://nextjs.org) (App Router)\n- **Library**: React 19\n- **Animations**: GSAP 3.15 + ScrambleTextPlugin\n- **Smooth Scroll**: Lenis (`@studio-freight/lenis`)\n- **Styling**: CSS Modules\n\n## Prerequisites\n\n- Node.js 18.x or higher\n- npm, yarn, pnpm, or bun\n\n## Installation\n\n1. Clone the repository\n\n```bash\ngit clone https://github.com/andrejkoller/businesscard-andrejkoller-next.git\ncd businesscard-andrejkoller-next\n```\n\n2. Install dependencies\n\n```bash\nnpm install\n```\n\n3. Run the development server\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser.\n\n## Project Structure\n\n```\nbusinesscard-andrejkoller-next/\n├── app/\n│   ├── about/\n│   │   ├── page.jsx              # About / Info page\n│   │   └── page.module.css\n│   ├── contact/\n│   │   ├── page.jsx              # Contact page\n│   │   └── page.module.css\n│   ├── styles/\n│   │   └── globals.css           # Global styles \u0026 CSS variables\n│   ├── layout-client.jsx         # Client-side layout wrapper\n│   ├── layout.jsx                # Root layout\n│   ├── page.jsx                  # Home / Business card navigation\n│   └── page.module.css\n├── components/\n│   ├── loading-screen/\n│   │   ├── loading-context.js    # Loading state context\n│   │   ├── loading-screen.jsx    # Animated loading screen\n│   │   └── loading-screen.module.css\n│   ├── scramble-text-initial/\n│   │   ├── scramble-text-initial.jsx     # Scramble animation on page load\n│   │   └── scramble-text-initial.module.css\n│   ├── scramble-text-on-hover/\n│   │   ├── scramble-text-on-hover.jsx    # Scramble animation on hover\n│   │   └── scramble-text-on-hover.module.css\n│   └── theme/\n│       ├── theme-context.js      # Theme context (dark/light)\n│       ├── theme-provider.jsx    # Theme context provider\n│       ├── theme-switcher.jsx    # Theme toggle button\n│       ├── theme-switcher.module.css\n│       └── use-theme.js          # useTheme hook\n├── public/\n│   └── images/\n├── eslint.config.mjs\n├── jsconfig.json\n├── LICENSE\n├── next.config.mjs\n├── package.json\n├── README.md\n└── SECURITY.md\n```\n\n## Screenshots\n\n![Screenshot 1](public/images/screenshot-1.png)\n![Screenshot 2](public/images/screenshot-2.png)\n![Screenshot 3](public/images/screenshot-3.png)\n![Screenshot 4](public/images/screenshot-4.png)\n![Screenshot 5](public/images/screenshot-5.png)\n![Screenshot 6](public/images/screenshot-6.png)\n![Screenshot 7](public/images/screenshot-7.png)\n![Screenshot 8](public/images/screenshot-8.png)\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrejkoller%2Fbusinesscard-andrejkoller-next","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrejkoller%2Fbusinesscard-andrejkoller-next","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrejkoller%2Fbusinesscard-andrejkoller-next/lists"}