Describe the outcome
I defined what each page should communicate, supplied the project material and explained the visual or technical change I wanted.
Web development · Independent project
A practical experiment in vibe coding: using natural-language direction, continuous review and GitHub workflows to turn an idea into a deployed engineering portfolio.

Project overview
I wanted a personal website that could present my robotics, automation and mechanical design work more clearly than a list of repository links. I had limited experience building a complete portfolio site, so I used an AI coding assistant as a development partner.
This approach is often called vibe coding: describing the intended result in natural language, generating an implementation and improving it through repeated feedback. The site was not produced with one prompt. It developed through many small decisions, reviews and corrections.
Development workflow
I defined what each page should communicate, supplied the project material and explained the visual or technical change I wanted.
The AI coding assistant translated the requirements into HTML and CSS changes, organized assets and prepared updates in Git branches.
I reviewed the published pages on desktop and mobile, identified incorrect details and requested focused revisions until the result matched the goal.
Responsibility
My main responsibility was deciding what the portfolio should say, what material could be published and whether each change was accurate and useful.
I selected the projects, supplied images and videos, corrected technical descriptions and decided how my own contribution should be presented. The coding assistant handled much of the implementation, but generated output still required checking. Some early changes introduced layout problems, inaccurate wording, broken media or unnecessary files, which had to be found and corrected through testing.
Technical foundation
The site uses static semantic HTML and a shared responsive stylesheet. No heavy framework or client-side application is required.
Changes were separated into focused branches and reviewed through pull requests before being merged into the main site.
The main branch is deployed through GitHub Pages and connected to the custom eelisviskari.fi domain.
Why this approach
I already had roughly two years of experience building websites with WordPress. For this project, I wanted to try a different approach: combine a lightweight custom website with AI-assisted vibe coding and see what kind of result the workflow could produce.
A portfolio is particularly well suited to this method. It does not need an online store, user accounts or a large server-side system. Its purpose is simply to present my projects clearly to people who are interested in my work.
This website does not include contact forms, analytics, advertising trackers or other features that collect visitor information. A static GitHub Pages implementation was therefore a practical choice: it keeps the site fast and focused without adding a complex backend or unnecessary cookie-management features.
Visual record
The first image records the earlier homepage state. The workflow graphic shows the repeatable process used to develop and publish each revision.

Result & learning
The result is the website you are viewing: a responsive portfolio with project case studies, optimized media, technical drawings, contact links and a custom domain.
The project taught me how to break a web project into manageable changes, communicate requirements precisely, evaluate AI-generated code and use GitHub as a controlled publishing workflow. It also showed where vibe coding is weak: vague instructions and weak review produce vague or unreliable results.