Skip to content

Portfolio

05 Personal PortfolioCreative Direction & Build2026

A developer’s portfolio has to make a visual argument in seconds, then earn that confidence through speed, clarity, and detail. This one turns the interface itself into the proof.

Client
Self-initiated
Role
Creative direction, design & development
Timeline
2026
Team
Independent project
Stack
React 19Vite 8Tailwind CSS 4GSAPLenisThree.js
Challenge

Make restraint feel unmistakable

A personal portfolio is judged twice: once in the first few seconds, and again when someone slows down. The first judgment is emotional — does this person have a point of view? The second is forensic — does the work hold up when I look closely?

That created a useful contradiction. The site needed enough character to be remembered, but enough restraint for the projects to remain the reason to stay. Every section had to do one clear job: establish identity, express a point of view, show the work, explain the practice, reveal the person, or open a conversation.

Portfolio home page with the oversized Marko Malec wordmark above a warm paper background
The opening frame makes the name the composition. Navigation and status stay quiet until they are needed.
Direction

Let typography carry the identity

The visual system begins with scale, spacing, and a narrow palette rather than ornamental UI. Archivo supplies the structural voice: wide, compressed, heavy, and exact. Instrument Serif interrupts it at key moments with a more human cadence, while JetBrains Mono handles labels and metadata with deliberate neutrality.

The home page reads like an editorial sequence. The name opens at architectural scale; the manifesto slows the pace; project rows compress five stories into a decisive index; the contact line ends with the largest and simplest invitation on the page. The rhythm changes, but the underlying grid never does.

Portfolio manifesto with large black type and an approach index
Selected Work index with a red active project row and floating project preview
A consistent grid links two different energies: a slow manifesto and a responsive project index.
Visual system

Paper, ink, and one decisive signal

Warm neutrals give the interface the tactility of a printed object without imitating paper literally. Minium red is reserved for moments that need a pulse: active work, section markers, cursor feedback, and results. Because the accent is scarce, it stays meaningful.

  • Warm paper#F0EDE6

    The main canvas; softer and more tactile than pure white.

  • Warm ink#14110F

    Primary type, dark surfaces, and the strongest contrast.

  • Minium#C8320F

    Interaction, emphasis, and the project-by-project colour field.

  • Sunk paper#E6E2D8

    Subtle depth behind quiet interface regions.

  • Raised paper#F6F4EF

    A restrained lift for media and contained surfaces.

Minium red clears WCAG AA for normal text on warm paper at 4.58:1. The palette stays intentionally small so scale, type, and motion can do the expressive work.

Interaction

Motion carries hierarchy

The entrance sequence reveals structure before spectacle: utility, wordmark, supporting information, then the live surface behind it. Page transitions use the same logic at route level, covering the view before content changes and resolving anchors while the screen is protected.

Selected Work is the most concentrated expression of the system. A project row reads instantly in its resting state; on pointer devices, its colour field enters from the same edge as the cursor and a large image follows the gesture. On touch screens, the corresponding image appears as each row crosses the reading zone, with enough of it held inside the viewport to remain legible while its right edge can breathe beyond the frame.

Full-screen portfolio menu with a folded paper texture and large navigation links
The menu becomes a destination of its own: spatial, direct, and built from the same paper-and-ink vocabulary.
Engineering

The expressive layer has to disappear gracefully

The site is built with React and Vite around a small set of durable primitives: a shared stage for loading and motion state, a route curtain, semantic reveal text, fluid type fitting, and reusable project data. A font-aware preloader prevents the opening composition from reflowing, while a short failsafe keeps a slow asset from holding the page hostage.

Animation never owns essential content. Reveal effects preserve a readable semantic source; focus states stay visible; keyboard navigation follows the visual order; and reduced-motion users receive an immediate, equivalent layout. The custom cursor is additive and only appears where a fine pointer exists.

WebGL is treated as an enhancement. The fluid hero and pigment fields pause when they leave the viewport, cap pixel density, and yield to static fallbacks when the device or preference calls for it. Each public route is also prerendered with its own title, description, canonical URL, and social image, so the experience remains discoverable before JavaScript runs.

Responsive direction

SAME VOICE. DIFFERENT RHYTHM.

The mobile layout keeps the scale and confidence of the desktop composition, then changes the choreography for touch: tighter reading lengths, viewport-led previews, and an overlay that becomes a full vertical scene.

Mobile portfolio home page with oversized Marko Malec typographyMobile Selected Work section with the Portfolio project preview in viewMobile full-screen portfolio navigation

The portfolio could not simply claim that detail matters. Every transition, focus state, and loading decision had to make the claim visible.

Marko Malec
Dark contact section with an oversized invitation to build something meaningful
The final screen removes every detour and turns contact into the clearest gesture on the site.
Outcome

A portfolio that behaves like the work it represents

The finished site forms one continuous argument: identity, point of view, proof, capability, person, and invitation. Each section changes the pace without breaking the visual language, and every project can borrow its own colour and imagery while still belonging to the same editorial system.

More than a gallery, the portfolio is a working demonstration of the practice behind it — expressive where expression has a purpose, quiet where the content needs room, and exact in the details people feel before they notice them.

One continuous narrative
Experience
Touch → wide screen
Responsive range
Reduced-motion equivalent
Accessibility
Design + development
Delivery