We all know that thing about how Christmas is the most wonderful time of the year, but sometimes it can also be the most horrible time of the year. You know what we're talking about. Gift shopping. Sure, it can be fun (that's why we exist, after all!). But sometimes it can also be really, really hard. And when you have a long list of people to shop for, it becomes even harder. But it’s okay, because we’re here to save you! We at redditgifts have watched complete strangers put together, send, and receive hundreds of thousands of gifts in our online gift exchanges, and we’ve learned a thing or two (or ten) about what makes a great gift. We've compiled some of our favorite and top-rated presents you have sent to put together a list of ideas that will help you find the perfect gift for anyone on your list--whether it's your Secret Santa match or someone you've known literally your entire life (because, let's be honest, sometimes those ones are the hardest). This is the ultimate guide to finding the perfect gift for everyone.

1. Make the present an event.

Get creative with the packaging! Rather than just handing them a gift in regular wrapping paper, think of the gifting experience as an event—and you want to make sure they enjoy it. Hide his gift and send him on a scavenger hunt to find it. Rather than just giving him a gift card, hide a secret message in a Twilight book that sends him to the gift card code. Or sew her present into a giant stuffed shark so she has to do surgery on it to get it out. You could also add a special reddit touch to the packaging with a bacon-loving narwhal gift tag. And never, ever, underestimate the sheer fun of unwrapping presents. Sometimes, quantity can mean quality, when it’s a bunch of small individually wrapped items.

2. Now, literally give an experience.

She loves Les Mis but already has the book and the movie and the movie poster? Buy her tickets to see the show. One of my all-time favorite gifts I’ve seen was a step-by-step mystery guide that sent the giftee to a restaurant, bought him a Flying Spaghetti Monster dinner, and paid for him and his date to play at the arcade.

3. Make a list of all the things the person is interested in and things that define who they are.

Make this list long—spend at least two full minutes writing down as many things as you can. Now brainstorm something to go with every item on that list, small or big. You don’t have to give all of those gifts, but you’re going to hit on some cool ideas you wouldn’t have otherwise, and when you combine a few of them, your giftee will appreciate how personal and thoughtful you were. They like Game of Thrones and Star Wars? Done. Never sleeps? Try this shirt. Great sense of humor? They’ll probably appreciate these shirts. Favorite book is Pride & Prejudice? How about this awesome typography poster made from the entire text of the book. One exchange participant who suffers from depression, loves science fiction, and is also interested in male fashion got a potentially life-changing gift that was perfectly tailored to him. You can sort through all the products in our marketplace by interest to easily find something for everyone.

4. Look to the past.

Maybe someone on your list recently graduated from college, and you could frame his diploma for display. One of our gift exchange participants received a painting of her dog that had died the year before. Let them relive their childhood. If they were (or are) a Lego addict, they’ll love this shirt. Give them a real taste of nostalgia with great Nintendo jewelry, shirts, art, and more. And what child hasn’t wished they could eat just the marshmallows out of the Lucky Charms box?

5. Ask yourself what that person needs.

I know what you’re saying. Stop it. They DO need something. The key is to think broader. What does a super busy successful businessman need? Time, probably. There are tons of products out there to help people run their lives more efficiently. You could even ask other people you know what their pro tips are. Have a sister in nursing school? Put together a student nurse survival kit! Thinking on a more general level will help you get outside your regular, narrower view of that person.

6. Do some stalking.

If all else fails, stalk. If you've participated in Secret Santa exchanges before, you're familiar with this concept. But have you ever tried it on your friends and family members? Most people have a wishlist on Amazon, and they’ll be pretty surprised and delighted if you somehow found just the thing they wanted without even asking—and that they may have even forgotten they wanted themselves. Look through their Facebook history for clues. If you know their reddit username, you can see what types of things they’ve posted and commented on before, and they might even have a wishlist on the redditgifts marketplace!

7. Include a little bit of yourself.

Make it personal in a different way—personalized from you rather than for them. Create a piece of art, write a song, knit a scarf—you get the idea. Combine this with one (or more) of the above suggestions for an ultra-personalized gift.

8. Make them laugh.

Don’t just give a Kindle. Give your crazy liberal friend a Kindle hidden inside a copy of Sarah Palin’s autobiography. Know someone who loves potatoes? Give her 22 pounds of them. Comedy Central blogger Mike Pomranz of Tosh.0 participated in one of our exchanges and sent his giftee one hundred trillion dollars—and it was real, it just also happened to be a now-defunct Zimbabwean currency. Give them something completely novel like shark fin ice cube trays, 3D dinosaur cookie cutters, or a unicorn sprinkles dispenser.

9. Give the gift that keeps on giving.

Give them a year-long subscription to craft coffee, a gourmet bacon of the month club, global tea taster delivery—or even great treats and toys for their dog each month. Go back to that list you made in #3 and figure out which of those can be turned into a subscription. This will keep them thinking of you all year long and appreciating your gift even after the original Christmas gift-getting experience wears off.

10. Be charitable.

Ok, so someone on your list REALLY has everything he or she needs? I don’t believe you, but that’s okay, because there are a lot of other people out there who don’t have everything they need. Find something they’re passionate about, and then donate to that cause. Did she volunteer in Haiti? Donate to the charity she went over there with. Is he a dog lover? Donate to an animal rescue. There are thousands of charities helping teens get off the streets, curing cancer, rehabilitating drug addicts, fighting for women’s reproductive rights, and more. Make a gift to a cause that matters in their name. (BTW, Secret Santa participant Bill Gates recommends Heifer International.)

Get started on the perfect gift now. Shop our marketplace!