Hacker News new | ask | show | jobs
by techaddict009 3984 days ago
Awesome work.

Can you share tech stack used?

And what exactly you use to store the photos?

Edit: I see you are using imgix but I feel they are bit costly. Did you compare them with anyone before finalizing them?

1 comments

As backend framework we're using Laravel hosted on digital ocean. Images are hosted on Amazon S3, we also queue uploads to S3 with SQS. Imgix is great service and I can't even imagine building tookapic without it. For database we use postgresql. Any other questions :)?
I just saw this thread while browsing the Show HN section. Nice stack, Laravel is a good framework.

My only suggestion would be with the domain you have, make user pages subdomains. It's easy to achieve in Laravel and makes a more pleasing url.

Instead of https://tookapic.com/photos/21408 you could make it https://pawelkadysz.tookapic.com/21408

And even take that a step further and use slugs for urls instead of ID's https://pawelkadysz.tookapic.com/playing-with-light

URL design is a huge thing that many often ignore, but I feel is essential to a website.

Thanks for the suggestion.

Actually we're testing premium features, like custom domains and themes. username.tookapic.com would be reserved for premium users. Right now pawelkadysz.tookapic.com points to 404 (which should be fixed next week). But the custom domain hooked up to the site works just fine, see for yourself: http://daily.pawelkadysz.com - this is the kind of premium theme I'm talking about (it's all powered by tookapic).

As for the slugs and URLs. At first we had it like this: tookapic.com/username/ID-slug but we had some issues with people changing their usernames (that's allowed) and putting weird characters in the photo titles, which all resulted in breaking the links and pointing to 404 in the end.

That's why we changed it to how it works now. No username change nor emoji in photo title will break the link now.

Ah cool cool. For slug issues, Laravel comes with a support strings helper function for turning strings into slugs.

Regarding usernames, well I see the usecases for allowing changes and not allowing. So I guess that's up to you.

All in all, I love the project. I'm not a photographer but the design of the site is beautiful, and well. I'm jealous. haha.

S3 for hosting, imgix for image manipulation
Almost similar stack we use. Good to hear that :)

Confusion you use s3 for images then why do you use imagix too?