{"id":51402021,"url":"https://github.com/vadimgierko/personal-website-next-js","last_synced_at":"2026-07-04T07:33:46.743Z","repository":{"id":129944798,"uuid":"542802978","full_name":"vadimgierko/personal-website-next-js","owner":"vadimgierko","description":"My personal static website designed \u0026 developed by myself from scratch using React, Next.js, React-Bootstrap, Bootstrap, Markdown \u0026 GitHub API. Deployed on Vercel.","archived":false,"fork":false,"pushed_at":"2025-09-11T21:56:45.000Z","size":27780,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-12T00:26:41.524Z","etag":null,"topics":["blog","bootstrap","dev-portfolio","gallery-images","github-api","markdown","next-js","nextjs","personal-website","portfolio","portfolio-website","react","react-bootstrap","react-markdown","vercel"],"latest_commit_sha":null,"homepage":"https://vadimgierko.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vadimgierko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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}},"created_at":"2022-09-28T21:39:31.000Z","updated_at":"2025-09-11T21:56:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"55754002-c479-4175-a940-af6530c18e71","html_url":"https://github.com/vadimgierko/personal-website-next-js","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vadimgierko/personal-website-next-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vadimgierko%2Fpersonal-website-next-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vadimgierko%2Fpersonal-website-next-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vadimgierko%2Fpersonal-website-next-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vadimgierko%2Fpersonal-website-next-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vadimgierko","download_url":"https://codeload.github.com/vadimgierko/personal-website-next-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vadimgierko%2Fpersonal-website-next-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35114172,"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-07-04T02:00:05.987Z","response_time":113,"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":["blog","bootstrap","dev-portfolio","gallery-images","github-api","markdown","next-js","nextjs","personal-website","portfolio","portfolio-website","react","react-bootstrap","react-markdown","vercel"],"created_at":"2026-07-04T07:33:45.001Z","updated_at":"2026-07-04T07:33:46.735Z","avatar_url":"https://github.com/vadimgierko.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Legacy Version of my Personal Website [vadimgierko.com](https://vadimgierko.com) (*CMS + Website in one repo*)\n\nThis branch contains the previous combined codebase where both the CMS and the website frontend were developed together in a single repository.\n\nFrom September 16 2025 the project has been split into two repositories:\n\n- [headless CMS](https://github.com/vadimgierko/headless-cms-next-js),\n- [repository](https://github.com/vadimgierko/vadimgierko.com).\n\nThis branch is kept for documentation and reference purposes only and will not receive further updates.\n\n## Legacy Description\n\nThe project contains the source code, textual, visual \u0026 multimedia content (*I like to share my knowledge \u0026 creative works with others*) of my personal website written (re)written in **Next.js**.\n\n![vadimgierko.com personal website index root screenshot](https://raw.githubusercontent.com/vadimgierko/personal-website-next-js/refs/heads/main/public/img/web-development/projects/vadimgierko-com-personal-website-next-js-screen-vadim-gierko.png)\n\n## Technologies used in the project\n\n| Technology / Tool         | 2022-July 2025      | since July 2025 |\n|---------------------------|---------------------|-----------------|\n| Next.js                   | 12.3.1              | 15.4.2  |\n| React                     | 18.2.0              | 19.1.0  |\n| TypeScript                | ❌                  | 5+     |\n| JavaScript                | ✅                  | ✅      |\n| React Bootstrap           | 2.5.0               | 2.10.10 |\n| React Icons               | 4.4.0               | 5.5.0   |\n| Bootstrap                 | 5.2.1               | 5.3.7   |\n| React Markdown            | 8.0.3               | 10.1.0  |\n| GitHub API (to fetch dev repos) | ✅           | ✅      |\n| Vercel (Deployment)       | ✅                 | ✅      |\n| remark-gfm                | 3.0.1               | 4.0.1   |\n| rehype-raw                | 3.0.1               | 7.0.0   |\n| react-icons               | 5.0.1               | 5.5.0   |\n| rehype-highlight          | 7.0.1               | 7.0.2   |\n\n## Status\n\nThe website is deployed, published \u0026 available at https://vadimgierko.com.\n\nI'm constantly working on improving the website, refactoring the code, adding new content, components, pages \u0026 features. Each commit (to main branch) \u0026 pull request causes redeploying \u0026 changes in the appearance \u0026 functioning of the website.\n\nSo the site you see today might me different from the site available yesterday or tomorrow. Even if I add all the features I want \u0026 there will be no changes in the code, I'll still be adding new textual \u0026 visual content.\n\n## License\n\nThe source code \u0026 all the textual \u0026 visual content of the current project is created \u0026 owned by [me](https://github.com/vadimgierko).\n\nYou can view, fork \u0026 try the code on your local machine for private \u0026 non-commercial use only.\n\nCopyright \u0026copy; 2022-2025 [Vadim Gierko](https://github.com/vadimgierko)\n\n## Project details\n\n### Sitemap\n\nThe website contains the following dynamic routes:\n\n- **/** =\u003e the **main page**, which contains short bio \u0026 maps fields of interests cards\n  - **/[field-of-interests]** =\u003e (web-development, creative project management, visual thinking, music)\n    - **/[field-of-interests]/[items]** =\u003e (articles, projects, images, audios, videos)\n  - **/[article]** =\u003e any article from any field\n  - **/[project]** =\u003e any project from any field\n\n### Project/website structure/architecture\n\nMy website contains a few types of pages:\n\n- **field of interests**, which is generated by `\u003cFieldOfInterests /\u003e` component, built from smaller reusable components, such as:\n  - `\u003cSection /\u003e` layout component, which wraps other components inside for styling\n  - `\u003cMarkdownRenderer /\u003e` custom component, which wraps `\u003cReactMarkdown /\u003e` component \u0026 changing all the internal links into next/links to prevent reloading the website\n  - `\u003cIconsList /\u003e` for mapping skills icons\n  - `\u003cCardsList /\u003e` for mapping articles \u0026 projects cards\n  - `\u003cGallery /\u003e` for mapping images\n- **projects**, which maps `\u003cCardsList /\u003e` of projects\n- **project**, which is generated by `\u003cProject /\u003e` component, built from smaller reusable components, such as:\n  - `\u003cSection /\u003e` layout component, which wraps other components inside for styling\n  - `\u003cMarkdownRenderer /\u003e` custom component, which wraps `\u003cReactMarkdown /\u003e` component \u0026 changing all the internal links into next/links to prevent reloading the website\n  - `\u003cIconsList /\u003e` for mapping skills icons\n- **articles**, which maps `\u003cCardsList /\u003e` of articles\n- **article**, which is generated by `\u003cArticle /\u003e` component\n- **images** which is generated by `\u003cGallery /\u003e` component\n\n### The content of my website\n\nMy personal website contains:\n\n- the overwiew of fields/ areas I'm interested in:\n  - [web development](https://vadimgierko.com/web-development) (that's _de facto_ my **developer portfolio**)\n  - [creative process management](https://vadimgierko.com/creative-process-management)\n  - [visual thinking](https://vadimgierko.com/visual-thinking) (mind maps \u0026 visual notes)\n  - composing [music](https://vadimgierko.com/music) \u0026 classical guitar\n- textual, visual \u0026 multimedia content I created in the areas mentioned above:\n  - projects\n  - articles\n  - mind maps \u0026 visual notes\n  - samples of composed music\n  - workshops\n  - video collaborations/ live talks\n  - ebook\n  - social media projects/ accounts\n\n## Features \u0026 Custom Components\n\n- custom dark/ light mode theme switcher with additional auto detecting if the user prefers dark theme on its device\n- RWD (responsive web design applied), so the website looks good on any device\n- fully dynamic routing using page type prop to render a proper component\n  - no hardcoded pages\n  - adding new content requires no coding to create a new page of any predefined type\n- all the components are dynamic \u0026 reusable =\u003e\n  - that's very easy to me to add/ edit/ delete any field of interests, project, article, image, video or audio, because it needs only adding a new content into dedicated folder =\u003e no coding is needed!\n  - I can easily create new/ extend pages or components using existing building blocks\n- [Atomic Design methodology](https://atomicdesign.bradfrost.com/table-of-contents/) applied to organize reusable components\n- custom _Gallery_ component with a modal showing up after clicking an image\n- custom _MarkdownRenderer_ to render markdown syntax\n  - used to write articles, fields of interests' \u0026 projects' descriptions etc.\n  - allows to style markdown content using passed custom components or additional styles\n- auto fetching my code repositories data (descriptions, urls, README files content) from GitHub to hydrate the website with the current data during the build","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvadimgierko%2Fpersonal-website-next-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvadimgierko%2Fpersonal-website-next-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvadimgierko%2Fpersonal-website-next-js/lists"}