[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site":3,"footer-latest":236,"page-about":269},{"chrome":4,"settings":147,"website":234},{"siteHeader":5,"siteMenu":43,"siteFooter":66,"pageTransition":124,"notFoundScreen":127},{"key":6,"section_template":6,"values":7,"source":42},"siteHeader",{"logo":8,"name":10,"tagline":12,"brandAriaLabel":13,"navAriaLabel":14,"navItems":15,"showStatus":36,"statusText":37,"ctaButton":38,"menuOpenLabel":41,"showProgress":36},{"url":9,"alt":10,"width":11,"height":11},"\u002Fbrand\u002Fa-mark-current.svg","Jesther Bas",120,"Digital · Photo · Code · Road","Jesther Bas, home","Primary",[16,20,24,28,32],{"label":17,"url":18,"number":19},"About","\u002Fabout","01",{"label":21,"url":22,"number":23},"Journal","\u002Fjournal","02",{"label":25,"url":26,"number":27},"Editorial","\u002Fnews","03",{"label":29,"url":30,"number":31},"Digital Services","\u002Fwork","04",{"label":33,"url":34,"number":35},"Contact Us","\u002Fcontact","05",true,"Open for projects",{"label":39,"url":34,"newTab":40},"Let's talk",false,"Open menu","template",{"key":44,"section_template":44,"values":45,"source":42},"siteMenu",{"dialogLabel":46,"closeLabel":47,"navAriaLabel":48,"navItems":49,"showEmail":36,"showSocials":36},"Site menu","Close menu","Mobile",[50,54,56,59,60,62,63],{"label":51,"url":52,"number":53},"Home","\u002F","00",{"label":55,"url":30,"number":19},"Work",{"label":57,"url":58,"number":23},"Photos","\u002Fphotos",{"label":21,"url":22,"number":27},{"label":61,"url":26,"number":31},"News",{"label":17,"url":18,"number":35},{"label":64,"url":34,"number":65},"Contact","06",{"key":67,"section_template":67,"values":68,"source":42},"siteFooter",{"ctaIndexLabel":69,"ctaEyebrow":70,"ctaTitle":71,"ctaUrl":34,"copyLabel":72,"copyMessage":73,"blurb":74,"clockLabel":75,"clockTimezone":76,"clockOffsetLabel":77,"exploreTitle":78,"exploreLinks":79,"latestTitle":92,"latestSource":93,"latestFallback":97,"socialsTitle":110,"copyright":111,"legalAriaLabel":112,"legalLinks":113,"backToTopLabel":122,"wordmark":123},"(Next)","Have an idea, a trip or a system in mind?","Let's build something worth remembering.","Copy","Email copied","Full-stack engineer, photographer and slow traveler. Building systems by day, chasing light the rest of the time.","Local time","Asia\u002FManila","· GMT+8","Explore",[80,82,84,86,88,90],{"link":81},{"label":55,"url":30,"newTab":40},{"link":83},{"label":57,"url":58,"newTab":40},{"link":85},{"label":21,"url":22,"newTab":40},{"link":87},{"label":61,"url":26,"newTab":40},{"link":89},{"label":17,"url":18,"newTab":40},{"link":91},{"label":64,"url":34,"newTab":40},"Latest stories",{"source":94,"category":95,"limit":96},"blog","",3,[98,102,106],{"link":99},{"label":100,"url":101,"newTab":40},"Mae Hong Son Loop, 8 days","\u002Fjournal\u002Fthe-mae-hong-son-loop-in-8-days",{"link":103},{"label":104,"url":105,"newTab":40},"Slow boat on the Mekong","\u002Fjournal\u002Fthe-taste-of-the-mekong-slow-life-slow-time-on-a-slow-boat-in-laos",{"link":107},{"label":108,"url":109,"newTab":40},"Egypt visa guide","\u002Fjournal\u002Fpharaohs-permit-your-essential-guide-to-the-egypt-visa","Elsewhere","Jesther Digital. All rights reserved.","Legal",[114,118],{"link":115},{"label":116,"url":117,"newTab":40},"Privacy policy","\u002Fprivacy",{"link":119},{"label":120,"url":121,"newTab":40},"Terms","\u002Fterms","Back to top ↑","Jesther",{"key":125,"section_template":125,"values":126,"source":42},"pageTransition",{"enabled":36},{"key":128,"section_template":128,"values":129,"source":42},"notFoundScreen",{"backgroundImage":130,"indexLabel":135,"eyebrow":136,"title":137,"lead":138,"primaryButton":139,"secondaryButton":141,"errorIndexLabel":143,"errorEyebrow":144,"errorTitle":145,"errorLead":146,"hideFooter":36},{"url":131,"alt":132,"width":133,"height":134},"https:\u002F\u002Fcloud.codevast.com\u002Fnews-articles\u002F1\u002Ffeatured\u002F15\u002F90412a611b4846de90c771b21e418dd0_20260112_012224.jpg","Flags at a border checkpoint",4000,2252,"(404)","Wrong turn","Off the map.","This page doesn't exist, or it moved. Even good travelers get lost sometimes.",{"label":140,"url":52,"newTab":40},"Back home",{"label":142,"url":22,"newTab":40},"Read the journal","({code})","Something broke","Not your fault.","This page ran into a problem on my side. Try again in a moment, or head back home.",{"profile":148,"seo":167,"ui":177,"articleSettings":183},{"email":149,"socials":150},"hello@jestherbas.com",[151,155,159,163],{"network":152,"url":153,"icon":154},"Facebook","https:\u002F\u002Fwww.facebook.com\u002Fjestherdigital\u002F","facebook",{"network":156,"url":157,"icon":158},"Instagram","https:\u002F\u002Fwww.instagram.com\u002Fjestherthen","instagram",{"network":160,"url":161,"icon":162},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fjesther-bas","linkedin",{"network":164,"url":165,"icon":166},"X (Twitter)","https:\u002F\u002Fx.com\u002Fjestherthen","x",{"siteName":10,"titleTemplate":168,"defaultDescription":169,"defaultOgImage":170,"twitterHandle":172,"personName":10,"jobTitle":173,"organizationName":174,"locale":175,"themeColor":176},"%s — Jesther Bas","Professional web developer and designer offering remote, high-quality digital solutions worldwide. Reliable, efficient, and location-independent services.",{"url":171,"alt":95},"https:\u002F\u002Fcloud.codevast.com\u002Fwebsite-og-images\u002F1\u002Ff5a0117217dd4268952c1306a25edb4c_20251221_144724.jpg","@jestherthen","Full-stack engineer","Jesther Digital","en","#0a0a0a",{"skipLinkLabel":178,"breadcrumbAriaLabel":179,"copiedMessage":180,"copyFailedMessage":181,"emailCopiedMessage":73,"linkCopiedMessage":182},"Skip to content","Breadcrumb","Copied to clipboard","Press Ctrl+C to copy","Link copied",{"breadcrumbHomeLabel":51,"breadcrumbJournalLabel":21,"breadcrumbNewsLabel":61,"breadcrumbAriaLabel":179,"authorName":10,"publishedLabel":184,"byLabel":185,"showReadingTime":40,"readingTimeLabel":186,"progressLabel":187,"tocTitle":188,"shareLabel":189,"shareFacebookLabel":190,"shareXLabel":191,"shareLinkedinLabel":192,"copyLinkLabel":193,"copyLinkToast":182,"factboxIcon":194,"authorCardLabel":195,"authorCardTitle":196,"authorBio":197,"authorAvatar":198,"authorLink":200,"postNavLabel":202,"previousLabel":203,"nextLabel":204,"commentsTitle":205,"commentsIntro":206,"commentNameLabel":207,"commentNameError":208,"commentEmailLabel":209,"commentEmailHint":210,"commentEmailError":211,"commentBodyLabel":212,"commentBodyError":213,"commentButton":214,"commentSendingLabel":215,"commentSuccess":216,"commentErrorMessage":217,"relatedIndexLabel":218,"relatedEyebrow":219,"relatedTitle":220,"relatedLink":221,"inShortTitle":223,"sourcesTitle":224,"staleNotice":225,"staleAfterDays":226,"newsNavLabel":227,"olderLabel":228,"newerLabel":229,"moreNewsIndexLabel":218,"moreNewsEyebrow":230,"moreNewsTitle":231,"moreNewsLink":232},"Published","By","{minutes} min read","Reading progress","On this page","Share","Share on Facebook","Share on X","Share on LinkedIn","Copy link","map","About the author","Written by Jesther Bas","Full-stack engineer and photographer who works from wherever the Wi-Fi holds up. Writes about slow travel, visas and building things.",{"url":95,"alt":95,"width":199,"height":199},0,{"label":201,"url":18,"newTab":40},"More about me","More stories","Previous","Next","Comments","Have a tip or a question? Leave a comment.","Name","Please enter your name.","Email","Never shown publicly.","Enter a valid email address.","Comment","Please write a comment.","Post comment","Sending…","Thanks! Your comment is awaiting approval.","Something went wrong. Please try again.","(More)","Keep reading","More from {location}.",{"label":222,"url":22,"newTab":40},"All stories","In short","Sources","This update is from {date}. Details may have changed since.",90,"More news","Older","Newer","Other updates","Recent news.",{"label":233,"url":26,"newTab":40},"All news",{"customScripts":95,"primaryColor":235},"#921709",{"source":237,"total":238,"items":239},"cms",13,[240,250,259],{"type":94,"slug":241,"url":242,"title":243,"excerpt":244,"category":245,"categorySlug":246,"date":247,"image":248,"featured":40},"the-taste-of-mekong-river-from-slow-life-slow-time-on-a-slowboat-in-laos","\u002Fjournal\u002Fthe-taste-of-mekong-river-from-slow-life-slow-time-on-a-slowboat-in-laos","The Taste of Mekong River from Slow life slow time on a slowboat in Laos","Experience slow travel on Laos' Mekong River. Discover how to take the scenic slow boat from Huay Xai to Luang Prabang with local insights and travel tips.","Travel and Guide","travel-and-guide","2025-02-08",{"url":249,"alt":243},"https:\u002F\u002Fcloud.codevast.com\u002Fnews-articles\u002F1\u002Ffeatured\u002F19\u002Ff6d2dbb19c6f452c8293e79283f0c748_20260112_013709.jpg",{"type":94,"slug":251,"url":109,"title":252,"excerpt":253,"category":254,"categorySlug":255,"date":256,"image":257,"featured":40},"pharaohs-permit-your-essential-guide-to-the-egypt-visa","Pharaoh Permit Your Essential Guide to the Egypt Visa","Complete guide to Egypt tourist visas: visa on arrival countries, e-visa eligibility, embassy requirements. Get your visa for the Pyramids today!","Visa","visa","2025-02-06",{"url":258,"alt":252},"https:\u002F\u002Fcloud.codevast.com\u002Fnews-articles\u002F1\u002Ffeatured\u002F18\u002F3bfc22c1d2e64008b9d7343518cd7f7e_20260112_013406.jpg",{"type":94,"slug":260,"url":261,"title":262,"excerpt":263,"category":264,"categorySlug":265,"date":266,"image":267,"featured":40},"unlocking-china-what-every-traveler-should-be-aware-of","\u002Fjournal\u002Funlocking-china-what-every-traveler-should-be-aware-of","Unlocking China What Every Traveler Should Be Aware Of","Discover essential China travel tips: SIM cards, VPN access, payment apps, and regional insights. Plan your adventure with our expert guide. Start exploring!","China Travels","china-travels","2024-09-24",{"url":268,"alt":262},"https:\u002F\u002Fcloud.codevast.com\u002Fnews-articles\u002F1\u002Ffeatured\u002F16\u002F35359db786d448eaa0af5dccb14871cd_20260112_012633.jpg",{"slug":270,"title":271,"description":272,"ogImage":273,"canonical":273,"keywords":273,"source":42,"blocks":274},"about","About — Jesther Bas","Full-stack engineer, photographer, slow traveler, AI implementor and founder of Jesther Digital.",null,[275,282,306,312,342,384,422,465,522,597],{"key":276,"section_template":277,"values":278,"source":42},"t0-pageMasthead","pageMasthead",{"anchorId":95,"indexLabel":95,"eyebrow":95,"sectionLabel":95,"divider":40,"animate":36,"hidden":40,"breadcrumbHomeLabel":51,"breadcrumbLabel":17,"title":279,"size":280,"lead":95,"stats":281,"updatedLabel":95,"draftNote":95},"Builder. Shooter. Wanderer.","display",[],{"key":283,"section_template":284,"values":285,"source":42},"t1-storyPortrait","storyPortrait",{"anchorId":95,"indexLabel":286,"eyebrow":287,"sectionLabel":288,"divider":40,"animate":36,"hidden":40,"image":289,"tagIcon":293,"tagText":294,"headline":295,"body":296,"buttons":297},"(01)","The short version","My story",{"url":268,"alt":290,"width":291,"height":292},"Hiker on a mountain summit in China",6000,3542,"pin","Somewhere in China","I'm Jesther, a full-stack engineer who never quite put the camera down.","\u003Cp>I started in 2013 as a junior web and graphic designer, then spent the next decade going deeper: full-stack engineering, system integration, senior PHP work, digital lockers, a smart-city platform in Phuket and, today, AI-assisted systems at MobileAI.\u003C\u002Fp>\u003Cp>Along the way I learned to work from anywhere. That turned into slow travel, a travel blog and a lot of photographs: festivals in Thailand, slow boats in Laos, coffee in Hanoi, summits in China.\u003C\u002Fp>\u003Cp>Jesther Digital is where it all meets. Websites, systems, photography and content for brands, from one person who stays accountable from first sketch to launch.\u003C\u002Fp>",[298,302],{"link":299,"style":301},{"label":300,"url":34,"newTab":40},"Work with me","solid",{"link":303,"style":305},{"label":304,"url":30,"newTab":40},"See projects","outline",{"key":307,"section_template":308,"values":309,"source":42},"t2-quoteHighlight","quoteHighlight",{"anchorId":95,"indexLabel":95,"eyebrow":95,"sectionLabel":310,"divider":40,"animate":36,"hidden":40,"quote":311,"attribution":10},"Quote","Photography taught me composition, travel taught me patience, and code ties it all together.",{"key":313,"section_template":314,"values":315,"source":42},"t3-nowBoard","nowBoard",{"anchorId":316,"indexLabel":317,"eyebrow":318,"sectionLabel":95,"divider":36,"animate":36,"hidden":40,"title":319,"updatedLabel":320,"items":321},"now","(02)","Now","What I'm up to these days.","Updated November 2026",[322,327,332,337],{"icon":323,"label":324,"value":325,"description":326},"code","Building","MobileAI at NTTAGID","System development and integration.",{"icon":328,"label":329,"value":330,"description":331},"cpu","Exploring","AI inside real products","OpenAI and Gemini in content tools, CMS features and automation.",{"icon":333,"label":334,"value":335,"description":336},"pen","Writing","The travel journal","Visa guides and slow-travel stories from Southeast Asia.",{"icon":338,"label":339,"value":340,"description":341},"pad","Playing","Games, after hours","Where I quietly study level design, feedback loops and UX.",{"key":343,"section_template":344,"values":345,"source":42},"t4-nowPlaying","nowPlaying",{"anchorId":346,"indexLabel":347,"eyebrow":348,"sectionLabel":95,"divider":36,"animate":36,"hidden":36,"title":349,"draftNote":350,"games":351},"playing","(03)","Now playing","Games, after hours.","Sample list — swap in the real games",[352,359,365,375],{"title":353,"platform":354,"status":346,"statusLabel":339,"note":355,"progress":356,"icon":338,"artStyle":357,"progressLabel":358},"Open-world RPG","PC","Main quest on hold. Side quests forever.",60,"a","About 60% complete",{"title":360,"platform":354,"status":346,"statusLabel":339,"note":361,"progress":362,"icon":194,"artStyle":363,"progressLabel":364},"City builder","Planning roads like it's another smart-city project.",35,"b","About 35% complete",{"title":366,"platform":367,"status":368,"statusLabel":369,"note":370,"progress":371,"icon":372,"artStyle":373,"progressLabel":374},"Squad nights","Online co-op","weekly","Weekly","Friday sessions with friends across three time zones.",100,"bolt","c","Ongoing",{"title":376,"platform":377,"status":378,"statusLabel":379,"note":380,"progress":371,"icon":381,"artStyle":382,"progressLabel":383},"Indie platformer","Handheld","finished","Finished","Teaches every rule without a single tutorial screen. Good UX.","check","d","Completed",{"key":385,"section_template":386,"values":387,"source":42},"t5-experienceTimeline","experienceTimeline",{"anchorId":388,"indexLabel":347,"eyebrow":389,"sectionLabel":95,"divider":36,"animate":36,"hidden":40,"title":390,"lead":391,"roles":392},"experience","Experience","Thirteen years in the making.","Every role added a layer: design, then code, then systems, then the people and products around them.",[393,397,401,403,406,410,414,418],{"when":394,"title":395,"org":396},"2024 — Present","MobileAI · NTTAGID","System development and integration",{"when":398,"title":399,"org":400},"2022 — Present","Digital City","Phuket smart city development",{"when":398,"title":402,"org":396},"Senior PHP Developer",{"when":404,"title":402,"org":405},"2020 — 2021","Digital locker system development",{"when":407,"title":408,"org":409},"2019 — 2021","Freelancing","Software integration and support",{"when":411,"title":412,"org":413},"2015 — 2019","Full Stack Software Engineer","Web services management and system integration",{"when":415,"title":416,"org":417},"2014 — 2015","Jr. Web Engineer","Development, integration, design and planning",{"when":419,"title":420,"org":421},"2013 — 2014","Jr. Web & Graphic Designer","Design and planning",{"key":423,"section_template":424,"values":425,"source":42},"t6-toolkitGroups","toolkitGroups",{"anchorId":95,"indexLabel":426,"eyebrow":427,"sectionLabel":95,"divider":36,"animate":36,"hidden":40,"title":428,"groups":429},"(04)","Toolkit","What I work with.",[430,446,455],{"name":431,"tools":432},"Code",[433,434,435,436,437,438,439,440,441,442,443,444,445],"PHP","Python","FastAPI","Vue 3","Next.js","React","TypeScript","Tailwind CSS","MySQL","Redis","Celery","AWS S3","Shopify",{"name":447,"tools":448},"AI",[449,450,451,452,453,454],"OpenAI","Google Gemini","Claude","Prompt design","AI content tools","Automation",{"name":456,"tools":457},"Craft",[458,459,460,461,462,463,464],"Photography","Videography","Drone piloting","Web design","Branding","Content writing","Blogging",{"key":466,"section_template":467,"values":468,"source":42},"t7-gearList","gearList",{"anchorId":469,"indexLabel":470,"eyebrow":471,"sectionLabel":95,"divider":36,"animate":36,"hidden":40,"title":472,"draftNote":473,"photo":474,"photoCaption":479,"groups":480,"items":491},"gear","(05)","Gear","What's in the bag.","Sample kit — list the real gear",{"url":475,"alt":476,"width":477,"height":478},"https:\u002F\u002Fcloud.codevast.com\u002Fcontent-blocks\u002Fimages\u002Fwebsite-1\u002F29947940670d464ea1761d6de00f841f_20260111_173031.jpg","Backlit red mechanical keyboard in the dark",3212,2227,"The red one from the homepage.",[481,484,488],{"key":482,"name":483,"icon":482},"camera","Camera",{"key":485,"name":486,"icon":487},"air","Air","spark",{"key":489,"name":490,"icon":323},"desk","Desk",[492,495,498,501,504,507,510,513,516,519],{"group":482,"name":493,"note":494},"Mirrorless body","Full-frame, weather-sealed",{"group":482,"name":496,"note":497},"24–70mm zoom","Does most of the work",{"group":482,"name":499,"note":500},"35mm prime","Street and candids",{"group":482,"name":502,"note":503},"Travel tripod","Fits a daypack",{"group":485,"name":505,"note":506},"Folding drone","Light enough for most rules",{"group":485,"name":508,"note":509},"ND filter set","Smooth video in harsh sun",{"group":485,"name":511,"note":512},"Spare batteries","Three, always charged",{"group":489,"name":514,"note":515},"Mechanical keyboard","Red backlight, loud keys",{"group":489,"name":517,"note":518},"Laptop + display","Works from any café",{"group":489,"name":520,"note":521},"Linux on WSL","Where the code lives",{"key":523,"section_template":524,"values":525,"source":42},"t8-travelMap","travelMap",{"anchorId":194,"indexLabel":526,"eyebrow":527,"sectionLabel":95,"divider":36,"animate":36,"hidden":40,"title":528,"countriesLabel":529,"placesLabel":530,"places":531,"lonMin":579,"lonMax":580,"latMin":581,"latMax":582,"lonTicks":583,"latTicks":588,"note":593,"button":594,"caption":596},"(06)","On the map","Where the road has gone.","Countries","Places pinned",[532,539,545,551,556,563,568,574],{"name":533,"country":534,"lat":535,"lon":536,"labelSide":537,"link":538},"Cebu","Philippines",10.3,123.89,"l",{"label":95,"url":95,"newTab":40},{"name":540,"country":534,"lat":541,"lon":542,"labelSide":543,"link":544},"Cabongaoan, Pangasinan",16.32,119.79,"r",{"label":95,"url":95,"newTab":40},{"name":546,"country":547,"lat":548,"lon":549,"labelSide":543,"link":550},"Bangkok","Thailand",13.75,100.5,{"label":95,"url":95,"newTab":40},{"name":552,"country":547,"lat":553,"lon":554,"labelSide":363,"link":555},"Mae Hong Son Loop",19.3,97.97,{"label":95,"url":95,"newTab":40},{"name":557,"country":558,"lat":559,"lon":560,"labelSide":561,"link":562},"Huay Xai","Laos",20.27,100.41,"t",{"label":95,"url":95,"newTab":40},{"name":564,"country":558,"lat":565,"lon":566,"labelSide":543,"link":567},"Luang Prabang",19.89,102.13,{"label":95,"url":95,"newTab":40},{"name":569,"country":570,"lat":571,"lon":572,"labelSide":543,"link":573},"Hanoi","Vietnam",21.03,105.85,{"label":95,"url":95,"newTab":40},{"name":575,"country":575,"lat":576,"lon":577,"labelSide":543,"link":578},"China",25,110.3,{"label":95,"url":95,"newTab":40},94,128,6,28,[584,585,586,587],"95°E","105°E","115°E","125°E",[589,590,591,592],"10°N","15°N","20°N","25°N","Pins link to stories in the journal once the CMS is wired up.",{"label":595,"url":22,"newTab":40},"Read the stories","Route chart of places visited across Southeast Asia and China, numbered 1 to 8.",{"key":598,"section_template":599,"values":600,"source":42},"t9-photoReel","photoReel",{"anchorId":95,"indexLabel":95,"eyebrow":95,"sectionLabel":601,"divider":36,"animate":36,"hidden":40,"title":95,"prevLabel":602,"nextLabel":603,"button":604,"reelLabel":605,"photos":606},"Photos from the road","Previous photos","Next photos",{"label":95,"url":58,"newTab":40},"Photo strip, scroll horizontally",[607,611,617,622,629],{"image":608,"caption":610,"place":558},{"url":249,"alt":104,"width":291,"height":609},3376,"Mekong River",{"image":612,"caption":616,"place":570},{"url":613,"alt":614,"width":291,"height":615},"https:\u002F\u002Fcloud.codevast.com\u002Fnews-articles\u002F1\u002Ffeatured\u002F12\u002F9a57427af1614a9693c575693d0e5f00_20260112_000655.jpg","Coffee bar in Hanoi",3838,"Coffee, Hanoi",{"image":618,"caption":621,"place":547},{"url":619,"alt":620,"width":291,"height":133},"https:\u002F\u002Fcloud.codevast.com\u002Fnews-articles\u002F1\u002Ffeatured\u002F14\u002Fc09344b25b034248b07127b816759d50_20260112_011734.jpg","Songkran water fight","Songkran",{"image":623,"caption":628,"place":534},{"url":624,"alt":625,"width":626,"height":627},"https:\u002F\u002Fcloud.codevast.com\u002Fnews-articles\u002F1\u002Ffeatured\u002F9\u002F7ac01598932940f6921319dfbc106a2e_20260111_235109.jpg","Cabongaoan beach",2464,1632,"Cabongaoan",{"image":630,"caption":634,"place":575},{"url":631,"alt":632,"width":133,"height":633},"https:\u002F\u002Fcloud.codevast.com\u002Fpages\u002F1\u002Ffeatured\u002F5\u002Fc94d1a0fb21f4cdfaf3e5c5ddb06a7d8_20260111_220639.jpg","Rooftops on a hillside",2250,"Rooftops"]