<?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: Leon Hardman</title>
    <description>The latest articles on DEV Community by Leon Hardman (@leon_hardman_31e7df2643d9).</description>
    <link>https://dev.to/leon_hardman_31e7df2643d9</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3895624%2F4bafb785-f826-428f-9560-2b98dbe63958.png</url>
      <title>DEV Community: Leon Hardman</title>
      <link>https://dev.to/leon_hardman_31e7df2643d9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/leon_hardman_31e7df2643d9"/>
    <language>en</language>
    <item>
      <title>I Built a Passport Photo Maker Because a Visa Photo Took Me Two Hours</title>
      <dc:creator>Leon Hardman</dc:creator>
      <pubDate>Sun, 26 Apr 2026 04:07:04 +0000</pubDate>
      <link>https://dev.to/leon_hardman_31e7df2643d9/i-built-a-passport-photo-maker-because-a-visa-photo-took-me-two-hours-kle</link>
      <guid>https://dev.to/leon_hardman_31e7df2643d9/i-built-a-passport-photo-maker-because-a-visa-photo-took-me-two-hours-kle</guid>
      <description>&lt;p&gt;A few months ago, I was preparing for a New Year trip to Vietnam.&lt;/p&gt;

&lt;p&gt;The flight was booked. The hotel was booked. The only thing I had left until the last minute was the visa.&lt;/p&gt;

&lt;p&gt;I thought it would be a quick online form. So I went to a coffee shop, opened my laptop, and expected to finish everything in one sitting.&lt;/p&gt;

&lt;p&gt;Then the photo upload step stopped me for almost two hours.&lt;/p&gt;

&lt;p&gt;The e-visa photo had all the usual requirements: the right size, the right file dimensions, the right background, the right head position, the right crop. I am not a Photoshop person, so I kept asking AI for help, adjusting the image, exporting it, uploading it, failing, and trying again.&lt;/p&gt;

&lt;p&gt;When it finally worked, I wrote a note to myself in flomo: this was so hard it felt like one of the hardest things in the world.&lt;/p&gt;

&lt;p&gt;Obviously, that was dramatic. But the frustration was real.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Passport Size Photo&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://passportsizephoto.net" rel="noopener noreferrer"&gt;https://passportsizephoto.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is a web app for creating passport and visa photos online, with country-specific presets, in-browser previews, and digital or 4x6 print-ready exports.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this problem is annoying
&lt;/h2&gt;

&lt;p&gt;Passport photos look simple from the outside. It is just a face on a plain background.&lt;/p&gt;

&lt;p&gt;But the moment you try to make one yourself, the details start piling up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different countries use different photo sizes.&lt;/li&gt;
&lt;li&gt;Some documents need 2x2 inches, others need 35x45 mm, 33x48 mm, 50x70 mm, or another format.&lt;/li&gt;
&lt;li&gt;The background needs to be clean, often white or light grey.&lt;/li&gt;
&lt;li&gt;The head needs to be centered.&lt;/li&gt;
&lt;li&gt;The eyes need to be visible.&lt;/li&gt;
&lt;li&gt;The photo needs enough resolution for printing or digital upload.&lt;/li&gt;
&lt;li&gt;If you need physical photos, you probably want a 4x6 sheet so you can print it cheaply at a kiosk or photo printer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can solve all of this with a professional photo studio, but that usually means traveling somewhere, waiting, and paying more than the task feels worth.&lt;/p&gt;

&lt;p&gt;You can also solve it with Photoshop, Canva, or a generic image editor, but then you have to research the exact requirements and manually apply them.&lt;/p&gt;

&lt;p&gt;The actual job people want done is much simpler:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I already have a photo. Please make it the correct official format.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is the product.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Passport Size Photo does
&lt;/h2&gt;

&lt;p&gt;The current flow is intentionally straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose a passport or visa preset.&lt;/li&gt;
&lt;li&gt;Upload a clear photo.&lt;/li&gt;
&lt;li&gt;Preview the crop, background, and face position.&lt;/li&gt;
&lt;li&gt;Export the result as a digital image or a 4x6 print sheet.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The app is built around the mistakes that usually cause rejection or rework:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wrong outer dimensions&lt;/li&gt;
&lt;li&gt;Wrong aspect ratio&lt;/li&gt;
&lt;li&gt;Bad crop&lt;/li&gt;
&lt;li&gt;Background issues&lt;/li&gt;
&lt;li&gt;Face position problems&lt;/li&gt;
&lt;li&gt;Missing print layout&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, a user can choose a U.S. 2x2 passport photo, a UK 35x45 mm photo, a China 33x48 mm visa photo, or another country preset without manually calculating the crop.&lt;/p&gt;

&lt;p&gt;The output is designed for practical use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A digital file for online forms&lt;/li&gt;
&lt;li&gt;A 300 DPI export for print quality&lt;/li&gt;
&lt;li&gt;A 4x6 print sheet for pharmacies, kiosks, or home printers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I do not want the tool to feel like a photo editor. I want it to feel like a checklist that quietly handles the image rules for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The most important product decision
&lt;/h2&gt;

&lt;p&gt;The most important decision was to make the preview useful before payment.&lt;/p&gt;

&lt;p&gt;When people prepare official document photos, the stressful part is uncertainty. They are not asking, "Can I make this image prettier?" They are asking, "Will this format work?"&lt;/p&gt;

&lt;p&gt;So the product needs to show the crop and background clearly before the user commits to exporting.&lt;/p&gt;

&lt;p&gt;That changed the way I thought about the UI. It should not be a gallery, a design canvas, or a creative editing tool. It should be a focused workspace:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the document type&lt;/li&gt;
&lt;li&gt;Select the country&lt;/li&gt;
&lt;li&gt;Upload the photo&lt;/li&gt;
&lt;li&gt;Review the result&lt;/li&gt;
&lt;li&gt;Download only when it looks right&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Small utilities win by removing decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who I built it for
&lt;/h2&gt;

&lt;p&gt;I started with my own visa problem, but the use cases expanded quickly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Travelers and expats who need different country formats&lt;/li&gt;
&lt;li&gt;International students applying under deadline pressure&lt;/li&gt;
&lt;li&gt;Parents taking passport photos for babies or children at home&lt;/li&gt;
&lt;li&gt;Remote workers who need document photos while living abroad&lt;/li&gt;
&lt;li&gt;Anyone who needs a photo at night when studios are closed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The baby passport photo use case is especially interesting. Going to a studio with a baby is hard. Taking many photos at home and choosing the best one is much less stressful.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned while building it
&lt;/h2&gt;

&lt;p&gt;The biggest lesson is that "simple" tools are often simple only after the product makes many decisions for the user.&lt;/p&gt;

&lt;p&gt;For this product, the complexity is hidden in things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Country-specific dimensions&lt;/li&gt;
&lt;li&gt;Background color expectations&lt;/li&gt;
&lt;li&gt;File size and resolution constraints&lt;/li&gt;
&lt;li&gt;Crop ratios&lt;/li&gt;
&lt;li&gt;Print layouts&lt;/li&gt;
&lt;li&gt;Accepted and rejected example guidance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of those pieces are exciting on their own. But together they turn a frustrating task into a predictable flow.&lt;/p&gt;

&lt;p&gt;I also learned that small real-world problems make good products because the pain is easy to remember. I did not have to invent a persona or imagine a fake workflow. I had the exact moment: sitting in a coffee shop, trying to upload a visa photo, wondering why this tiny task was consuming my afternoon.&lt;/p&gt;

&lt;p&gt;That memory kept the product focused.&lt;/p&gt;

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

&lt;p&gt;I am still improving Passport Size Photo.&lt;/p&gt;

&lt;p&gt;Some things I want to make better:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More country and document presets&lt;/li&gt;
&lt;li&gt;Clearer guidance for common rejection reasons&lt;/li&gt;
&lt;li&gt;Better support for babies and children&lt;/li&gt;
&lt;li&gt;Faster background handling&lt;/li&gt;
&lt;li&gt;More localized pages for different markets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to make a heavy image editor. The goal is to make official photo preparation feel boring in the best way: predictable, fast, and hard to mess up.&lt;/p&gt;

&lt;p&gt;If you ever need a passport or visa photo, you can try it here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://passportsizephoto.net" rel="noopener noreferrer"&gt;https://passportsizephoto.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would love feedback from other builders:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does the product positioning make sense?&lt;/li&gt;
&lt;li&gt;Is the first-use flow clear?&lt;/li&gt;
&lt;li&gt;What would you expect from a tool like this before trusting the export?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for reading.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>buildinpublic</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
