Building My Personal Portfolio as a Dynamic Platform
What started as a simple portfolio website became a practical project in application architecture, content management, authentication, database integration and responsive interface development.
Why I decided to build it differently
When I started building my portfolio, the original goal was simple: create a professional website that could present my education, experience and projects while I searched for opportunities in IT. As the project developed, I realized that a static website would quickly become difficult to maintain. My experience, projects, resume and current learning priorities will continue to change, so I wanted a platform that could grow with me rather than something I would need to rebuild every time my career changed.
That decision turned the portfolio into a much more practical development project. Instead of hardcoding most of the content into pages, I started building an administration system that allows the public website to be managed through structured data.
Building a public site and an administration system

The platform now has two distinct sides. The public portfolio is designed for recruiters, employers and professional contacts, while the administration area gives me control over the content that appears publicly.
- Profile and professional positioning
- Journey and employment history
- Projects and technical work
- Current learning priorities
- Skills
- Articles
- Multiple resume versions
- Professional reviews
- Portfolio feedback
- Public visibility controls
A major part of the project has been deciding not only how information is stored, but also how it should be managed. For example, I wanted to be able to keep an item in the database without necessarily showing it publicly. That led to visibility states, publishing controls and quick administration tools that allow content to be shown, hidden, published or kept private without deleting it.
Technology behind the project
The application is being developed with Next.js and TypeScript, with Tailwind CSS used for the interface and Supabase providing database and authentication services. Git and GitHub are used throughout the development process, and the application is deployed through Vercel.
- Next.js
- TypeScript
- Tailwind CSS
- Supabase
- Authentication
- Database-backed content
- Git and GitHub
- Vercel deployment
- Responsive design
What the project has taught me
The most valuable part of building this platform has not been creating individual pages. It has been working through the problems that appear when separate parts of an application need to work together. A change to the database can affect an administration form. A visibility setting can affect multiple public pages. A mobile interface that works well may need a different interaction pattern from the desktop version. Small decisions often have consequences elsewhere in the application.
Working through those issues has strengthened my understanding of debugging, application structure, data flow and the importance of testing changes without breaking existing functionality.
Designing for maintainability
Another goal has been to avoid creating a portfolio that only works for my current situation. I wanted the structure to remain useful if my role, skills or career direction changes. That is why projects, articles, journey entries, resumes and other information are managed independently rather than being permanently embedded into the design.
Still a work in progress
The platform is continuing to evolve. There are still areas I want to improve, and I expect the project to change as I gain more professional experience and technical capability. For me, that is part of its value. The portfolio is not only a place to display completed work; it is also evidence of how I approach learning, iteration and practical problem solving.