{"id":6886,"date":"2025-04-30T20:13:48","date_gmt":"2025-05-01T04:13:48","guid":{"rendered":"https:\/\/nicknguyen.com\/?p=6886"},"modified":"2025-05-01T16:52:05","modified_gmt":"2025-05-02T00:52:05","slug":"custom-dating-ai","status":"publish","type":"post","link":"https:\/\/nicknguyen.com\/old\/custom-dating-ai\/","title":{"rendered":"Training AI what I like, and then have it swipe for me."},"content":{"rendered":"\r\n<p>Had some time, so I figured Id train my first AI model\u2014to see if I could teach a computer what I\u2019m into and let it swipe for me on dating apps.<\/p>\r\n<p>How I Taught My AI to Swipe Right for Me<br \/>So I got tired of dating apps sucking up my time. Endless swiping? Nope. I decided to outsource my type&#8230; to AI.<br \/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nicknguyen.com\/wp-content\/uploads\/2025\/04\/2041Tinderphotos-1024x525.jpg\" alt=\"\" width=\"1024\" height=\"525\" \/><br \/>Step 1: Borrowed Some Faces<br \/>First, I grabbed about 2,200 images from a dating site. Don\u2019t worry, it&#8217;s for science. These were going to be my model\u2019s brain food.<br \/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nicknguyen.com\/wp-content\/uploads\/2025\/04\/labeling-1024x576.jpg\" alt=\"\" width=\"1024\" height=\"576\" \/><br \/>Step 2: Labeled for Love<br \/>Next, I split the photos into two folders:<br \/>\ud83d\udd25 Hot and \ud83d\udeab Not.<br \/>This part was personal\u2014and brutally honest. But hey, the model\u2019s gotta know what I like.<br \/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nicknguyen.com\/wp-content\/uploads\/2025\/04\/greyscale_persondetect-1024x455.jpg\" alt=\"\" width=\"1024\" height=\"455\" \/><br \/>Step 3: Cleaned It Up<br \/>Before feeding the images to the machine, I used TensorFlow to clean them. I detected the face, cropped out the noise, and converted everything to grayscale.<br \/>Less distraction. More learning.<br \/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nicknguyen.com\/wp-content\/uploads\/2025\/04\/IMG_9482.jpg\" alt=\"\" width=\"640\" height=\"360\" \/><br \/>Step 4: Made It Smart<br \/>Time to train the model. Python + TensorFlow = magic.<br \/>After a few training cycles, it could tell what I find attractive with scary accuracy. Like, better-than-my-friends accuracy.<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nicknguyen.com\/wp-content\/uploads\/2025\/04\/IMG_9485.jpg\" alt=\"\" width=\"640\" height=\"360\" \/><\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nicknguyen.com\/wp-content\/uploads\/2025\/04\/IMG_9486.jpg\" alt=\"\" width=\"640\" height=\"360\" \/><br \/>Step 5: Let It Swipe<br \/>Now the fun part: action.<br \/>I connected it to a stream of dating profiles, and it started rating them on my behalf.<br \/>High score? Like.<br \/>Low score? Pass.<br \/>Easy. Efficient. Kind of weird? Sure. But it works.<\/p>\r\n<p>This isn\u2019t just a tech flex. It\u2019s a reminder of what\u2019s possible when you mix passion, Python, and a pinch of narcissism. \ud83d\ude0e<\/p>\r\n<p>Want to build your own personalized AI or automate something smarter?<br \/>Get in touch with InternetTechnologyServices.com or hit up Nick Nguyen\u2014yes, that\u2019s me. Let\u2019s build something that thinks like you do.<\/p>\r\n<p>And yes, my AI still swipes on the weekends. \ud83d\udc98<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>I built a machine learning model that knows my type. Using TensorFlow, Python, and a few thousand dating profiles, I taught an AI to swipe for me. From labeling \u201chot\u201d or \u201cnot\u201d to training and deploying the model\u2014here\u2019s how it all went down. Spoiler: it works.<\/p>\n","protected":false},"author":1,"featured_media":6908,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1,151,158,162],"tags":[],"class_list":["post-6886","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all","category-how-to","category-personal-projects","category-technology"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/nicknguyen.com\/old\/wp-content\/uploads\/2025\/04\/00x1200.webp","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/posts\/6886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/comments?post=6886"}],"version-history":[{"count":6,"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/posts\/6886\/revisions"}],"predecessor-version":[{"id":6909,"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/posts\/6886\/revisions\/6909"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/media\/6908"}],"wp:attachment":[{"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/media?parent=6886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/categories?post=6886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nicknguyen.com\/old\/wp-json\/wp\/v2\/tags?post=6886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}