Potu - Personal Portfolio HTML Template
Світлий персональний портфоліо-шаблон для дизайнерів, фотографів, письменників та юристів з кастомним курсором, GSAP SplitText та перемикачем теми.

Враження
Potu — Враження
Potu виглядає як стриманий, журнально-оформлений набір особистого портфоліо для соло-креативників: канонічна демо — UI/UX-дизайнер, але на тому ж каркасі є десять варіантів головної для фотографів, архітекторів, організатора подій, письменника, юриста і digital-агенції. Домінантна естетика — світла, паперово-біла, з глибоко-чорнистим тестом і двома акцентними кольорами (блискавично-жовтогарячий #FF6F0F та електро-синій #2661FF). За кожною секцією стоять великі редакторські слова-водяні знаки, GSAP SplitText розкриває заголовки символ-за-символом на скролі, кастомний курсор-крапка та інерційний Lenis-скрол додають преміальності без 3D-надмірностей.
Шаблон підходить незалежним дизайнерам, фотографам, копірайтерам і невеликим студіям, які хочуть смаковите іменне портфоліо плюс стандартний стек portfolio / about / blog / contact — і яким би хотілося, щоб типографіка вже мала готову хореографію, а не була пласкою. Він гірше підходить для product/SaaS-лендингів (немає таблиць цін, немає feature-порівнянь, які не виглядали б розтягнутими), корпоративних сайтів з командою, та для контентно-важких проєктів: більшість демо написана під одного героя.
Виробничі застереження: це класичний jQuery-шаблон на Bootstrap з Owl Carousel, AOS, Isotope, parallax.min.js та сучасною зв'язкою GSAP / SplitText / ScrollTrigger / Lenis. GSAP SplitText — це платний плагін Club GreenSock: файл зашитий у пак, але право розповсюдження для клієнта варто звірити. Темна тема — це підміна CSS-класу (без збереження вибору), контактна форма постить на sendemail.php (потрібен PHP-хостинг або заміна), збірки немає (асети вже мініфіковані і закомічені). Діє стандартна ліцензія ThemeForest — вихідні файли не передавати поза проєктом клієнта.
Палітра
Типографіка
Бібліотеки
Сторінки
- Home v1 — UI/UX Designer
index.html - Home v2 — Developer
index-2.html - Home v3 — Photographer v1
index-3.html - Home v4 — Photographer v2
index-4.html - Home v5 — Digital Agency
index-5.html - Home v6 — Architecture v1
index-6.html - Home v7 — Architecture v2
index-7.html - Home v8 — Event Planner
index-8.html - Home v9 — Writer
index-9.html - Home v10 — Lawyer
index-10.html - About
about.html - Services
service.html - Service Details
service-details-1.html - Portfolio
portfolio.html - Blog
blog.html - Blog Details
blog-details.html - Contact
contact.html
Ключові фішки
Per-letter typed-text preloader spelling the brand
- Де знайти
- index.html .loader-wrap .txt-loading, assets/js/script.js handlePreloader()
- Чому цікаво
- Most preloaders are spinners or counters; here each letter of POTU is wrapped in its own span with a data-text-preloader attribute and animated via the elpath.css keyframes, so the brand reveal IS the loading bar.
- Коли використовувати
- Brand-led portfolio or studio launch where the first impression should reinforce the wordmark.
- Техніка
- HTML span-per-letter, elpath.css keyframes, jQuery delay/fadeOut handoff.
GSAP SplitText with three reveal styles selected via parent class
- Де знайти
- assets/js/script.js title_animation(), index.html section.service-section .sec-title-animation.animation-style2
- Чому цікаво
- The same function reads animation-style1/2/3 from the closest ancestor and applies a different SplitText preset (rotateX dive, x-slide, plain fade) to the chars — letting authors pick a reveal flavour just by changing a class.
- Коли використовувати
- Editorial sites that want section titles to enter with character-level choreography but without writing custom GSAP per section.
- Техніка
- GSAP, SplitText, ScrollTrigger.addEventListener('refresh', ...).
data-depth parallax shapes driven by parallax.min.js
- Де знайти
- index.html section.banner-section .parallax-scene-2, index.html section.testimonial-section .parallax-scene-1
- Чому цікаво
- Decorative orbs/shapes carry data-depth values (0.40, 0.50, 0.60) and respond to mouse position so each section gets a subtle 3D dolly without writing any custom JS.
- Коли використовувати
- Hero sections that need lightweight depth without resorting to WebGL or canvas.
- Техніка
- parallax.min.js (matthew.wagerfield) reading data-depth attributes.
Class-toggle dark-mode switch with floating sun/moon
- Де знайти
- index.html .demo-switch, assets/css/darkmode.css, assets/js/script.js .demo_switch click handler
- Чому цікаво
- All dark styling lives in darkmode.css scoped under a single .dark_bg ancestor, and the toggle simply flips dark_bg / light_bg on .boxed_wrapper — no CSS variables, no localStorage, but trivially extendable.
- Коли використовувати
- Static templates that want a working day/night demo without a build step or framework.
- Техніка
- jQuery toggleClass, side-by-side darkmode.css overrides.
Big-text watermark behind every section
- Де знайти
- index.html section.service-section .big-text, index.html section.portfolio-section .big-text, index.html section.contact-section .big-text
- Чому цікаво
- Each major section has a pale, oversized word (service, Work, instagram, Let's talk) absolutely positioned behind the content — gives the page editorial rhythm without extra art direction.
- Коли використовувати
- Single-page portfolios that want section transitions to feel like magazine spreads.
- Техніка
- CSS absolute positioning + huge font-size (180–280px) + low opacity.
Lenis smooth scroll wired in with a 4-line raf loop
- Де знайти
- assets/js/script.js Lenis init
- Чому цікаво
- Lenis is initialised with no options and a minimal raf loop, so the entire site inherits inertia scroll without touching any other code — useful as a copy-paste recipe.
- Коли використовувати
- Any HTML template where the client wants the buttery scroll feel from Awwwards sites without committing to Locomotive.
- Техніка
- lenis.min.js, requestAnimationFrame.
Компоненти
Per-letter spelling preloader that types out POTU before fading out — driven by jQuery delay/fadeOut after window load.
Single-dot custom cursor that follows the mouse via vanilla JS mousemove and ignores touch devices.
Multi-level dropdown header with light/dark logo swap, sticky-on-scroll variant cloned via JS, and a Let's Talk CTA pill.
Floating moon/sun pair that toggles a global dark_bg / light_bg class on the page wrapper.
Designer-portrait hero with parallax floating shapes, a typed-text rotator (Branding,) and a side quote-card with email CTA inline.
Asymmetric two-column services panel — sticky left intro with giant EXPLORE ALL stamp, scroll-stacked service tiles on the right.
Owl-carousel of large project cards with stacked icon, title and decorative shape layers; word watermark sits behind the rail.
Two-column experience and awards timeline with numbered counters, plus a chip-style skills cloud below.
Two opposing rows of client logos that scroll horizontally as a CSS-only marquee, framed by section dividers.
Single-quote Owl testimonial slider with a circular portrait, quote-mark badge, and parallax decorative shapes.
Instagram peek carousel with a section title on the left and a giant 'instagram' watermark behind the slider.
Split contact section with a decorated Let's Start Talking heading, validated form, and stacked email/phone/office info column.
Minimal centered footer with a logo, copyright stamp and three text-only social links on a single divider row.
Circular SVG progress ring that fills as the user scrolls and exposes a click-to-top hit zone in the bottom-right corner.