Skip to main contentScroll Top
Photographer
Danny
Bach
Documentary · Portrait

Portfolio

Featured photo collection

Clear Filters
Nimbin: Home for the healing souls
Nimbin: Home for the healing souls
Dealer or healer?
Dealer or healer?
Portrait – Black and white
Portrait – Black and white
Portraits – Colors
Portraits – Colors
Forbes Vietnam commisioned portraits
Forbes Vietnam commisioned portraits
mountains of change
mountains of change
Daily life and streets
Daily life and streets

Nht ký nh

Photos taken on a phone.
No algorithms, no social media.
Just photos—ordinary, everyday moments.

.vd-preview { background: #111111; padding: 80px 0 100px; font-family: 'Be Vietnam Pro', system-ui, sans-serif; font-weight: 300; } .vd-preview * { box-sizing: border-box; margin: 0; padding: 0; }/* ── Grid ─────────────────────────────────────────────── */ .vd-preview__grid { columns: 4; column-gap: 5px; padding: 0 48px; min-height: 200px; }.vd-preview__item { break-inside: avoid; margin-bottom: 5px; position: relative; overflow: hidden; background: #222222; cursor: crosshair; display: block; } .vd-preview__item:hover .vd-preview__overlay { opacity: 1; } .vd-preview__item:hover .vd-preview__photo { transform: scale(1.025); }.vd-preview__frame { position: relative; width: 100%; overflow: hidden; }.vd-preview__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.55s cubic-bezier(0.25, 0.1, 0.25, 1); display: block; }.vd-preview__ph { position: absolute; inset: 0; background: linear-gradient(145deg, #1a1a1a, #2a2a2a); animation: vd-pulse 1.8s ease-in-out infinite; } @keyframes vd-pulse { 0%, 100% { opacity: 0.4; } 50% { opacity: 0.7; } }.vd-preview__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 50%); opacity: 0; transition: opacity 0.3s; display: flex; align-items: flex-end; padding: 12px 14px; } .vd-preview__date { font-family: 'Space Mono', monospace; font-size: 9px; letter-spacing: 0.2em; color: rgba(232, 232, 232, 0.6); }.vd-preview__error { color: rgba(232,232,232,0.4); font-family: 'Space Mono', monospace; font-size: 11px; text-align: center; padding: 40px 0; }/* ── Lightbox ─────────────────────────────────────────── */ .vdlb { position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, 0); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s ease, background 0.3s ease; } .vdlb.open { opacity: 1; pointer-events: all; background: rgba(0, 0, 0, 0.97); }.vdlb__stage { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 64px 100px 80px; }.vdlb__img-wrap { position: relative; max-width: 100%; max-height: 100%; display: flex; align-items: center; justify-content: center; }.vdlb__img { max-width: 100%; max-height: calc(100vh - 144px); object-fit: contain; opacity: 0; transition: opacity 0.25s ease; display: block; } .vdlb__img.loaded { opacity: 1; }.vdlb__ph { width: min(80vw, 900px); min-height: 400px; opacity: 0; transition: opacity 0.25s ease; background: linear-gradient(145deg, #1a1a1a, #2a2a2a); } .vdlb__ph.loaded { opacity: 1; }.vdlb__prev, .vdlb__next { position: absolute; top: 50%; transform: translateY(-50%); width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(232, 232, 232, 0.12); color: rgba(232, 232, 232, 0.4); background: rgba(0, 0, 0, 0.3); transition: all 0.2s; cursor: crosshair; z-index: 10; } .vdlb__prev { left: 24px; } .vdlb__next { right: 24px; } .vdlb__prev:hover, .vdlb__next:hover { border-color: rgba(232, 232, 232, 0.5); color: #e8e8e8; background: rgba(0, 0, 0, 0.6); } .vdlb__prev svg, .vdlb__next svg { width: 20px; height: 20px; }.vdlb__close { position: absolute; top: 20px; right: 24px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(232, 232, 232, 0.12); color: rgba(232, 232, 232, 0.4); background: transparent; transition: all 0.2s; cursor: crosshair; z-index: 10; } .vdlb__close:hover { border-color: rgba(232, 232, 232, 0.5); color: #e8e8e8; }.vdlb__bar { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px 32px; background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent); display: flex; flex-direction: column; gap: 4px; pointer-events: none; } .vdlb__date { font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 0.2em; color: rgba(232, 232, 232, 0.45); } .vdlb__caption { font-family: 'Be Vietnam Pro', sans-serif; font-style: italic; font-size: 14px; line-height: 1.7; color: rgba(232, 232, 232, 0.6); max-width: 600px; } .vdlb__counter { font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 0.15em; color: rgba(232, 232, 232, 0.25); }.vdlb__thumbs { position: absolute; bottom: 0; left: 0; right: 0; height: 68px; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 0 100px; overflow: hidden; pointer-events: none; } .vdlb__thumb { width: 48px; height: 48px; flex-shrink: 0; overflow: hidden; opacity: 0.3; transition: opacity 0.2s, transform 0.2s; cursor: crosshair; pointer-events: auto; } .vdlb__thumb.active { opacity: 1; transform: scale(1.08); } .vdlb__thumb img { width: 100%; height: 100%; object-fit: cover; }/* Responsive */ @media (max-width: 1024px) { .vd-preview__grid { columns: 3; } } @media (max-width: 680px) { .vd-preview__grid { columns: 2; padding: 0 20px; } .vdlb__stage { padding: 56px 56px 80px; } .vdlb__prev { left: 8px; width: 44px; height: 44px; } .vdlb__next { right: 8px; width: 44px; height: 44px; } .vdlb__thumbs { display: none; } }
(function() { 'use strict';var API = '/wp-json/wp/v2/visual-diary'; var COUNT = 12; var THUMBS = 7; var RATIOS = [125, 100, 140, 75, 120, 100, 75, 140, 100, 125, 80, 110];var POSTS = []; var LB_IDX = 0; var LB_OPEN = false;function fmtDate(d) { if (!d) return ''; var parts = d.split('-'); var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; return parts[2] + ' ' + (months[parseInt(parts[1], 10) - 1] || '') + ' ' + parts[0]; }function renderSkeletons() { var grid = document.getElementById('vdGrid'); if (!grid) return; grid.innerHTML = ''; for (var s = 0; s < COUNT; s++) { var sk = document.createElement('div'); sk.className = 'vd-preview__item'; sk.innerHTML = '
' + '
' + '
'; grid.appendChild(sk); } }function loadPosts() { renderSkeletons(); var grid = document.getElementById('vdGrid');fetch(API + '?per_page=' + COUNT + '&orderby=date&order=desc') .then(function(res) { if (!res.ok) throw new Error('HTTP Error ' + res.status); return res.json(); }) .then(function(data) { if (!Array.isArray(data) || data.length === 0) { if (grid) grid.innerHTML = '
No posts found in Visual Diary.
'; return; }POSTS = data.map(function(p) { var media = p._embedded && p._embedded['wp:featuredmedia'] ? p._embedded['wp:featuredmedia'][0] : null; return { id: p.id, date: p.date ? p.date.slice(0, 10) : '', src: p.featured_media_url || (media ? media.source_url : null), thumb: p.featured_media_thumb || (media && media.media_details && media.media_details.sizes && media.media_details.sizes.medium ? media.media_details.sizes.medium.source_url : null), w: p.width || 0, h: p.height || 0, caption: p.content && p.content.rendered ? p.content.rendered.replace(/]+>/g, '').trim() : '' }; });if (!grid) return; grid.innerHTML = '';POSTS.forEach(function(post, idx) { var ratio = (post.w && post.h) ? ((post.h / post.w) * 100).toFixed(1) : RATIOS[idx % RATIOS.length];var imgSrc = post.thumb || post.src; var item = document.createElement('div'); item.className = 'vd-preview__item'; var innerHTML = '
'; if (imgSrc) { innerHTML += '' + fmtDate(post.date) + ''; } else { innerHTML += '
'; } innerHTML += '
' + fmtDate(post.date) + '
'; item.innerHTML = innerHTML;item.addEventListener('click', function() { openLb(idx); }); grid.appendChild(item); }); }) .catch(function(err) { console.error('Visual Diary Error:', err); if (grid) grid.innerHTML = '
Unable to load photo diary. (' + err.message + ')
'; }); }function openLb(idx) { LB_IDX = idx; LB_OPEN = true; var lb = document.getElementById('vdlb'); if (lb) lb.classList.add('open'); document.body.style.overflow = 'hidden'; renderLbImg(); renderLbThumbs(); }function closeLb() { LB_OPEN = false; var lb = document.getElementById('vdlb'); if (lb) lb.classList.remove('open'); document.body.style.overflow = ''; }function navigate(dir) { LB_IDX = (LB_IDX + dir + POSTS.length) % POSTS.length; renderLbImg(); renderLbThumbs(); }function renderLbImg() { var post = POSTS[LB_IDX]; if (!post) return;var wrap = document.getElementById('vdlbImgWrap'); if (!wrap) return; wrap.innerHTML = '';var imageSrc = post.src || post.thumb; if (imageSrc) { var img = document.createElement('img'); img.className = 'vdlb__img'; img.alt = fmtDate(post.date); img.onload = function() { img.classList.add('loaded'); }; img.src = imageSrc; wrap.appendChild(img); }document.getElementById('vdlbDate').textContent = fmtDate(post.date); document.getElementById('vdlbCaption').textContent = post.caption || ''; document.getElementById('vdlbCounter').textContent = (LB_IDX + 1) + ' / ' + POSTS.length; }function renderLbThumbs() { var strip = document.getElementById('vdlbThumbs'); if (!strip) return; strip.innerHTML = '';var half = Math.floor(THUMBS / 2); var start = Math.max(0, LB_IDX - half); var end = Math.min(POSTS.length, start + THUMBS);for (var i = start; i < end; i++) { (function(index) { var post = POSTS[index]; var th = document.createElement('div'); th.className = 'vdlb__thumb' + (index === LB_IDX ? ' active' : ''); var thumbSrc = post.thumb || post.src; if (thumbSrc) { var tImg = document.createElement('img'); tImg.src = thumbSrc; th.appendChild(tImg); }th.addEventListener('click', function(e) { e.stopPropagation(); LB_IDX = index; renderLbImg(); renderLbThumbs(); });strip.appendChild(th); })(i); } }function setupControls() { var closeBtn = document.getElementById('vdlbClose'); var prevBtn = document.getElementById('vdlbPrev'); var nextBtn = document.getElementById('vdlbNext'); var lb = document.getElementById('vdlb');if (closeBtn) closeBtn.addEventListener('click', function(e) { e.stopPropagation(); closeLb(); }); if (prevBtn) prevBtn.addEventListener( 'click', function(e) { e.stopPropagation(); navigate(-1); }); if (nextBtn) nextBtn.addEventListener( 'click', function(e) { e.stopPropagation(); navigate(1); });if (lb) { lb.addEventListener('click', function(e) { if (!e.target.closest('#vdlbImgWrap')) closeLb(); }); }document.addEventListener('keydown', function(e) { if (!LB_OPEN) return; if (e.key === 'Escape') closeLb(); if (e.key === 'ArrowLeft') navigate(-1); if (e.key === 'ArrowRight') navigate(1); }); }function init() { setupControls(); loadPosts(); }if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();
Danny Bach portrait

About me

Danny Bach

In terms of expertise, I am a photographer, a digital printing specialist, and a content writer.

As a photographer, I specialize in portrait photography and documentary both commissions and artistic, the final results often prints and photo books.

In the field of printing, I am the founder of VG-Lab printing studio (since 2017), and a co-founder of the East Asia Art Painting brand (since 2017)

Additionally, I am also the owner of Hoa Ta Gallery (since 2022), specializing in the trade of Asian art pieces ranging from photography to calligraphy and a few things in between.

In terms of personal interests, I have a passion for photography and the Red River Civilization study, with the Three Teachings (Confucianism, Taoism, and Buddhism) as my guiding principles.

  • I study Confucianism to learn how to interact with others in society
  • I study Taoism to understand how to deal with myself
  • I study Buddhism to seek harmony with all things

Besides, I also like meme.

Professional experience

07/2012.

Top 20 Images – Australian Photographer of the Year 2016.02/2017

2009

Began self-taught photography.
Founded the wArta Photography, specializing in Wedding Photography in Melbourne, Australia

12/2012

Graduated Associate Degree in Business, RMIT University, Melbourne, Australia.

2013

Bronze Award, Wedding Category – Loupe Awards International 2013.

12/2013

Graduated Certificate IV in Photo Imaging, RMIT University, Melbourne, Australia.

09/2014

Began working as a stringer editorial photographer for Forbes Vietnam (til now).

2016

Best Documentary Photo Book (S.H.A.M.E: Dealer or Healer) – RMIT University, Melbourne.

“Student Using Skills to Make a Difference” Award – Heartfelt Australia and Borge’s Imaging, Melbourne.Graduated Diploma of Photo Imaging, RMIT University, Melbourne, Australia.

07/2017

Founded the Vietnam Giclee Lab, Ho Chi Minh city, Vietnam.

12/2017

Launched the Dong A Danh Hoa Brand, specializing in reproduction of ancient East Asian art, Ho Chi Minh City, Vietnam.

09/2019

Founded Hoa Ta Co., Ho Chi Minh city, Vietnam.

12/2022

Launched the Hoa Ta Gallery Brand, specializing in Fine Art Prints and Photography, Ho Chi Minh City, Vietnam.

04/2025

Solo exhibition “Mountains of Change” at Vin Gallery, HCMC, Vietnam

Prints

Photobook & Fine prints

Order publications from Danny Bach.

Contact

Keep in touch

  • Portrait, family photos.
  • Commercial, corporate photography.
  • Long-term documentary projects (Photobook, documetary in general)
  • Fine art printing service (via VG-Lab)
  • Photography workshop (One on One or Group)

If you have an idea on any of the topics above, please email me!

Email

contact@dannybach.com