This is my personal portfolio — but not your typical one.
Instead of scrolling through a static page, you interact with it through a terminal interface running directly in your browser.
Type commands to
find out who I am, what I have built, and how to get in touch.
- Interactive terminal UI — a fully functional browser-based command-line interface
- Command history — navigate previous commands with ↑ / ↓ arrow keys
- Tab autocomplete — press Tab to complete a command
- Multi-language support — switch language with the
langcommand - Easter eggs — hidden commands for the curious
- Docker ready — Production Docker setup included
| Layer | Technology |
|---|---|
| Backend | PHP 8.4, Laravel 12 |
| Frontend | Livewire 4, Tailwind CSS 4 |
| Database | SQLite |
| Build Tool | Vite 7 |
| Testing | PHPUnit 11, Mockery |
| Command | Description |
|---|---|
help |
List all available commands |
about |
Learn about me |
skills |
View my technical skills |
experience |
View my work experience |
education |
View my educational background |
projects |
Browse my projects |
socials |
Find me on social media |
lang |
Switch the display language |
clear |
Clear the terminal |
welcome |
Show the welcome message again |
There are also a few hidden easter egg commands — type carefully.
- PHP 8.4+
- Composer
- Node.js & npm
- SQLite
git clone https://github.com/neluxx/cli-portfolio.git
cd cli-portfolio
composer run setupThis will install all dependencies, set up the .env file, generate an application key, run migrations, and build the frontend assets.
composer run devThis starts all services concurrently: the Laravel dev server, queue listener, log watcher, and the Vite HMR dev server. Open http://localhost:8000 in your browser.
Copy and configure the production environment file:
cp .env.prod.example .envThen start the production stack:
docker compose up -dThe app will be available on port 8080. The stack includes a PHP-FPM application container and an Nginx reverse proxy.
To rebuild and restart after code changes:
docker compose up -d --buildcomposer run test