Current state
What is already built
The application has a public portfolio and a separate, password-protected workspace. The codebase also contains planned destinations whose product features are not complete yet; the distinction matters because this is an active project, not a finished suite of tools.
- Public portfolio
- A homepage presents my profile, experience, awards, and project links. The projects area is public, so individual project write-ups can be read without access to the private workspace.
- Resource library
- The most developed private workflow organises learning resources by category, subcategory, and topic, then displays the associated links. Resource data is stored in PostgreSQL; adding resources is restricted to an authenticated administrator.
- Personal workspace
- The dashboard groups the planned career, media, and finance areas. Career navigation already maps out tools for study and professional development, while most of those pages remain early scaffolds. Media and finance currently have their section entry pages rather than complete workflows.

Under the hood
Architecture and technology
I have been building the application as a full-stack system, connecting the interface to persistent data, authentication, and a repeatable deployment setup.
- Application: Next.js App Router with React and TypeScript, using server components for data-backed pages and server actions for validated changes.
- Data: PostgreSQL with Drizzle ORM, a relational schema, and checked-in database migrations. Resource queries are separated into repository and service layers.
- Access: NextAuth credentials authentication and role-based path access keep personal tools private while the portfolio and project pages remain public.
- Interface and deployment: Tailwind CSS 4 for responsive styling; Docker builds a standalone application image, with Compose defining the PostgreSQL service. The site runs on my homelab.

What I am practising
Skills developed through the project
- Full-stack feature development: taking a workflow from page structure and navigation through validation, persistence, and access control.
- Data modelling: representing categories, topics, resources, and their relationships in a schema that supports the way I browse and maintain study material.
- Application boundaries: separating UI, service, repository, and database concerns, while keeping private operations on the server.
- Product judgement: shipping a useful foundation in stages, keeping public portfolio content clear, and being explicit about what is implemented versus planned.
Next stages
Where the project is going
The longer-term structure has three personal areas: career tools to support my studies, a media server for digital copies of physical media I own, and finance tools for personal tracking and future market analysis. These are plans, not features I am presenting as complete.
I also plan to host interactive projects here as they are built. That lets the site grow into a practical home for my work, while keeping the personal workspace available only to me.