diff --git a/content/about.md b/content/about.md
new file mode 100644
index 0000000..65f918c
--- /dev/null
+++ b/content/about.md
@@ -0,0 +1,33 @@
+# About Me
+
+Hello — I'm **Gauvain Boiché**, a computer science student and developer based in France.
+
+I build things at the intersection of systems programming, web technology, and good design. This terminal is itself a small project: a static portfolio that navigates like a Unix filesystem.
+
+---
+
+## Background
+
+I started programming by taking apart old software and curiosity about how things work at a low level. That thread has run through everything since — from writing bare-metal code to designing distributed systems to crafting interfaces that feel just right.
+
+## Education
+
+- **Master's in Computer Science** — in progress
+- Coursework: algorithms & complexity, operating systems, distributed computing, machine learning fundamentals
+- Strong academic record with particular interest in systems and compilers
+
+## What Drives Me
+
+> The best technology disappears. You stop thinking about the tool and start thinking about the problem.
+
+I care deeply about **correctness**, **performance**, and **clarity** — in code, in interfaces, and in communication. I prefer to understand things from first principles rather than cargo-cult patterns.
+
+---
+
+## Outside the Terminal
+
+When I'm not at a keyboard, I'm probably reading about computing history, tinkering with vintage hardware, or trying to convince someone that Vim is not that complicated.
+
+---
+
+*Navigate with ↑↓ and ENTER — press Q or ESC to go back.*
diff --git a/content/contact.md b/content/contact.md
new file mode 100644
index 0000000..40b9f12
--- /dev/null
+++ b/content/contact.md
@@ -0,0 +1,40 @@
+# Contact
+
+I'm open to collaborations, internship opportunities, and interesting conversations about technology.
+
+---
+
+## How to Reach Me
+
+**Email**
+`gauvain.boiche [at] gmail [dot] com`
+
+**GitHub**
+`github.com/gauvainboiche`
+
+**LinkedIn**
+`linkedin.com/in/gauvainboiche`
+
+---
+
+## What I'm Looking For
+
+- **Internships / apprenticeships** in systems engineering, backend development, or ML infrastructure
+- **Open source collaboration** — especially on compilers, tools, or developer infrastructure
+- **Freelance work** — web applications, APIs, automation scripts
+
+---
+
+## Response Time
+
+I typically respond within 48 hours. If you're reaching out about a time-sensitive opportunity, please mention it in the subject line.
+
+---
+
+## A Note on This Site
+
+This portfolio is intentionally low-tech: a single HTML file, one CSS file, one JS file, and a folder of Markdown. No framework, no build step, no tracking. The source is on GitHub if you're curious.
+
+---
+
+*Press Q or ESC to return.*
diff --git a/content/manifest.json b/content/manifest.json
new file mode 100644
index 0000000..1b3dc74
--- /dev/null
+++ b/content/manifest.json
@@ -0,0 +1,42 @@
+{
+ "name": "~",
+ "type": "dir",
+ "children": [
+ {
+ "name": "about.md",
+ "type": "file",
+ "path": "content/about.md"
+ },
+ {
+ "name": "skills.md",
+ "type": "file",
+ "path": "content/skills.md"
+ },
+ {
+ "name": "projects",
+ "type": "dir",
+ "children": [
+ {
+ "name": "web_dev.md",
+ "type": "file",
+ "path": "content/projects/web_dev.md"
+ },
+ {
+ "name": "systems.md",
+ "type": "file",
+ "path": "content/projects/systems.md"
+ },
+ {
+ "name": "ai_ml.md",
+ "type": "file",
+ "path": "content/projects/ai_ml.md"
+ }
+ ]
+ },
+ {
+ "name": "contact.md",
+ "type": "file",
+ "path": "content/contact.md"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/content/projects/ai_ml.md b/content/projects/ai_ml.md
new file mode 100644
index 0000000..d483335
--- /dev/null
+++ b/content/projects/ai_ml.md
@@ -0,0 +1,71 @@
+# AI & Machine Learning Projects
+
+Experiments at the boundary of classical algorithms and modern deep learning.
+
+---
+
+## Handwritten Digit Classifier
+
+A convolutional neural network trained on MNIST, built from scratch using **PyTorch** without relying on pretrained weights.
+
+**Architecture:**
+
+```
+Input (1×28×28)
+ → Conv2d(1, 32, 3) + ReLU + MaxPool
+ → Conv2d(32, 64, 3) + ReLU + MaxPool
+ → Dropout(0.25)
+ → Linear(64×5×5 → 128) + ReLU
+ → Dropout(0.5)
+ → Linear(128 → 10)
+ → LogSoftmax
+```
+
+**Results:** 99.2 % test accuracy after 10 epochs on a single CPU.
+
+---
+
+## Sentence Similarity Engine
+
+A small semantic search tool that encodes sentences into embeddings and retrieves the most similar entries from a knowledge base.
+
+**Approach:**
+
+- Sentence embeddings via a fine-tuned BERT variant (`sentence-transformers`)
+- FAISS index for approximate nearest-neighbour search at scale
+- CLI interface — `search.py "your query"`
+
+**Use case:** powering a private personal knowledge base search over Markdown notes.
+
+---
+
+## Reinforcement Learning: Grid World
+
+A from-scratch implementation of Q-Learning and SARSA applied to a configurable grid-world environment.
+
+**Implemented:**
+
+- Tabular Q-learning with ε-greedy exploration
+- SARSA (on-policy variant)
+- Policy iteration and value iteration for comparison
+- Visualiser showing the learned value function as a heatmap
+
+**Written in pure Python + NumPy** — no RL libraries — for learning purposes.
+
+---
+
+## Anomaly Detection on Time Series
+
+A pipeline for detecting anomalies in server metric data (CPU, memory, latency).
+
+**Methods compared:**
+
+- Z-score baseline
+- Isolation Forest
+- LSTM autoencoder (reconstruction error threshold)
+
+**Outcome:** LSTM autoencoder outperformed statistical methods by ~18 % precision on labelled incidents from a personal homelab dataset.
+
+---
+
+*Press Q or ESC to return.*
diff --git a/content/projects/systems.md b/content/projects/systems.md
new file mode 100644
index 0000000..b830922
--- /dev/null
+++ b/content/projects/systems.md
@@ -0,0 +1,69 @@
+# Systems Programming Projects
+
+Low-level work: operating systems, compilers, networking, and performance engineering.
+
+---
+
+## Tiny HTTP/1.1 Server (C)
+
+A from-scratch HTTP server written in C that handles concurrent connections using `epoll` on Linux.
+
+**What it does:**
+
+- Serves static files with correct MIME types
+- Handles `keep-alive` connections
+- Parses request headers manually (no third-party parser)
+- ~1,200 lines of C — intentionally minimal
+
+**Interesting problems solved:**
+
+- Non-blocking I/O with an event loop
+- Incremental parsing of chunked request bodies
+- Safe path traversal (no `../` escapes from the document root)
+
+---
+
+## Shell Implementation (C)
+
+A POSIX-compatible shell (`mysh`) supporting pipelines, redirections, background jobs, and a small built-in set.
+
+**Supported features:**
+
+- Pipelines: `cmd1 | cmd2 | cmd3`
+- I/O redirections: `>`, `>>`, `<`, `2>`
+- Background jobs: `cmd &`
+- Job control: `fg`, `bg`, `jobs`
+- Signal handling (SIGINT, SIGTSTP, SIGHUP)
+
+**Focus areas:** `fork/exec` model, `waitpid`, file descriptor management, signal masking.
+
+---
+
+## Memory Allocator
+
+A drop-in `malloc` replacement using `mmap`-backed free lists with coalescing.
+
+**Algorithms implemented:**
+
+- First-fit and best-fit strategies (switchable at compile time)
+- Boundary-tag coalescing to reduce fragmentation
+- Thread-local caches for small allocations (reduces lock contention)
+
+**Benchmarked** against `glibc malloc` on synthetic workloads — within 2× for mixed-size allocations.
+
+---
+
+## Bytecode Interpreter (Python → C)
+
+A small virtual machine that executes a simple bytecode format, written in C. The front-end compiler is written in Python and produces `.bco` files.
+
+**VM features:**
+
+- Stack-based architecture (inspired by CPython)
+- 30 opcodes: arithmetic, comparisons, jumps, function calls, closures
+- Mark-and-sweep garbage collector
+- Disassembler for debugging (`--disasm` flag)
+
+---
+
+*Press Q or ESC to return.*
diff --git a/content/projects/web_dev.md b/content/projects/web_dev.md
new file mode 100644
index 0000000..25ef49a
--- /dev/null
+++ b/content/projects/web_dev.md
@@ -0,0 +1,56 @@
+# Web Development Projects
+
+A selection of web projects — from small tools to more complete applications.
+
+---
+
+## Terminal Portfolio *(this site)*
+
+> The page you are currently reading was itself a project.
+
+A fully static portfolio designed to look and behave like a Unix terminal. No framework, no build step — just HTML, CSS, and vanilla JavaScript.
+
+**Key features:**
+
+- CRT aesthetics: scanlines, flicker animation, bloom/glow on text
+- Blinking rectangular cursor that follows mouse clicks
+- Markdown content tree loaded from a manifest — add `.md` files without touching `index.html`
+- Keyboard navigation (arrows, Enter, Escape, Q) + mouse
+- Dynamically sized terminal window (responds to viewport changes)
+
+**Stack:** HTML · CSS (animations, custom properties) · JavaScript (ES2020) · marked.js
+
+---
+
+## Personal Finance Tracker
+
+A small single-page application to track income and expenses with monthly breakdowns.
+
+**Highlights:**
+
+- No backend — all data stored in `localStorage` with a clean JSON schema
+- CSV import/export for moving data to spreadsheets
+- Chart visualisation using the Canvas API (no libraries)
+- Fully keyboard-navigable
+
+**Stack:** JavaScript · CSS Grid · Canvas API
+
+---
+
+## REST API Boilerplate
+
+A reusable Node.js/Express skeleton with authentication, request validation, and structured logging built in — designed to be forked and extended.
+
+**Features:**
+
+- JWT-based auth with refresh tokens
+- Zod schema validation on all endpoints
+- Structured JSON logs (pino)
+- Docker Compose stack (app + PostgreSQL)
+- OpenAPI spec auto-generated from route definitions
+
+**Stack:** Node.js · Express · PostgreSQL · Docker · Zod
+
+---
+
+*Press Q or ESC to return.*
diff --git a/content/skills.md b/content/skills.md
new file mode 100644
index 0000000..99509f9
--- /dev/null
+++ b/content/skills.md
@@ -0,0 +1,46 @@
+# Skills
+
+A snapshot of the tools and technologies I work with regularly, and where I place my confidence.
+
+---
+
+## Languages
+
+| Language | Proficiency | Notes |
+|------------|-------------|--------------------------------------------|
+| C | ★★★★★ | Systems, embedded, performance-critical code |
+| Python | ★★★★★ | Scripting, data pipelines, ML prototyping |
+| JavaScript | ★★★★☆ | Full-stack, Node.js, browser APIs |
+| Rust | ★★★☆☆ | Learning — memory safety, async runtimes |
+| Java | ★★★☆☆ | Coursework, Spring ecosystem |
+| Bash / Zsh | ★★★★☆ | Automation, CI scripting |
+
+---
+
+## Systems & Infrastructure
+
+- **Operating Systems** — Linux administration, kernel concepts, process/memory management
+- **Networking** — TCP/IP, HTTP, DNS, socket programming
+- **Containerisation** — Docker, Docker Compose
+- **Version Control** — Git (including rebase, worktrees, bisect)
+- **CI/CD** — GitHub Actions, basic pipeline design
+
+---
+
+## Web Development
+
+- **Frontend** — Vanilla JS/CSS, React (functional, hooks), accessible HTML
+- **Backend** — Node.js/Express, Python/FastAPI, REST API design
+- **Databases** — PostgreSQL, SQLite, basic Redis usage
+
+---
+
+## Other
+
+- **Algorithms & Data Structures** — competitive-programming level
+- **Compilers** — lexing, parsing, AST construction (hobby project)
+- **Machine Learning** — PyTorch, scikit-learn, classical + deep methods
+
+---
+
+*Press Q or ESC to return.*
diff --git a/index.html b/index.html
index a03ab1e..f1d543a 100644
--- a/index.html
+++ b/index.html
@@ -1,57 +1,39 @@
-
+
+