8 ms·
Show HN: A programmer's approach to finding gifts
Hey Folks,
I’ve been really annoyed with the search part of finding gifts.
It’s hard to use keyword search for something when it’s an “I’ll know it when I see it” kind of deal.
So I thought, what if we scraped/indexed TONS of products and then just focused on removing the things we don’t want and then see what’s left to see if there’s anything cool?
I built it in Flutter so it's both iOS and Android but it could be web too.
I’ve only just started the scraping/tagging of products and if anyone has suggestions for bulk tagging images/content I would love to hear them. That’s the current bottleneck.
Any feedback would be welcome!
cvanvlack AT gmail DOT com if you want to discuss 1-on-1.
- f0e4c2f7 4y agoLove the idea but would never make an account to try something like this - good luck!
- cvanvlack 4y agoThanks for the feedback! No account creation necessary. Just an app download. I know that with Flutter you can also make web apps so I'll see how hard it is to switch it to a web version to lower the barrier to entry even further.
- 0des 4y agoGot anything for folks with app fatigue? I don't use a smartphone.
- cvanvlack 4y agoI'll play with Flutter today and see how easy/hard it would be to add web. I know the formatting will be brutal once you switch to a desktop browser because the whole idiom for interaction changes. Maybe it won't suck too bad though...
- cheeze 4y agoEven on mobile, I'm not going to install an app unless I know it works well. Maybe it's possible to generate a webapp? Often, websites will offer a webapp with a funnel to try to get people to sign up for the actual app itself. Either way, GL. Keep building!
- cvanvlack 4y agoWeb app made! https://givetheperfectgift-app.web.app/ https://givetheperfectgift-app.web.app/
- 0des 4y ago> I know the formatting will be brutal once you switch to a desktop browser I use Lynx as my main, bring it.
- cvanvlack 4y ago&&&&& &&&% && &&&& &&% && &&&& & &&,& &&& &&&&& .&&&. &&&& %&&& &&& &&& &&&&&&&&&&&&&&&&&&&&&&&&& &&& &&& &&& &&&&&&&&&&&&&&&&&&&&&&& /&& &&& && /&& &&& && /&& &&& && &&% &&& &&& &&&&&&&&&&&&&&&&&&&
- Xc43 4y agoLove the concept. Having ported a Flutter mobile app to web before, it was simple. One feedback: The spacing between rows of content gets too big on my vertical pc screen. It seems to me you are trying to make one row take the whole height of the screen. Feel free to contact me, I would love to contribute. My email is in my profile :)
- deleted 4y ago[deleted]
- cvanvlack 4y agoAlright, now there's no account creation AND no app download. I had hoped using Flutter would pay off! I would only recommend trying on a mobile browser. The swiping doesn't work on desktop yet. https://givetheperfectgift-app.web.app/ https://givetheperfectgift-app.web.app/
- gboone 4y ago"Beets" = "what kind of friends does this guy have?" The show reference is super funny. Nice!
- raxxorraxor 4y agowhile (gift == null) gift = tryGetAny(giftShop, 1); // bug: programmer might never return ever Looks very interesting might give it a try. Honestly I would start to crawl the usual suspects like Amazon. You could even use the constraints as a search term. "gift male" might net you some results to start with and you could already classify the results respectively. And then maybe use the info from these articles to crawl more sites for similar stuff.
- cvanvlack 4y agoYeah, I am making my Amazon web crawler/scraper now. It’s the tags that are tricky. Regarding “gift male” I am actually going in the opposite direction. I want to stay away from generic and try to go unique. For instance, a few people have put in “3D Printing” as tags for their husbands so I have been scraping ideas that might be agnostic of the 3D printer model they have. Reddit has been a huge help! When you are getting a gift that's not for you, you're probably not into "their thing" nearly as much. So product discovery is kind of what you need.
- cjg 4y agoI really like this idea but I'm put off by having to enter lots of other people's personal information - particularly dates of birth - but also their interests. Limiting the date of birth to the year of birth might help - although I guess you want to be able to remind me when it's their birthday. Perhaps just don't remind me about that - I don't need that. Don't know if you can do this already, but being able to set a budget would be good.
- cvanvlack 4y agoYeah the video is a little old. I got that feedback a number of times and removed/made optional anything that a user might feel uncomfortable sharing. I have the “training” part now depends on the thumbs up/thumbs down. As you thumbs up I ask if you want to add those tags. If you thumbs down I ask if you want to stop seeing products with those tags. My thinking was how can I train something super quick to show me cool stuff and remove crap
- cjg 4y agoOK - well I gave it a try. I want to see the cost of the gift on the image - even if it's not guaranteed to be exactly correct when I click through. I just need to know this item is $20, $200 or $2000. For me this is critical. The one thing that caught my eye as a possible gift was out of stock when I clicked through. It would be better to avoid showing it in the first place - although I appreciate that's not an easy problem to solve. I might actually use this app. Nice.
- cvanvlack 4y agoYeah, I can start looking into how to pull that information too. I know there are even broken links in there as merchants are changing their images/redirects that I haven't purged. All in time! Thank you for taking the time!!!
- gboone 4y agoSuggestion: without network access the app is blank with no messages, might want to add a note
- cvanvlack 4y agoYeah, there are lots of places in the app where if something goes wrong, it's a failwhale. But I figured better to get it out there and if no one cares then why worry about the failure cases?
- jotm 4y agoIf you want to use an app to find a gift for someone... just give them cash.
- cvanvlack 4y agoYeah, I got sick of trading cash back and forth with people. It started to seem pointless. Plus, I have young kids who love birthdays/Christmas and the excitement of watching them watch someone else open a gift is WAY less if it's just an envelope with cash or a gift card! Lol
- netsharc 4y agoYou should just start a swapping round of a certificate of ownership (or several of them) of a rai stone: https://www.npr.org/sections/money/2011/02/15/131934618/the-island-of-stone-money?t=1650634291865 https://www.npr.org/sections/money/2011/02/15/131934618/the-...
- cvanvlack 4y agoOh man, this reminded me of something super retro about passing around the same gift: https://www.youtube.com/watch?v=Bi9qSKZuvC4&t=1928s https://www.youtube.com/watch?v=Bi9qSKZuvC4&t=1928s
- mikepurvis 4y agoThere are a lot of people for whom gift receiving is a love language and cash or cash equivalents do not meet that need (either romantically or in a close-friends relationship).
- IG_Semmelweiss 4y agoI think gift giving is a wonderful time to show someone you appreciate them. I think you can show your appreciation to someone better when its evident that you spent valuable time to pick something to gift the recipient. This may be particularly hard to gift women, but it can be done. You dont need to gift GCs to women when clothes will do. Just keep the gift receipt and include it just in case. You will get wonderful smiles when she says "I'm going to wear the X you got me today" I follow my own advice and havent bought one in forever. At least a decade. This has caused me to be late with at least 1 gift, because sometimes bdays creep on you at the absolutely worst time and life happens...so weight that too. Sometimes a crutch may be necessary
- ape4 4y agoI recently googled: whats a good gift for a girl N years old. Not bad results.
- cvanvlack 4y agoThat's fair! I've used Google for people who I am close to and those listicles have routinely fallen short for me. I think this is more to try to answer questions like "What do you get for the golfer who has everything". Then focuses on how to remove categories of items you know they have. E.g. "Golf clubs", "Golf balls", "Golf bags", "Golf Clothing". Then, the intention is to see what's left over to try to find something unique.
- davidmurdoch 4y agoNeat, but I'd never download an app for this. There appears to be zero features that require this to be an app.
- pineconewarrior 4y agoI like having the option of an app. Progressive web apps are really neato
- ajsnigrutin 4y agoI like having an option of using a webpage... not having to install anything, and it works on a computer too.
- pineconewarrior 4y agoI agree with you there. PWAs are nice because they do both things well.
- davidmurdoch 4y agoAll websites are mobile apps already.
- pineconewarrior 4y agoHah yes, this is true. Especially on Android. Hoping Apple will adopt the PWA spec eventually so this becomes even more true
- deleted 4y ago[deleted]
- Graffur 4y agoAgreed - I won't even try most things that are apps.
- cvanvlack 4y agoI think I got the web app version working! I had hoped using Flutter would pay off. Edit: I would only recommend trying on a mobile browser. The swiping doesn't work on desktop yet. https://givetheperfectgift-app.web.app/ https://givetheperfectgift-app.web.app/
- liminvorous 4y agoWhy do you request push notification permission? I can think of no useful use cases for push notifications in your app. Also you should open links in an external browser on iOS rather than using the safari view controller, or at least provide the option to; switching apps is easy, a user interaction doing something you don't want is annoying.
- cvanvlack 4y agoThe push notifications were so I can send notifications as I add products that match the tags. When someone adds something super specific, there might not be anything in the app that matches it and because we don't have any account creation, notifications were the only way I could think of to let people know of the new stuff. Agreed on the browser side. I played with it for half a day and it was still buggy so I abandoned it in favor of other items that seemed more useful to people.
- jnwatson 4y agoInteresting. I might suggest a (optional) section in the profile with sizes, since many of the gifts are clothing.
- cvanvlack 4y agoLove the idea! However this will require much more integration to make sure I am showing the right size compared to just scraping. I'll put it on the roadmap!
- vander_elst 4y agoDo you plan to open source it? How are the data backed up? What happens if I lose my phone?
- cvanvlack 4y agoNot sure for the plans for open source. Technically I am creating an anonymous account using Firebase. I've half built the capabilities to allow people to convert the anonymous account into a real account so that people can use the same account on multiple devices.
- kuu 4y agoIt took me very long to figure out what your app does. I would suggest to put the video as second section instead of a picture of beets. I got the reference later, but it took me very long time (I was not expecting it) and I only stayed because it was coming from HN so I assumed some value was there. Otherwise I would have left the site. As others mentioned, maybe a direct free trial in the browser (even if is just an example with limited capabilities) could be great
- cvanvlack 4y agoThanks for the website feedback. I honestly just put it there as a placeholder and was working entirely on the app. Then I realized that for showing on HN the website is the right way to go so I tossed something together. I'll put a .gif higher up in the website flow to highlight the point of the app and show a more recent version. Not sure if I should do a real demo or stick with the office though. It's pretty hard to beet...
- bambax 4y agoCould not find the video... where is it?
- cvanvlack 4y agoIt's lower on the mobile website. Link here: https://www.youtube.com/shorts/wk5-TrIPbpk https://www.youtube.com/shorts/wk5-TrIPbpk
- _jal 4y agoHope it works out for you, but it won't work for me. My gifting strategy is a category in my todo lists. It usually happens that I randomly think of, see, hear about, or am otherwise made aware of something, and I think, "That is something X would never buy themselves, but would really like." Then I write it down, and as some nondenominational gift-giving event approaches, I review the list and make a choice. This method has worked as long as I've been giving gifts, and doesn't require an account or feeding details into someone else's database.
- cvanvlack 4y agoI totally respect that. As I have been talking to people, I have noticed people who are frequently shopping and checking out products are WAY more ahead of the game because they are exposed to more ideas. I hate shopping so this was my way of trying to quickly get at good ideas while quickly removing bad ideas. I've been thinking a LOT about the user data collection side. The app is pretty explicit in terms of trying to narrow in on preferences. It's kind of a requirement if you are going to help someone find a unique gift. But it still feels a too much like data harvesting. So how to strike that balance? Right now I believe I have turned off all ad/app tracking (although I am pretty new at this so maybe I've messed something up. If you know more about this than I do and you see something wrong please let me know). As a user, I only want the information I share to be used for THIS purpose. Not to keep spamming me with more ads. If I could figure out a way to give you more control over your own data would this still be a flop for you?
- _jal 4y ago> If I could figure out a way to give you more control over your own data would this still be a flop for you? For me? Probably not, but you shouldn't target me, I'm pretty out of the mainstream. As far as data use, I would think your best bet is plain language describing what you do with it, and of course complying with relevant law. Clearly describing your use close to where it is entered would make you more user-respectful than probably 95% of random internet services, and I would think would satisfy nearly everyone.
- motohagiography 4y agoIt wasn't until I clickd on the video that I understood it, and this is great and seems useful as I hope to use it to solve a housegift problem I often have. Rare app install on my part.
- cvanvlack 4y agoThank you!! There's a lot that's still clunky about it but hopefully I can make it so that it continues to earn a spot on your phone.
- motohagiography 4y agoOk, have now created a few profiles of people who are hard to buy for in my life, having thought about their interests when it's not urgent and saving the results is great, and while it's actually useful right now I also assume the recommendations will just improve (e.g. easy win is I was in a conversation a relatives house and found out about the mini-cult of everydaycarry.com, where these guys practically subscribe to buying this stuff) I really like how text based the input is. As a man, I'm never going to use pinterest or instagram, whereas this is a tool. The only UX clunk for me is around entering tags and my hyper suspicions around privacy - however I really like how PII about your recipients isn't required. This is valuable to me because my social life means I am a constant houseguest to very different people and finding house gifts is a non-trivial time demand, I also need to send thank-you gifts to volunteers and trades/services, and occasionally give staff recognition for over and above value work. These all mean I can't afford cheap things and tchotchkas, or the time searching for and filtering them. I'm hoping your app makes it easier to be thoughtful. For many years, my reference point for gifts used to be the FT's howtospendit (disclosure: i have written for them) and they may be a useful partnership, but I'd rather keep track of the people than having to know what cool things are. This is an elegant idea. Thank you. I hope it flies for you.
- cvanvlack 4y agoThank you so much for taking the time to write this. I originally had generic tags that people could add but no one would ever add a unique tag. It just kept on pushing the suggestions more into the realm of the mediocre rather than into the realm of unique and interesting. I'm still trying to find ways with the UX to convey "With this design it's not possible for the app to harvest your data". I think all of us are DONE with tracking and ads. But giving a recommendation is almost impossible without asking about the context and using continual refinement. I'll keep working on it!
- ahmed_ds 4y agoI wonder what 30-40 something hacker news user would like, if I solely go by making generalized assumptions and stereotypes. - EDM knife - Alcoholic beverage of some kind - Maybe a first edition of some book they like; Maybe a movie poster they used to own when they were in college - Boutique mechanical keyboard - Handmade wallet - Semi professional/Podcasting microphone - A bag coffee that has a novelty story attached to it - A mug that has some kind of dad joke like humor to it - Fountain pen and a diary (Everyone knows how much HN is into notetaking stuff!) That's about it really. At the end of the day, give any of these stuff to anyone in HN but try to tell a story behind that. They will be happy. :)
- deleted 4y ago[deleted]
- eadmund 4y ago> - EDM knife Do you mean an EDC knife? Because EDM means electronic dance music to me …
- yumaikas 4y agoIt Splits The Air in Two with the power of the BASS DROP IDK, an EDM Knife sounds like a cool idea.
- cvanvlack 4y agoLooking for one to add to the app now. lol
- gear_envy 4y agoEDM KNIFE USER MANUAL [From WEEB Corporation, the industry leader in melee weapons and cosplay supply] Please keep all magical weapons pointed in a safe direction and out of the reach of children. Step 1: Using aseptic technique, load the hilt chamber with concentrated liquid MDMA. Remember to wear gloves during this process! Step 2: While the product is still sheathed, activate the EDM Knife’s special powers by performing the PLUR hand signs as if you were casting a Naruto jutsu. The knife will begin emitting lights and a sick beat as soon as you draw it. This indicates that the weapon will now inflict a status ailment. Step 3: Proceed to stab and/or slash your opponent(s). If you followed Steps 1 and 2 correctly, your wounded enemies will soon be rolling too hard to continue fighting. *WEEB Corporation is not liable for any injury caused. Please contact customer support for any questions and concerns.
- wantsanagent 4y agoI love this idea. I think of gift giving as a grand challenge. Two ideas: 1. Surface creators (etsy, fivrr, etc) 2. Provide reminders that take into account the lead times of the above e.g. If someone's birthday is May 1st, on March 15th you get a notification saying, "If you want something custom from one of these creators, order within the next week!" Lead time always trips me up.
- cvanvlack 4y agoYeah, I'm starting to scrape Etsy (there are definitely some on there already). Shopify stores seem like another big opporunity. It could potentially be the biggest mall in the world and yet I can't find the Shopify stores in my own area to support local. 100% agree on the reminders. I originally had the gift recipients birthday's in there but that was personally identifiable information so I stripped it. People are already too concerned about data collection. I'll likely add a "When do you want to be reminded about this gift giving date" to avoid that whole issue.
- FreeHugs 4y agoWhen you say "built in Flutter", does that mean there is no backend? How does it get updated with new gifts?
- cvanvlack 4y agoUsing Firebase for the backend.
- escapedmoose 4y agoTried it out using my SO as an example and immediately got some great ideas that I didn’t know existed! Thanks for sharing :)
- cvanvlack 4y agoYou're welcome! The framing I have been thinking of is search engines/Amazon are great when you have a keyword. What seems to be missing is a product discovery engine. How do you search for something that you don't know exists?!
- calderwoodra 4y agoGoogle has a knowledge base/classification API which you could use to create bulk tags. https://developers.google.com/knowledge-graph https://developers.google.com/knowledge-graph
- cvanvlack 4y agoThank you so much! I will definitely check it out!
- bambax 4y agoVery often, people give what they would like to get. If you have access to a person gift-giving history it's pretty easy to find something they like. If not... ask around.
- cvanvlack 4y agoYeah, part of the reason I came up with this is that my family keeps asking me about gift ideas for my wife and kids. I know what they like. I can answer that question. What I have struggled to answer is what's out there that matches what they like.
- jonathan-adly 4y agoShameless plug: I built https://joyful.gifts https://joyful.gifts as I was learning how to code to programmatically buy gifts on my behalf (as well as other people). Almost 3 years in now - surprisingly solid market of people and working well considering it was the first thing ever I built for production.
- cvanvlack 4y agoYeah! I found your thing when I was looking for options in the gifting space. For me it's the difference between wanting to outsource and wanting to optimize. I was never comfortable with the outsourcing because I never felt like it would have been "from me". Instead I wanted to find a much faster way of winnowing through a category to see if there was something that I thought the other person would like.