microfolio is a modern static portfolio generator, designed specifically for creatives: designers, architects, photographers, artists, graphic designers, collectives... It allows you to create a professional website to showcase your projects elegantly, without needing deep technical knowledge.
This guide takes you from a blank computer to a portfolio running locally, step by step. If you have never opened a terminal in your life, you are exactly the reader it was written for.
Don't worry! This guide uses the terminal (or "command line"), but no technical knowledge is required. You'll simply need to type or copy-paste a few simple commands. It's easier than it looks! 😊
On Mac:
- Press
Cmd + Spaceto open Spotlight - Type "Terminal" and press Enter
- Or go to Applications > Utilities > Terminal
On Windows:
- Press
Windows + R - Type "powershell" and press Enter
- Or search for "PowerShell" in the Start menu
Homebrew is a package manager for macOS that greatly simplifies the installation of development software.
-
Install Homebrew (if you don't have it already):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Trust the AKER tap, then install microfolio:
brew trust aker-dev/tap brew install aker-dev/tap/microfolio
-
Create a new portfolio:
microfolio new my-portfolio cd my-portfolio -
Start the development server:
microfolio dev
Your site will be accessible at: http://localhost:5555
Advantages of this method:
- Automatic installation of all dependencies (Node.js, pnpm, Git)
- Simplified commands:
microfolio new,microfolio dev,microfolio build brew upgrade microfoliokeeps the command current; a site updates withpnpm update-microfolio(see Updating microfolio)
If you prefer manual installation or encounter problems with Homebrew:
- Go to https://nodejs.org/
- Download the LTS version (recommended)
- Open the downloaded
.pkgfile and follow the wizard - Close and restart Terminal for the installation to take effect
- Verify the installation by typing:
You should see a version number of 22.13 or above (e.g., v22.14.0)
node --version
- Open Terminal
- Type the following command:
xcode-select --install
- Installation software will open automatically
- Follow the on-screen instructions to install Xcode development tools
- Close and restart Terminal for the installation to take effect
- Verify the installation once completed:
git --version
- Open Terminal
- Type the following command:
curl -fsSL https://get.pnpm.io/install.sh | sh - Close and restart Terminal for the installation to take effect (or type
source ~/.zshrcin the current terminal) - Verify the installation:
pnpm --version
- Go to https://nodejs.org/
- Download the LTS version (recommended)
- Open the downloaded
.msifile and follow the wizard - Close and restart PowerShell for the installation to take effect
- Verify the installation by typing:
node --version
- Download Git from https://git-scm.com/download/win
- Open the
.exefile and follow the wizard - Leave the default options
- Close and restart PowerShell for the installation to take effect
- Verify the installation:
git --version
- Open PowerShell as administrator
- Type:
Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression - Close and restart PowerShell for the installation to take effect
- Verify the installation:
pnpm --version
Allows you to navigate between folders:
cd Documents # Go to Documents folder
cd .. # Go up one level
cd / # Go to root (Mac/Linux)
cd C:\ # Go to root (Windows)git clone [url] # Download a project
git status # See file status
git add . # Add all changes
git commit -m "msg" # Save changespnpm install # Install dependencies
pnpm dev # Start development server
pnpm build # Build site for production- Open Terminal
- Navigate to your Documents folder:
cd ~/Documents
- Or create a dedicated folder:
mkdir ~/Documents/Web-Projects cd ~/Documents/Web-Projects
- Open PowerShell
- Navigate to your Documents:
cd %USERPROFILE%\Documents
- Or create a dedicated folder:
mkdir %USERPROFILE%\Documents\Web-Projects cd %USERPROFILE%\Documents\Web-Projects
Use the microfolio command directly:
microfolio new my-portfolio
cd my-portfolioOnce in your working directory:
git clone https://github.com/aker-dev/microfolio.git my-portfolio
cd my-portfolio
pnpm installExplanation:
git clonedownloads the projectmy-portfoliois the name of the created folder (you can change it)cd my-portfolioenters the folderpnpm installinstalls all necessary dependencies
Every time you want to work on your site:
- Open a terminal
- Navigate to your portfolio folder:
cd path/to/my-portfolio - Start the server:
microfolio dev
- Open your browser and go to http://localhost:5555
Every time you want to work on your site:
- Open a terminal (Terminal on Mac, PowerShell on Windows)
- Navigate to your microfolio folder:
cd path/to/my-portfolio - Start the server:
pnpm dev
- Open your browser and go to http://localhost:5555
The server remains active as long as the terminal window stays open. To stop it, press Ctrl+C in the terminal.
- Real-time changes: As soon as you modify a file, the browser refreshes automatically
- Keep terminal open: Don't close the terminal window while working
- One server at a time: You can only have one server running per project
- Go to the
content/projects/folder - Create a new folder for your project (example:
my-first-project) - The folder name must be lowercase, without spaces or special characters
The easiest way is to copy the example-project folder:
cp -r content/projects/example-project content/projects/my-first-projectWant more to look at? pnpm demo unzips the thirty projects of the demo site into content/projects/, and pnpm demo --remove takes them out again. git ignores them, so they never reach your repository.
Open the content/projects/my-first-project/index.md file and modify:
---
title: 'My project title' # required
date: '2024-01-15' # required, YYYY-MM-DD — everything else is optional
location: 'Paris, France'
coordinates: [48.8566, 2.3522] # Optional, for map
description: 'A short description of my project'
type: 'architecture' # or 'design', 'art', 'photography', etc.
tags: ['modern', 'sustainable'] # keywords — don't repeat the type
authors:
- name: 'Your Name'
role: 'Architect'
featured: true # true to highlight
---
## Description
Here, describe your project in detail...Only title and date are required — a project missing either is skipped, and named in a summary at the end of the build. A project without a location simply shows none (no placeholder on its page or in the list), and without coordinates it has no marker on the map. The full field reference, including the optional info panel (owner, status, surface_area, cost), is in the Project Addition Guide.
- Thumbnail: Replace
thumbnail.jpgwith your cover image - Images: Add your images to the
images/folder - Videos: Add your videos to the
videos/folder - Documents: Add your PDFs/documents to the
documents/folder
- No spaces:
my-image.jpg✅ instead ofmy image.jpg❌ - Simple characters: avoid accents, cedillas, special characters
- Lowercase: prefer lowercase names
- Descriptive:
main-facade.jpgrather thanIMG_001.jpg
- Thumbnail: 1200×900 pixels recommended, 4:3 format
- Gallery images: 1920px wide maximum
- Supported formats: JPG, PNG, WebP, SVG
- Compression: Use tools like TinyPNG to reduce size
- Metadata: the lightbox displays the caption, credit and camera details embedded in your files — see Image Metadata for what to fill in and what to strip (GPS!) before publishing
- Format: MP4 H.264 for maximum compatibility
- Size: Less than 50 MB per video
- Alternative: For heavier videos, use YouTube or Vimeo and put the link in the text
- Formats: PDF, DOC, DOCX, PPT, PPTX
- Names: Avoid spaces and special characters
- Size: Reasonable for web download
Markdown is a simple formatting language you use in your index.md files.
# Main title
## Secondary title
### Tertiary title
**Bold text**
_Italic text_
- Bullet list
- Item 2
- Item 3
1. Numbered list
2. Item 2
3. Item 3
[Link to a site](https://example.com)
## Project concept
This project explores the **relationship between space and light** in contemporary architecture.
### Materials used
- Raw concrete
- Thermoformed glass
- Corten steel
### Project stages
1. Site research and analysis
2. Sketching and design
3. Technical development
4. Implementation

For more details, consult the [technical file](documents/specifications.pdf).- Line breaks: Leave a blank line between paragraphs
- Forced break: To start a new line inside a single paragraph — an address, opening hours, a credit list — end the line with
\. Without it, Markdown runs the lines together - Images: Place them in the
images/folder and reference them withimages/image-name.jpg - Links: Use
[text](url)for external links — they open in a new tab automatically - Videos: a YouTube or Vimeo address alone on its line becomes the player
- Titles: Use
##for sections (the main#is reserved for the project title)
- Text editor: VS Code, Sublime Text, or even Notepad++
- Image compression: TinyPNG.com, ImageOptim (Mac)
- Markdown: Typora, Mark Text for preview
- Git: GitHub Desktop for graphical interface
- Markdown documentation: https://www.markdownguide.org/
- Color palette: https://coolors.co/
- Free images: https://unsplash.com/, https://pixabay.com/
- Icons: https://heroicons.com/
- Verify that Node.js, Git and pnpm are properly installed
- Restart your terminal
- On Windows, use PowerShell as administrator
- Verify that
thumbnail.jpgexists - Avoid spaces in file names
- Use supported formats (JPG, PNG, WebP)
- Verify you're in the right folder (
cd my-portfolio) - Verify that
pnpm installwas properly executed - Close and reopen the terminal
- Save your files
- Verify the server is still running
- Refresh the page (F5 or Ctrl+R)
Once your portfolio runs locally, the next guides take over:
- Installation — a more detailed look at the setup
- Configuration — make the site yours: title, colors, legal pages
- Preparing Your Images — sizes, formats, and the metadata the lightbox displays
- Adding Projects — everything a project folder can hold
- Publication — put your portfolio online
For any questions or problems:
- 🐛 Bugs: open an issue
- 💬 Questions and ideas: GitHub Discussions
- 📧 Email: hello@aker.pro
In your message, please specify:
- Your operating system (Mac/Windows)
- The problem encountered
- The steps you followed
- A screenshot if possible