<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: gan liu</title>
    <description>The latest articles on DEV Community by gan liu (@gavinbuilds).</description>
    <link>https://dev.to/gavinbuilds</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4005337%2F40ddbbec-5b29-4f5f-8679-7709b6edef84.png</url>
      <title>DEV Community: gan liu</title>
      <link>https://dev.to/gavinbuilds</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gavinbuilds"/>
    <language>en</language>
    <item>
      <title>I Built a Free HEIC Converter and Live Photo Toolkit That Runs Entirely in Your Browser</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:43:01 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/i-built-a-free-heic-converter-and-live-photo-toolkit-that-runs-entirely-in-your-browser-3l3l</link>
      <guid>https://dev.to/gavinbuilds/i-built-a-free-heic-converter-and-live-photo-toolkit-that-runs-entirely-in-your-browser-3l3l</guid>
      <description>&lt;p&gt;Apple makes great hardware and software. But they also make file formats that do not play well with anything outside the Apple ecosystem. I built &lt;a href="https://livephotokit.com" rel="noopener noreferrer"&gt;livephotokit.com&lt;/a&gt; to solve one specific version of this problem: Live Photos and HEIC files.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two tools in one
&lt;/h2&gt;

&lt;p&gt;LivePhotoKit does two things that usually require separate apps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HEIC Converter&lt;/strong&gt;: Convert HEIC images to JPG or PNG. HEIC is Apple's default photo format since iOS 11. It saves space with better compression than JPEG, but most non-Apple software cannot open it. The converter handles single files or batch conversion, all in your browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Photo Tools&lt;/strong&gt;: Extract still frames from Apple Live Photos, play them as video, or convert the MOV component to MP4. Live Photos are actually a paired HEIC image and MOV video file. The tool lets you view and extract both parts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Privacy first
&lt;/h2&gt;

&lt;p&gt;Everything runs client-side in your browser. Your photos never leave your device. No upload to a server, no cloud processing, no account needed. This matters because photos are personal. You should not have to trust a random website with your camera roll just to convert a file format.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else it does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HEIC Viewer&lt;/strong&gt;: open and preview HEIC files directly in the browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open LIVP&lt;/strong&gt;: handle the LIVP format used by iPhone Live Photos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Compressor&lt;/strong&gt;: resize and compress images for web or email&lt;/li&gt;
&lt;li&gt;Free, no ads, no watermarks on output files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try it at &lt;a href="https://livephotokit.com" rel="noopener noreferrer"&gt;livephotokit.com&lt;/a&gt;. Drop any HEIC or Live Photo file and see the result instantly.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>apple</category>
    </item>
    <item>
      <title>How I Built a Meeting Time Zone Planner for Remote Teams With Zero Sign-Up</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:42:56 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/how-i-built-a-meeting-time-zone-planner-for-remote-teams-with-zero-sign-up-23j7</link>
      <guid>https://dev.to/gavinbuilds/how-i-built-a-meeting-time-zone-planner-for-remote-teams-with-zero-sign-up-23j7</guid>
      <description>&lt;p&gt;Remote teams have one recurring headache: figuring out when everyone is actually awake. I built &lt;a href="https://zoneplan.net" rel="noopener noreferrer"&gt;zoneplan.net&lt;/a&gt; to solve this in under 30 seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;You have teammates in New York, London, Bangalore, and Tokyo. Someone suggests a meeting at "2 PM my time." Now everyone has to mentally calculate or Google "2 PM EST to IST." Half the team gets it wrong. Someone joins at 2 AM their time.&lt;/p&gt;

&lt;h2&gt;
  
  
  How ZonePlan fixes this
&lt;/h2&gt;

&lt;p&gt;Add each person's city to the planner. Slide the time bar. Green means everyone is awake. Red means someone is sleeping. You find a meeting time that works for all time zones in seconds, not minutes of back-and-forth messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else it does
&lt;/h2&gt;

&lt;p&gt;Beyond the meeting planner, ZonePlan includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;World Clock&lt;/strong&gt;: track 20+ cities with live time, date, and daylight saving status&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time Zone Converter&lt;/strong&gt;: convert any time between any two zones with one click&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Abbreviation database&lt;/strong&gt;: EST, IST, PST, GMT, UTC and dozens more with current offsets&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remote team scenarios&lt;/strong&gt;: Daily standup templates, cross-continent client meeting finders&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Built for distributed teams
&lt;/h2&gt;

&lt;p&gt;No login, no app install, no account. Open the URL, add cities, find a time. Works on mobile when you are messaging your team from the couch.&lt;/p&gt;

&lt;p&gt;The site uses IANA time zone data and handles daylight saving time transitions automatically. You do not need to know whether London is on GMT or BST right now. The tool handles it.&lt;/p&gt;

&lt;p&gt;Free at &lt;a href="https://zoneplan.net" rel="noopener noreferrer"&gt;zoneplan.net&lt;/a&gt;. I built it because my own remote team spent way too much time on "what time is it for you" messages.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>remote</category>
    </item>
    <item>
      <title>I Made a Free Invoice Generator for Freelancers That Works Offline in Your Browser</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:38:05 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/i-made-a-free-invoice-generator-for-freelancers-that-works-offline-in-your-browser-41cg</link>
      <guid>https://dev.to/gavinbuilds/i-made-a-free-invoice-generator-for-freelancers-that-works-offline-in-your-browser-41cg</guid>
      <description>&lt;p&gt;Freelancers and small business owners spend too much time on invoices. I built &lt;a href="https://invoicepad.net" rel="noopener noreferrer"&gt;invoicepad.net&lt;/a&gt; to make creating professional invoices as fast as filling out a form.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why another invoice tool
&lt;/h2&gt;

&lt;p&gt;Most free invoice tools have catches. Watermarks, page limits, forced sign-ups, or they store your client data on their servers. Some free tiers let you create three invoices then lock you out.&lt;/p&gt;

&lt;p&gt;invoicepad.net does none of that. No sign-up, no account, no email collection. No watermark on your PDF. Unlimited invoices, completely free. All data stays in your browser. Works offline once loaded.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Fill in your business details once. Add line items with descriptions, quantities, and rates. The tool calculates totals, tax, and discounts automatically. Export as a clean PDF ready to send to clients. The invoice template is professional but minimal. Your client sees your logo, your terms, and the numbers. No branding from the tool itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built for freelancers
&lt;/h2&gt;

&lt;p&gt;I built this after watching freelancer friends struggle with invoice tools that either cost too much or looked unprofessional. The goal was simple: fill in the blanks, download the PDF, send it. Three minutes from start to sent.&lt;/p&gt;

&lt;p&gt;Try it at &lt;a href="https://invoicepad.net" rel="noopener noreferrer"&gt;invoicepad.net&lt;/a&gt;. Would love feedback from other freelancers on what would make it more useful for your workflow.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>freelancing</category>
    </item>
    <item>
      <title>I Built a Dog Vaccine Schedule Tool With Breed-Specific Timelines for New Puppy Owners</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:37:44 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/i-built-a-dog-vaccine-schedule-tool-with-breed-specific-timelines-for-new-puppy-owners-1gdo</link>
      <guid>https://dev.to/gavinbuilds/i-built-a-dog-vaccine-schedule-tool-with-breed-specific-timelines-for-new-puppy-owners-1gdo</guid>
      <description>&lt;p&gt;Getting a new puppy is exciting and overwhelming. One of the first things you need to figure out is vaccinations: which shots, at what age, and in what order. I built &lt;a href="https://pupvax.com" rel="noopener noreferrer"&gt;pupvax.com&lt;/a&gt; to make this clear.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with vaccine schedules
&lt;/h2&gt;

&lt;p&gt;Every vet gives slightly different advice. Online forums are full of conflicting information. And the paper handout from your breeder gets lost on day two.&lt;/p&gt;

&lt;p&gt;pupvax.com gives you a clear, breed-specific vaccine timeline. Enter your puppy's age and breed to see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Core vaccines required for all dogs (rabies, distemper, parvovirus, adenovirus)&lt;/li&gt;
&lt;li&gt;Non-core vaccines based on lifestyle and location (Lyme, bordetella, leptospirosis)&lt;/li&gt;
&lt;li&gt;Age-appropriate timing for each shot in the series&lt;/li&gt;
&lt;li&gt;Booster reminders and adult dog schedules&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Breed-specific pages
&lt;/h2&gt;

&lt;p&gt;Different breeds have different health considerations. A Labrador has different risks than a Chihuahua. The site includes breed-specific vaccine schedules that account for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Breed size and growth rate&lt;/li&gt;
&lt;li&gt;Common breed health predispositions&lt;/li&gt;
&lt;li&gt;Lifestyle factors (working dogs vs companion dogs)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  For senior dogs too
&lt;/h2&gt;

&lt;p&gt;Puppy shots get all the attention, but senior dogs need vaccine management too. The site covers titer testing as an alternative to automatic boosters and which vaccines older dogs may not need.&lt;/p&gt;

&lt;p&gt;Built with Next.js, runs entirely in the browser. No sign-up, no data collection. Free at &lt;a href="https://pupvax.com" rel="noopener noreferrer"&gt;pupvax.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Disclaimer: This is a reference tool. Always consult your veterinarian for your dog's specific vaccine plan.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Built a Free TDEE Calculator That Actually Explains Every Number</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:37:34 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/i-built-a-free-tdee-calculator-that-actually-explains-every-number-3c8h</link>
      <guid>https://dev.to/gavinbuilds/i-built-a-free-tdee-calculator-that-actually-explains-every-number-3c8h</guid>
      <description>&lt;p&gt;Tracking what you eat is the first step to any fitness goal. But most calorie calculators either oversimplify or drown you in ads. I built &lt;a href="https://freetdee.com" rel="noopener noreferrer"&gt;freetdee.com&lt;/a&gt; to be the calculator I actually wanted to use.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it calculates
&lt;/h2&gt;

&lt;p&gt;TDEE (Total Daily Energy Expenditure) is how many calories you burn in a day. Once you know that number, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eat below it to lose weight&lt;/li&gt;
&lt;li&gt;Eat at it to maintain&lt;/li&gt;
&lt;li&gt;Eat above it to build muscle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The calculator uses the Mifflin-St Jeor equation, which is the most accurate formula for estimating basal metabolic rate without lab equipment. Then it multiplies by your activity level to get TDEE.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond just one number
&lt;/h2&gt;

&lt;p&gt;What most calculators do not tell you is the breakdown. freetdee gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BMR (Basal Metabolic Rate): what your body burns at complete rest&lt;/li&gt;
&lt;li&gt;TDEE at five activity levels from sedentary to athlete&lt;/li&gt;
&lt;li&gt;Macro split: how many grams of protein, carbs, and fat you need&lt;/li&gt;
&lt;li&gt;Calorie deficit planner: how fast you will reach your goal at different deficits&lt;/li&gt;
&lt;li&gt;BMI and protein intake recommendations&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Privacy by design
&lt;/h2&gt;

&lt;p&gt;All calculations run in your browser. No data is sent anywhere. No account, no email, no tracking. Your weight and goals stay on your device.&lt;/p&gt;

&lt;p&gt;The tool is completely free at &lt;a href="https://freetdee.com" rel="noopener noreferrer"&gt;freetdee.com&lt;/a&gt;. I built it because fitness calculators should be tools, not marketing funnels.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>health</category>
    </item>
    <item>
      <title>I Built a Baby Growth Percentile Calculator Using WHO and CDC Reference Data</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:20:04 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/i-built-a-baby-growth-percentile-calculator-using-who-and-cdc-reference-data-3nh7</link>
      <guid>https://dev.to/gavinbuilds/i-built-a-baby-growth-percentile-calculator-using-who-and-cdc-reference-data-3nh7</guid>
      <description>&lt;p&gt;Pediatricians use growth charts to track how babies are growing. But reading those charts is not intuitive. I built &lt;a href="https://babypercent.com" rel="noopener noreferrer"&gt;babypercent.com&lt;/a&gt; to make percentile calculations clear for parents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why growth percentiles matter
&lt;/h2&gt;

&lt;p&gt;When a doctor says your baby is in the 75th percentile for weight, what does that actually mean? It means out of 100 babies of the same age and sex, 74 weigh less and 25 weigh more. The number itself is not good or bad. It is just a reference point.&lt;/p&gt;

&lt;p&gt;But here is the thing: most parents never see the raw numbers behind the percentile. They hear a number and either worry or feel relieved without understanding the context.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the calculator works
&lt;/h2&gt;

&lt;p&gt;The tool uses WHO child growth standards for ages 0 to 24 months and CDC reference data for ages 2 to 20 years. You enter age, sex, weight, height, and optionally head circumference. The calculator returns percentiles and a visual chart showing where your child falls on the growth curve.&lt;/p&gt;

&lt;p&gt;Key design decisions: WHO data for the first two years because it represents optimal growth under ideal conditions. CDC data after age two because it reflects the actual US population distribution. No account needed, no data stored, works on mobile at the pediatrician office.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned about health data
&lt;/h2&gt;

&lt;p&gt;Medical reference data is surprisingly messy to work with. The WHO publishes LMS parameters (lambda, mu, sigma) that require statistical transformation to convert raw measurements into percentiles. The math is not hard but getting it right matters. A small error in the z-score calculation shifts the percentile by several points.&lt;/p&gt;

&lt;p&gt;The tool is free at &lt;a href="https://babypercent.com" rel="noopener noreferrer"&gt;babypercent.com&lt;/a&gt;. I built it because I wanted to understand my own kids' growth charts better. Hope it helps other parents too.&lt;/p&gt;

&lt;p&gt;Disclaimer: This is a reference tool, not medical advice. Talk to your pediatrician about your child's growth.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>health</category>
    </item>
    <item>
      <title>How I Built a Free Browser Tool to Open Apple iWork Files on Windows and Android</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:19:34 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/how-i-built-a-free-browser-tool-to-open-apple-iwork-files-on-windows-and-android-19k7</link>
      <guid>https://dev.to/gavinbuilds/how-i-built-a-free-browser-tool-to-open-apple-iwork-files-on-windows-and-android-19k7</guid>
      <description>&lt;p&gt;I got tired of asking friends with Macs to convert files for me. So I built &lt;a href="https://iworkviewer.com" rel="noopener noreferrer"&gt;iworkviewer.com&lt;/a&gt;, a free browser tool that opens Apple Pages, Numbers, and Keynote files on any device.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Someone sends you a .pages file. You are on Windows or Android. You cannot open it. You email them back asking for a PDF. It is awkward.&lt;/p&gt;

&lt;p&gt;Apple iWork files are actually ZIP archives containing preview images and structured data. The preview JPEG is easy to extract. The actual document content is a compressed Protobuf snapshot. That part is harder.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the tool works
&lt;/h2&gt;

&lt;p&gt;Everything runs in your browser. The file never leaves your device. No upload, no server, no account.&lt;/p&gt;

&lt;p&gt;The tool does two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Extracts the built-in preview image that every iWork file contains. This gives you a pixel-perfect view of what the document looks like, including fonts and layout.&lt;/li&gt;
&lt;li&gt;Parses the document structure to extract text, tables, and slide content where possible.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For most use cases (reading a resume, checking a proposal, reviewing slides), the preview is enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  The privacy angle
&lt;/h2&gt;

&lt;p&gt;A lot of file converter websites upload your document to their server. If it is a contract, an NDA, or a personal document, that is a real risk. This tool works entirely client-side with no server processing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is next
&lt;/h2&gt;

&lt;p&gt;Pages, Numbers, and Keynote support is done. I am working on better table extraction for Numbers spreadsheets. The current version gives you the raw data but the formatting is not great.&lt;/p&gt;

&lt;p&gt;Try it at &lt;a href="https://iworkviewer.com" rel="noopener noreferrer"&gt;iworkviewer.com&lt;/a&gt;. Drop any .pages, .numbers, or .key file and you will see the preview instantly.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What I Learned Generating 365 Static Pages for a USDA Planting Calendar</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:19:16 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/what-i-learned-generating-365-static-pages-for-a-usda-planting-calendar-4cnc</link>
      <guid>https://dev.to/gavinbuilds/what-i-learned-generating-365-static-pages-for-a-usda-planting-calendar-4cnc</guid>
      <description>&lt;p&gt;I built &lt;a href="https://plantingcalendar.net" rel="noopener noreferrer"&gt;plantingcalendar.net&lt;/a&gt;, a free tool that generates a custom vegetable planting calendar for every USDA hardiness zone. Here is what I learned about static site generation at scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with most planting calendars
&lt;/h2&gt;

&lt;p&gt;Most online planting calendars give generic advice that ignores your actual climate. A gardener in Phoenix (Zone 9b) plants tomatoes in February. Someone in Minneapolis (Zone 4b) waits until May. One-size-fits-all advice is worse than no advice.&lt;/p&gt;

&lt;p&gt;So I built a tool that creates a unique 12-month calendar for each USDA zone, from Zone 3 to Zone 11.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generating 365 static pages
&lt;/h2&gt;

&lt;p&gt;Built with Next.js static site generation. The key challenge was not the code. It was the data.&lt;/p&gt;

&lt;p&gt;USDA extension office guidelines are scattered across dozens of .edu PDFs. Frost dates vary by microclimate, not just hardiness zone. Some vegetables like garlic have genuinely counterintuitive planting windows that do not match any standard formula.&lt;/p&gt;

&lt;p&gt;Each page is statically generated at build time with no database and no runtime API calls. This means near-instant page loads, zero server costs beyond the Cloudflare CDN, and fully crawlable SEO since all content lives in the HTML.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the numbers look like
&lt;/h2&gt;

&lt;p&gt;Three hundred and sixty five static pages covering every zone and vegetable combination. Twelve month planting tables with indoor start, transplant, and direct sow windows for each crop. Companion planting data and days to maturity on vegetable detail pages. All built in about four evenings with AI coding assistance.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would do differently next time
&lt;/h2&gt;

&lt;p&gt;Start with a smaller scope. Three hundred and sixty five pages takes real time to QA one page at a time. Normalize the USDA data before feeding it into the static generator instead of cleaning it on the fly. Add structured data like JSON-LD from day one because retrofitting it across hundreds of pages is genuinely tedious.&lt;/p&gt;

&lt;p&gt;If you garden or are just curious about how planting calendars work, try it at &lt;a href="https://plantingcalendar.net" rel="noopener noreferrer"&gt;plantingcalendar.net&lt;/a&gt;. I would love to hear what other data would make it more useful for actual gardeners.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>A Dog Vaccine Schedule Tracker With Breed-Specific Pages</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:38:31 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/a-dog-vaccine-schedule-tracker-with-breed-specific-pages-3l0f</link>
      <guid>https://dev.to/gavinbuilds/a-dog-vaccine-schedule-tracker-with-breed-specific-pages-3l0f</guid>
      <description>&lt;p&gt;Every vet gives slightly different vaccine advice. I built a reference tool that shows the standard puppy, adult, and senior dog vaccine schedules, with breed-specific pages for popular breeds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complete puppy vaccine schedule by age (6-8 weeks through 16-18 weeks)&lt;/li&gt;
&lt;li&gt;Adult and senior dog booster schedules&lt;/li&gt;
&lt;li&gt;Breed-specific vaccine pages: Labrador, Golden Retriever, German Shepherd, and more&lt;/li&gt;
&lt;li&gt;Titer testing info as an alternative to automatic boosters&lt;/li&gt;
&lt;li&gt;36 static pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data sources:&lt;/strong&gt; AAHA Canine Vaccination Guidelines and WSAVA guidelines. I am not a vet, this is a reference tool, not medical advice.&lt;/p&gt;

&lt;p&gt;?? &lt;strong&gt;Check it out:&lt;/strong&gt; &lt;a href="https://pupvax.com" rel="noopener noreferrer"&gt;pupvax.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built over a weekend. The breed-specific routing was a fun challenge with Next.js dynamic routes.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>A Baby Growth Percentile Calculator Using WHO and CDC Reference Data</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:37:26 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/a-baby-growth-percentile-calculator-using-who-and-cdc-reference-data-56e2</link>
      <guid>https://dev.to/gavinbuilds/a-baby-growth-percentile-calculator-using-who-and-cdc-reference-data-56e2</guid>
      <description>&lt;p&gt;New parents obsess over percentile numbers. I get it. I built a tool that plots your baby measurements against official WHO and CDC growth standards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Weight, height, and head circumference percentiles for ages 0-36 months&lt;/li&gt;
&lt;li&gt;Visual growth chart showing where your baby falls on the curve&lt;/li&gt;
&lt;li&gt;Uses WHO Child Growth Standards (0-24 months) and CDC reference data (24-36 months)&lt;/li&gt;
&lt;li&gt;35 pages, all pre-rendered for fast loading&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The hard part:&lt;/strong&gt; Parsing the WHO growth standard tables into usable JSON. Those tables are dense and not designed for programmatic use. That took more time than building the actual calculator UI.&lt;/p&gt;

&lt;p&gt;?? &lt;strong&gt;Try it:&lt;/strong&gt; &lt;a href="https://babypercent.com" rel="noopener noreferrer"&gt;babypercent.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built with Next.js, no database, no tracking. Just a calculator that respects your privacy.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>javascript</category>
      <category>health</category>
    </item>
    <item>
      <title>A TDEE Calculator That Actually Explains Every Number</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:37:19 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/a-tdee-calculator-that-actually-explains-every-number-ac6</link>
      <guid>https://dev.to/gavinbuilds/a-tdee-calculator-that-actually-explains-every-number-ac6</guid>
      <description>&lt;p&gt;Most TDEE calculators just spit out a number and leave you guessing. I wanted one that shows the math behind every metric and explains what it actually means for your goals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TDEE (Total Daily Energy Expenditure) with all 3 major formulas: Mifflin-St Jeor, Harris-Benedict, Katch-McArdle&lt;/li&gt;
&lt;li&gt;BMR, macro split, calorie deficit calculator, protein intake estimator&lt;/li&gt;
&lt;li&gt;Each result includes plain-English explanations, not just numbers&lt;/li&gt;
&lt;li&gt;43 static pages covering every calculator variant&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why I built it:&lt;/strong&gt; I was tracking my own calories and kept bouncing between 5 different calculators. None of them explained the why behind the numbers. So I built one that does.&lt;/p&gt;

&lt;p&gt;?? &lt;strong&gt;Check it out:&lt;/strong&gt; &lt;a href="https://freetdee.com" rel="noopener noreferrer"&gt;freetdee.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All calorie formulas verified against published research. Built with Next.js, deployed on Cloudflare Pages.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>health</category>
      <category>javascript</category>
    </item>
    <item>
      <title>A Meeting Time Zone Planner That Does Not Make You Sign Up</title>
      <dc:creator>gan liu</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:36:33 +0000</pubDate>
      <link>https://dev.to/gavinbuilds/a-meeting-time-zone-planner-that-does-not-make-you-sign-up-10cb</link>
      <guid>https://dev.to/gavinbuilds/a-meeting-time-zone-planner-that-does-not-make-you-sign-up-10cb</guid>
      <description>&lt;p&gt;Remote calls across 5 time zones are painful. I kept opening other time zone tools and getting annoyed by the ads and sign-up prompts. So I built a clean alternative.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compare up to 6 time zones side by side in real time&lt;/li&gt;
&lt;li&gt;Built-in meeting planner with "fair meeting time" suggestions that avoid midnight for anyone&lt;/li&gt;
&lt;li&gt;Common time zone abbreviations covered: EST to IST, PST to GMT, CST to UTC, and 89 more&lt;/li&gt;
&lt;li&gt;92 static SEO-friendly pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tech:&lt;/strong&gt; Next.js + JavaScript Intl.DateTimeFormat. Entirely client-side, no backend, no database. Time zone math is surprisingly complex once you account for DST transitions.&lt;/p&gt;

&lt;p&gt;?? &lt;strong&gt;Try it:&lt;/strong&gt; &lt;a href="https://zoneplan.net" rel="noopener noreferrer"&gt;zoneplan.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built this in about 3 days. The meeting planner page is the one I actually use daily now for scheduling calls across US/India/Europe.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
