Blog

Build logs, tutorials, and lessons learned.

I'm Only Building Dead Simple Apps From Now On

I opened Bloons TD to play a quick round and closed it without playing. Four modals appeared before I could see the homescreen. From now on, my apps do one thing.

indie-dev product design

How to Book Connecting Flights Without Ruining Your Trip

A practical guide to picking layovers that actually work, from minimum connection times to carry-on traps that can wreck your plans at the gate.

travel-tips flights layovers

15 Countries Where Your US Plug Fits but the Voltage Doesn't

Your US-shaped plug fits the wall in 15 countries that run on 230V. Your hair dryer expects 110V. The plug fits. The voltage cooks the device.

travel electronics packing

I Checked 21 Airline Pet Fees. The Spread Is $74 to $300.

Round-trip in-cabin pet fees range from $74 on WestJet to $300 on United and American. Same pet, same cabin, 4x price difference depending on the airline.

airlines pets travel

Building a Travel Power Adapter Tool with Claude in a Weekend

How I turned leftover destination data into a 221-country power adapter finder with plug types and voltage comparison. The first version was unusable.

astro devlog built-with-claude
I tested the 'avoid August' rule against 67 destinations

I tested the 'avoid August' rule against 67 destinations

22 of 23 European cities hit peak crowd in August. But 16 destinations globally sit at low crowd. The dataset, the chart, and the cities that break the rule.

data destinations travel

I checked carry-on rules at 75 airlines. The carry-on wasn't the trap.

Across 75 airlines, 24 don't publish personal item dimensions and the 51 that do range threefold in size. The bag you tuck under the seat is where the rules go quiet and the gate agents get strict.

data airlines carry-on

Building a Layover Calculator That Knows Every Terminal at JFK

How I built a connection time calculator covering 70 airports with pairwise terminal transfers, customs buffers, and a five-factor assessment algorithm, then spent half the day fixing dark mode.

astro javascript travel-tools

Forbes Featured the Vientapps Carry-On Tools

Forbes travel columnist Christopher Elliott featured the Vientapps carry-on size and bag fit checker tools in his Summer 2026 Digital Survival Kit. A short note on what got cited and how we source airline policy data.

press milestones travel-tools
I Let Claude Design My Homepage Hero and Shipped What It Built

I Let Claude Design My Homepage Hero and Shipped What It Built

I gave Claude Design six 'decide for me' answers and it came back with a three-layer canvas flight animation. Two concepts, one conversation, and the whole thing is live on my homepage now.

claude-design canvas javascript
Building a Checked Bag Fee Calculator Widget That Actually Computes

Building a Checked Bag Fee Calculator Widget That Actually Computes

How I built a framework-free fee calculator widget that computes overweight surcharges, estimates third bags, and sorts 75 airlines by total cost, all inside an iframe.

javascript travel-tools embeds
I Built a Free Embeddable Carry-On Size Widget for Travel Blogs

I Built a Free Embeddable Carry-On Size Widget for Travel Blogs

A free, zero-tracking carry-on size checker widget that any travel blog can embed in two lines of code. 75 airlines, auto-updating data, and full theme customization.

astro javascript travel-tools
I Replaced /usage and /context in Claude Code With a Single Statusline

I Replaced /usage and /context in Claude Code With a Single Statusline

You already run /usage and /context all day. This bash statusline puts both, plus your 5h reset time and working directory, at the bottom of every Claude Code prompt as colored progress bars. Exact script inside.

claude-code bash devlog
I Built a Dead Simple App Because Claude Code Couldn't Hear Me

I Built a Dead Simple App Because Claude Code Couldn't Hear Me

Claude Code on Bedrock doesn't expose a microphone. I type slowly. So I built an iOS app that transcribes speech and drops it straight to the clipboard.

react-native expo ios

Building the Carry-On and Personal Item Size Checkers

Two free tools that tell you whether your bag fits a given airline, built on a cited dataset of 50 carriers sourced from official policy pages, orientation-agnostic math, and a single JSON file.

astro typescript travel-tools

I Built a Media Kit Generator Because a Creator Asked Me To

A content creator needed a media kit PDF. Every tool I found wanted a monthly subscription. So I built one that's free, no signup, and generates a polished one-pager in under 60 seconds.

next-js jspdf cloudflare-workers

I Built an API Cost Tracker and Then Couldn't Ship It

BurnRate was supposed to be a unified dashboard for Anthropic and OpenAI spend. It worked great, until I realized the keys it needed could do a lot more than just read.

next-js typescript cloudflare-workers
I Built an SEO Scanner That Actually Checks if AI Can Find You

I Built an SEO Scanner That Actually Checks if AI Can Find You

Lighthouse doesn't check if ChatGPT can crawl your site. So I built ShipReady, an SEO and AEO scanner that audits your site for the age of answer engines.

astro cloudflare-workers seo
I Built an AI Trading Bot That Watches Trump's Truth Social Posts

I Built an AI Trading Bot That Watches Trump's Truth Social Posts

Paper trading worked great. Real markets taught me that latency kills everything.

python anthropic ai

Building PackSmart: An AI Packing List Generator That Actually Checks the Weather

How I built a free AI-powered packing list tool as part of the Vientapps travel ecosystem, and what I learned about wrangling LLM output into reliable JSON.

next-js ai cloudflare
Building SumTrails: A Daily Puzzle Game Where the Generator Was the Real Puzzle

Building SumTrails: A Daily Puzzle Game Where the Generator Was the Real Puzzle

I built a daily number-path puzzle game because I wanted one to play. Turns out, generating good puzzles is exponentially harder than solving them.

react-native expo typescript

Why I Moved a Client Site Off an AI Builder and Rebuilt It From Scratch

LandingSite AI got Griffin Renovation online fast, but SEO limits and vendor lock-in pushed me to rebuild the whole thing in plain HTML, CSS, and JavaScript.

html tailwind seo
Building a Website for a 40-Year-Old Hair Salon With Zero Online Presence

Building a Website for a 40-Year-Old Hair Salon With Zero Online Presence

A local salon in Smithfield, Utah had been cutting hair for four decades without a website. Here's how I built one from scratch with vanilla HTML, CSS, and JS.

html css javascript
Building Roamly: AI-Powered Group Travel Planning

Building Roamly: AI-Powered Group Travel Planning

How I turned the frustration of planning a trip with friends into a full-stack app that uses Claude AI to find destinations everyone can actually agree on.

next-js supabase ai

I Built a Pipeline to Generate YouTube Shorts Programmatically

A TypeScript CLI that takes a script and spits out a finished YouTube Short using Claude, Fal.ai, ElevenLabs, and FFmpeg — no video editor required.

devlog typescript ai

I Built a WoW Addon to Automate My Portal Business

How selling mage portals for gold in WoW Classic led to writing Lua, fighting the minimap API, and learning why Trade chat is a disaster for pattern matching.

lua world-of-warcraft wow-addon
I Built a Chrome Extension That Tells Jokes (4,600 People Use It)

I Built a Chrome Extension That Tells Jokes (4,600 People Use It)

How a simple joke extension became a TypeScript learning project, a monetization experiment, and somehow one of the more successful things I've shipped.

chrome-extension typescript vite

I Shipped a Client Site in an Afternoon Using an AI Builder

A renovation company needed a website fast. I used LandingSite.ai to go from nothing to live in a few hours, and here's what actually worked.

no-code ai-tools web-design

I Built Smoke or Fire: A React Native Card Game (That Apple Won't Let You Have)

How a party card game became a React Native + Firebase multiplayer app, the Firebase array normalization problem that almost broke multiplayer, and why the App Store kept saying no.

react-native expo typescript

Frequently Asked Questions

What topics does the Vientapps blog cover?

The blog covers build logs from shipping indie software, technical tutorials on web and mobile development, lessons learned from launching real products, and deep dives into tools and workflows for solo developers and small teams.

How often is the blog updated?

New posts are published regularly as we ship features, launch products, or discover techniques worth sharing. You can subscribe via RSS to get notified of every new post.