DEV Community

Katriel
Katriel

Posted on

Snapi: An editable gallery for photographers

This is a submission for the Netlify Dynamic Site Challenge: Visual Feast.

What I Built

A personal web app for photographers in gallery format, motivated to make something that would be useful, easy and accessible for anyone to pick up, including non-programmers.

Manage your photos, create your profile, add a call to action, everything in your very own Snapi instance:

Deploy to Netlify

Demo

Demo instance

Source is available at: github.com/katriellucas/snapi

Snapi app dashboard

Snapi password screen

Snapi upload screen

Platform Primitives

There are various kinds of gallery websites, but one thing in common with most of them is that they are quite heavy, most images on websites aren't optimized in size, compression nor ideal format. Thanks to the great Astro + Netlify Image CDN integration this was completely painless. Netlify automatically converts the images to modern formats like AVIF and WEBP.

Another important aspect is the ability to generate thumbnails on the fly, you don't want your users downloading big heavy photos. In Snapi, these functions are automatic, benefiting your users and yourself.

All data in your instance is saved in blobs, they are great and are used everywhere. To cite some, the account system uses blobs in JSON to store user data, session tokens and all original photos that are used in the image transformation are managed in blobs.

It was great fun project, and I don't doub't that you can make even more powerfull things with these new features on netlify.

Top comments (4)

Collapse
 
pavelee profile image
Paweł Ciosek

Cool kitties! 😎

Your demo link is broken, probably you need to fix it in the editor 🙏

Collapse
 
katriel profile image
Katriel

Thanks for the tip, I swear I had looked into it, but then again it was pretty late.

Collapse
 
greeningsiren profile image
GreeningSiren

Where do I get the
Hook link for integrated deploys

Collapse
 
katriel profile image
Katriel • Edited

You get from app.netlify.com/sites/[your-site]/..., but I guess you already have to have it deployed, do this instead:

  1. Put any value in "Hook link for integrated deploys"
  2. Then go to app.netlify.com/sites/[your-site]/... and generate one.
  3. Then change back at app.netlify.com/sites/[your-site]/...
  4. Redeploy

Some comments may only be visible to logged-in visitors. Sign in to view all comments.