Z
Mohd Zaid
Projects
Building

Portfolio OS

A self-evolving personal operating system. Notion-style structure with semantic search, knowledge graphs, and AI-native features.

nextjstypescriptaisystemsfull-stack

TL;DR

This site. Reads my LLM-maintained wiki, renders an Obsidian-style graph, and shares one content system with the blog and projects.


Overview

This website. Not a portfolio template-a living system that represents how I think, build, and connect ideas. It combines structured content with knowledge relationships, semantic search, and AI capabilities.

Problem

Traditional portfolios are static lists of projects. They don't capture how things relate, why decisions were made, or how thinking evolves. They're resumes with better CSS.

Approach

- Content Layer: MDX-based project documentation with structured frontmatter for metadata, tags, and inter-project links
- Graph Layer: D3.js force-directed visualization of project relationships, surfacing connections that linear lists miss
- AI Layer: OpenAI embeddings for semantic search and conversational Q&A about my work
- Memory Layer: Persistent system memory that accumulates insights and patterns over time

Key Decisions

- MDX over a CMS: Content lives in the codebase. No API calls, no database, no auth. The content format is the API.
- D3.js over a graph library: Full control over the visualization. Force simulation parameters are tuned for readability, not just aesthetics.
- Pre-computed embeddings: Vectors are generated at build time, not runtime. Search is fast because the expensive computation happened during deployment.

Challenges

Making a personal system that's actually useful requires discipline in content structure. Every project entry needs consistent metadata for the graph and search layers to work. The temptation to write free-form prose had to be balanced against the need for machine-readable structure.

Outcome

A system that demonstrates how I think about engineering: modular, interconnected, and designed to compound value over time. The content feeds the graph, the graph reveals patterns, and the AI layer makes everything queryable.

Related