Walk up to Fishcake on a Saturday morning and you’ll be greeted by a tiny lady waving a baker’s mitt that says Hang Loose. Elizabeth Thu Hai Pham is in charge of customer acquisition for Anh Chị Em Bakery, her daughter’s pop-up—and my new favorite.
Baker and owner Diana Hai Hoa Pham’s tantalizing array includes Vietnamese and Viet-inspired hand pies, cakes, spring rolls and more. I ended up coming here four weeks in a row. These baked goods are ridiculously tasty, and the Phamily—Pham and her life partner Raquel Curtis, brother Thaddeus and Mama Pham, the “marketing manager”—has such good vibes.
SEE ALSO: Rotating Pop-Up Vendors at Fishcake Hook Us With New Delights
In fact, anh chị em means brothers and sisters in Vietnamese. A baker by trade, Diana Pham moved to O‘ahu from New York about a year ago to join her brother, who has lived here for more than 20 years. She invited her mother, who was in California, to move in with her, reuniting the Phamily.
But for all Pham’s culinary work at bakeries and restaurants including Koko Head Café, making Vietnamese pastries was new to her. Traditional items she learned from YouTube tutorials; the taste-tester was Vietnam-born Elizabeth. For non-traditional items, like her iced coffee-infused cinnamon rolls, Pham says, “I take a lot of inspiration from Vietnamese flavors and dishes and think, ‘How can we mash it up into something new and good?’”
Anh Chị Em debuted with an invitation to pop up at Da Shop: Books + Curiosities in Kaimukī last November. Once the ball started rolling, it kept going. Occasional appearances at Fishcake turned into a weekly thing. Pham starts prep on Wednesday or Thursday, and gets up at 3 a.m. on Saturday to bake everything fresh.
SEE ALSO: These Foodie Craft Classes Nourish Mind and Soul
"); $spagination = flexSlider.find(".spagination"); SPagination.Init($spagination.get( 0 ), { size: slide_obj.count, // pages size page: 1, // selected page step: 3, // pages before and after current cb: function(p){ flexSlider.flexAnimate(p-1, true); } }); } } } function gtx_gallery_slide_before(slide_obj){ var slide=slide_obj.animatingTo; $active_slide=$all_slides.eq(slide) ; slideshow_ad_loaded = false; var current_html = $active_slide.children(".gtx-ad-container").html(); if (current_html) {$active_slide.children(".gtx-ad-container").html(current_html.trim())} gtx_track_slide( slide_obj ); changeURL(parseInt($active_slide.attr("data-attachment_id"))); //THUMBS SYNC - PAGINATED THUMBNAIL NAVIGATION if($thumbs!=="" && navigation == "paginated_thumbs"){ var right_item=$slider.find(".slides li[data-i="+(slide +1 )+"]").attr("data-i-only-pics") if( right_item!= ""){ $thumbs.find("li.gtx-thumb-img").removeClass("flex-active-slide"); $thumbs.find("li.gtx-thumb-img[data-i="+(slide +1 )+"]").addClass("flex-active-slide"); $page=$thumbs.find(".slides>li").has("li[data-i="+(slide +1 )+"]"); $thumbs.flexAnimate($page.index(), true); } } } function gtx_gallery_slide_after(slide_obj){ var slide=slide_obj.animatingTo; $active_slide=$all_slides.eq(slide) ; if($active_slide.hasClass("gtx-ad-slide")==1){ if ($active_slide.find('iframe').length === 1) { $active_slide.find('iframe')[0].remove(); } $slider.delay(100).queue(function(){ $(this).addClass("gtx-gallery-loading").dequeue(); }); $ad_container=$active_slide.children(".gtx-ad-container").first(); if ($($ad_container).html().length < 1) { addAdInto($ad_container,{slide:slide_obj.animatingTo +1}); } //Force arrows to be shown when on mobile and when the slide is an ad if(mobile_mode){ $slider.find(".flex-direction-nav").show(2000) } } else { //Force arrows to hide when on mobile and when the slide is not an ad if(mobile_mode){ $slider.find(".flex-direction-nav").hide("fast") } } //THUMBS SYNC if($thumbs!=="" && navigation == "thumbnails"){ var right_item=$slider.find(".slides>li[data-i="+(slide +1 )+"]").attr("data-i-only-pics") if( right_item!= ""){ $thumbs.find("li.gtx-thumb-img").removeClass("flex-active-slide"); $thumbs.find("li.gtx-thumb-img").eq(right_item -1 ).addClass("flex-active-slide"); $thumbs.flexAnimate(right_item-1, true); } } if(typeof(googletag) != "undefined" && googletag !== null && googletag.pubads){ // Refresh ads within view var tmp_now=new Date().getTime(); var last_refresh_diff= tmp_now - last_ad_refresh; if(last_refresh_diff > 1000){ reset_ads_and_refresh(); last_ad_refresh=tmp_now; } } //LAZY LOAD range=5; var $slides_to_hanle=$all_slides.slice(slide, slide + range +1); if(slide - range >= 0){ $slides_to_hanle=$.merge($slides_to_hanle, $all_slides.slice(slide - range, slide )); }else{ $slides_to_hanle=$.merge($slides_to_hanle, $all_slides.slice(0, range )); $slides_to_hanle=$.merge($slides_to_hanle, $all_slides.slice(range * -1 )); } if(slide + range >= $all_slides.size()){ //handle first slides $slides_to_hanle= $.merge($slides_to_hanle, $all_slides.slice(0,range)); } $slides_to_hanle.find(".gtx-image-container[data-background]").each(function () { var src = $(this).attr("data-background"); $(this).css("background-image", "url("+src+")").removeAttr("data-background"); }); adjustNavHeight(); if( typeof SPagination !== "undefined" && flexSlider.find(".spagination").length>0 ){ if(SPagination.page != slide+1){ SPagination.page = slide + 1; SPagination.Start(); } } } function reset_ads_and_refresh(){ if(!advanced_ad_refresh){ // if option is not enabled, refresh all ads, minus out of page ads if(ads_to_refresh.length > 0){ googletag.pubads().refresh(ads_to_refresh); } return; } if(ads_to_refresh.length == 0){ return; } var newAds = []; var fullAdsToRefresh = []; for(var i = 0; i < ads_to_refresh.length; i++){ var adSlot = ads_to_refresh[i]; if(!ad_is_in_view(adSlot)){ // do not replace this ad, but store it so it can be refreshed when back in view fullAdsToRefresh.push(adSlot); continue; } if (adSlot.getSizes().length == 1) { //Ad only has one ad slot define, skip and refresh all ads at the end newAds.push(adSlot); continue; } var slotId = adSlot.getSlotElementId(); var slotName = adSlot.getAdUnitPath(); var targeting = adSlot.getTargetingMap(); var slotWidth = adSlot.tn_width; var slotHeight = adSlot.tn_height; var slotX = adSlot.tn_positionX; var slotY = adSlot.tn_positionY; $('#'+slotId).css({minHeight: slotHeight+'px', minWidth: slotWidth+'px'}); var sizeMappingVar = googletag.sizeMapping().addSize([0, 9999999], [slotWidth, slotHeight]).build() googletag.cmd.push(function() { googletag.destroySlots([adSlot]); }) googletag.cmd.push(function() { var newAdSlot = googletag.defineSlot( slotName, [slotWidth, slotHeight], slotId ).defineSizeMapping( sizeMappingVar ).addService( googletag.pubads() ); if(targeting){ for (const [key, value] of Object.entries(targeting)) { newAdSlot.setTargeting(`${key}`, `${value}`); } } newAdSlot.tn_positionX = slotX; newAdSlot.tn_positionY = slotY; newAdSlot.tn_width = slotWidth; newAdSlot.tn_height = slotHeight; newAds.push(newAdSlot); fullAdsToRefresh.push(newAdSlot); }); } //refresh all ads with new defined slots googletag.pubads().refresh(newAds); ads_to_refresh = fullAdsToRefresh; } var ads_to_refresh = []; // set the ads we wish to refresh function set_ads_to_refresh(){ var checkingAdsInVew = false; if (typeof googletag === 'object' && typeof googletag.pubads === 'function'){ googletag.pubads().addEventListener('impressionViewable', function(event) { // Out-of-page ads are not eligible for refresh if(event.slot.getOutOfPage() === true){ return false; } var slotWidth = $('#'+event.slot.getSlotElementId() + ' iframe').width(); var slotHeight = $('#'+event.slot.getSlotElementId() + ' iframe').height(); event.slot.tn_positionX = $('#'+event.slot.getSlotElementId()).offset().left; event.slot.tn_positionY = $('#'+event.slot.getSlotElementId()).offset().top; event.slot.tn_width = slotWidth; event.slot.tn_height = slotHeight; if(ads_to_refresh.indexOf(event.slot) < 0){ ads_to_refresh.push(event.slot) } }); } } function ad_is_in_view(slot){ var wTop = $(window).scrollTop(); return slot.tn_positionY > wTop && slot.tn_positionY < $(window).height() + wTop; } $(window).load(function(){ set_ads_to_refresh(); }) function gtx_gallery_thumbs_set_backwards(){ backward_pos = $thumbs.find(".gtx-thumb-backward").position().left; backward_width = $thumbs.find(".gtx-thumb-backward").width(); backward_right_pos = backward_pos + backward_width; container_width = $thumbs.find(".flex-viewport").width(); fully_visible = backward_right_pos < container_width; partially_visible = (backward_right_pos - container_width) < backward_width/3; if(partially_visible){ $thumbs.find(".flex-next").hide(0); }else{ $thumbs.find(".flex-next").show(); } } function gtx_gallery_thumbs_before(slide_obj){ if(slide_obj.count > 8){ gtx_gallery_thumbs_set_backwards() } } function gtx_gallery_thumbs_after(slide_obj){ if(slide_obj.count > 8){ gtx_gallery_thumbs_set_backwards() } } function gtx_gallery_paginated_thumbs_start(slide_obj){ gtx_gallery_paginated_thumbs_lazy(); if(false && slide_obj.count > 8){ $thumbs.find(".flex-control-nav.flex-control-paging").removeClass("flex-control-paging").addClass("g-pagination"); } if(slide_obj.count > 8){ $thumbs.find(".flex-control-nav.flex-control-paging").hide().after(""); $pagination = $thumbs.find(".spagination"); SPagination.Init($pagination.get( 0 ), { size: slide_obj.count, // pages size page: 1, // selected page step: 3, // pages before and after current cb: function(p){ $thumbs.flexAnimate(p-1, true); } }); } } function gtx_gallery_paginated_thumbs_before(slide_obj){ var slide=(typeof slide_obj == "object" && slide_obj.animatingTo ? slide_obj.animatingTo : 0); gtx_gallery_paginated_thumbs_lazy(slide_obj); } function gtx_gallery_paginated_thumbs_after(slide_obj){ var slide=(typeof slide_obj == "object" && slide_obj.animatingTo ? slide_obj.animatingTo : 0); //THUMBS SYNC - Go to first slide of this batch if($thumbs!=="" && navigation == "paginated_thumbs"){ var $active_slide=$slider.find(".slides>li.flex-active-slide"); var $active_thumb_page=$thumbs.find(".slides>li.flex-active-slide"); //Check if the current slide is within this thumb batch if(!$active_thumb_page.find("li[data-i="+$active_slide.attr("data-i")+"]").size()){ first_thumb=$active_thumb_page.find("li").first().attr("data-i"); flexSlider.flexAnimate(first_thumb - 1, true); } } if( typeof SPagination !== "undefined" && $thumbs.find(".spagination").length>0 ){ if(SPagination.page != slide+1){ SPagination.page = slide + 1; SPagination.Start(); } } } function gtx_gallery_paginated_thumbs_lazy(slide_obj){ var slide=(typeof slide_obj == "object" && slide_obj.animatingTo ? slide_obj.animatingTo : 0); //LAZY LOAD THUMBS if($all_thumbs!=="" && navigation == "paginated_thumbs"){ range=1; var $slides_to_hanle=$all_thumbs.slice(slide, slide + range + 1); if(slide - range >= 0){ $slides_to_hanle=$.merge($slides_to_hanle, $all_thumbs.slice(slide - range, slide )); }else{ $slides_to_hanle=$.merge($slides_to_hanle, $all_thumbs.slice(0, range )); $slides_to_hanle=$.merge($slides_to_hanle, $all_thumbs.slice(range * -1 )); } if(slide + range >= $all_thumbs.size()){ //handle first slides $slides_to_hanle= $.merge($slides_to_hanle, $all_thumbs.slice(0,range)); } $slides_to_hanle.each(function () { $(this).find("img[lazy-src]").each(function () { var src = $(this).attr("lazy-src"); if(!src) return; $(this).attr("src",src).removeAttr("lazy-src"); $thumbs.find("img[lazy-src=""+src+""]").attr("src",src).removeAttr("lazy-src"); }); }); } } function adjustNavHeight(){ imageHeight = flexSlider.find(".gtx-slide-img.flex-active-slide .gtx-image-container").outerHeight(); if(imageHeight > 0){ flexSlider.find(".flex-prev,.flex-next").css("top",Math.round(imageHeight/2)); } } var nextSlotId = 1; function generateNextSlotName() { var id = nextSlotId++; return "adslot_" + id+"_"+Math.floor( Date.now() / 1000 ); } function addAdInto(selector,options) { try{ gtx_gallery_enable_dfp(); }catch(err) { } var slide=options.slide || -1; var slotName = generateNextSlotName(); var ad_index = 0; // Create a div for the slot var slotDiv = document.createElement('div'); slotDiv.id = slotName; // Id must be the same as slotName $( selector ).append( slotDiv ); try{ ad_index=$( selector ).closest(".gtx-ad-slide").attr("data-i-only-ads"); }catch(err) { } // Define the slot itself, call display() to // register the div and refresh() to fetch ad. googletag.cmd.push(function() { slideshow_ad_loaded = true; adslots[slotName] = googletag.defineSlot('/132916964,21750684002/honolulumagazine.com/bakeries', [300, 250], slotName) .addService(googletag.pubads()) .setTargeting("placement", "gallery") .setTargeting("slide", slide) .setTargeting("post", '722566') .setTargeting("category", '["bakeries","family-homepage-stories","frolic","biting-commentary","frolic-homepage","homepage-latest-module","homepage-top-stories","sweets","vietnamese","frolic-whats-new","whats-new"]') .setTargeting("galleryAdIndex", ad_index); googletag.display(slotName); googletag.sizeMapping().addSize( [0,0], [[300,250]]) googletag.pubads().refresh([adslots[slotName]]); }); } gtx_gallery_syncHash = function(path){ pic = ""; re = /pic/?([0-9]+)/?$/i; if(!path && window.location.hash && window.location.hash.match(re)) path = window.location.hash; if(!path && window.location.pathname && window.location.pathname.match(re)) path = window.location.pathname; if(path){ matchslide = path.match(re); if(matchslide && matchslide[1]>0){ pic = parseInt(matchslide[1]); } if(!isNaN(pic) && pic > 0){ slide=get_slide_by_attachment_id(pic); if(slide>0){ avoid_next_pageview = true; flexSlider.flexAnimate(slide - 1, true); } } }else{ gtx_track_slide( ) } } function debounce(func, wait, immediate) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; }; // delay the url state replacement to avoid overload // RAYOS-271 var efficientlyReplaceState = debounce(function(title, path){ window.history.replaceState({}, title, path); }, 1250) function changeURL(pic){ basepath = window.location.pathname.replace(//pic/?([0-9]+)/?$/i,"/"); if(isNaN(pic)) return; path = basepath + "pic/"+pic+"/"; title = "Pic "+pic; if (typeof(window.history.replaceState) == "function") { efficientlyReplaceState(title, path) } else { window.location.hash = path; } } function get_slide_by_attachment_id(id){ var slide=$slider.find(".slides li[data-attachment_id="+id+"]").attr("data-i"); return parseInt(slide, 10); } function gtx_track_slide( slide_obj ){ if(slide_obj){ var slide = slide_obj.animatingTo; }else{ var slide = 0; } $active_slide=$all_slides.eq(slide) ; if(!avoid_next_pageview){ try{ var loc = location.pathname + "#slide" + (parseInt(slide) + 1); if (rayos_gtm_gallery_pageviews) { // Add gallery navigation info to dataLayer window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'event': 'rayos_virtual_pageview', 'location' : loc }); } // Legacy support for GA tracking ga("send", "pageview", loc); if (ga.getByName("gtxcelTracker")) { ga("gtxcelTracker.send", "pageview", loc); } }catch(err){ } } avoid_next_pageview = false; } //Add a callback on ad render googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(event) { var slotName=event.slot.getSlotElementId(); if(typeof adslots[slotName] !=="undefined" && !event.isEmpty){ $slider.clearQueue(); $slider.removeClass("gtx-gallery-loading"); } }); }); jQuery("#gtx-gallery-slider-722566").flexslider({ animation: "slide", pauseOnHover: true, prevText: "", nextText: "", slideshow: false, controlNav: false, init: gtx_gallery_slide_init, start: gtx_gallery_slide_start, before: gtx_gallery_slide_before, after: gtx_gallery_slide_after }); if(mobile_mode){ $slider.find(".flex-direction-nav").hide(); } });
Ranked from liked it to loved it:
Ca Phe Sua Cinnamon Roll, $8
This take on a cinnamon roll gets its flavor from Vietnamese coffee, with a condensed milk cream cheese frosting. It’s not that sweet for a cinnamon roll, but it is a bit for my taste, and the frosting is quite cream cheesy. Great paired with coffee, though.
Banh Bo, $8
These traditional steamed rice cakes are mildly sweet, fluffy and jiggly, plus gluten- and dairy-free. The sugary dip has a bit of salt, cayenne and toasted sesame seeds. Good to share since it comes with four pieces.
Ca Ri Puff, $7
Incredibly flaky and buttery, the puff pastry is filled with a mild, comforting coconut curry of carrots, peas and potatoes. A yummy vegetarian option.
Furikake Focaccia, $6
This is almost too tall to fit in my mouth, yet satisfying to bite into with plenty of furikake on top. The outside is a bit hard, as focaccia can be, but the inside is soft and moist with flavorful oil. At first, I find it odd to eat by itself, but the more I eat it, the more I like it.
Crumb Cake, $6
I tried a version with cinnamon crumble topped with strawberry jam. It’s similar in texture to an apple crisp, but more solid with nice crunchy edges. While the strawberry was too subtle to taste, I enjoyed the cake.
Apple Ginger Hand Pie, $7
This is super flaky, and the ginger in the filling adds a zing against the apple’s tart sweetness. Keep an eye out for this since hand pie flavors rotate.
Banh Bo Nuong, $7
Another Vietnamese classic, this baked pandan honeycomb cake is a little sweeter than the banh bo, with the same great texture. This is also gluten- and dairy-free.
Cha Gio Chay, $2
These are the best spring rolls I’ve ever had. Filled with cabbage, carrots, onions and shiitake mushrooms, these are vegetarian and have a nice crunch and uber-umami mushroom flavor. I could probably eat five.
Banh Tieu, $3
This is Aunty Elizabeth’s favorite—if you order it while she’s around, she’ll ring her bell for you. The taste and consistency are like a cross between youtiao and jin dui—got that yummy chew. Even though it’s relatively plain, it’s addictive.
Pate So, $7
Filled with pork, onions and shiitake mushrooms, this reminds me of pasties in England, except 1,000 times better. Even if I could get over the puff pastry, biting into the savory filling lights up my taste buds every time.
Jasmine Tea Cake, $6
My absolute favorite (and Thaddeus’s). If you’re a boba girlie, you’ll love this—it’s like jasmine milk tea in cake form, beautifully moist, tea-flavor-forward and not too sweet. I wish I could get this every day of the week.
SEE ALSO: New Ocean Side Bakery Brings a Taste of France to Chinatown
Follow @anhchiembakery on Instagram to see the week’s rotation plus any special preorder boxes. I snagged a box with everything they had for $50, which is how I ended up trying so many things. And there will be more: Pham is considering offering iced coffee, che (a fruity coconut milk dessert similar to halo halo) and banh mi specials in the future.
For now, Anh Chị Em will remain a Saturday staple at Fishcake with occasional pop-ups at Daily Whisk Matcha. Bring cash or pay by Venmo, and arrive early—popular pastries can sell out by noon.
While you’re there, peek inside Fishcake at the other food vendors plus art, furniture, jewelry, plants and so many locally sourced curios to be found.
Cash or Venmo, Saturday 10 a.m. to 2 p.m. at Fishcake, 307 Kamani St., @anhchiembakery
Link nội dung: https://mcbs.edu.vn/the-vibes-anh-a22754.html