# Step 1 in presenting images stored on IPFS

**URL:** <https://discuss.ipfs.tech/t/step-1-in-presenting-images-stored-on-ipfs/11253>\
**Category:** Help\
**Created:** [May 12, 2021, 7:54pm UTC](https://discuss.ipfs.tech/t/step-1-in-presenting-images-stored-on-ipfs/11253 "2021-05-12T19:54:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rockomatthews](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/rockomatthews/32/5038_2.png) [@rockomatthews](https://discuss.ipfs.tech/u/rockomatthews)\
**Post date:** [May 12, 2021, 7:54pm UTC](https://discuss.ipfs.tech/t/step-1-in-presenting-images-stored-on-ipfs/11253/1 "2021-05-12T19:54:04Z")

</div>

Hey all. So IPFS’ documentation is amazing but the potential list of paths I need to worry about in displaying, for the sake of this example, the contents of a directory is a little overwhelming. I don’t really know where to start. What I’d like to do is display a set of gifs in a gallery-like view using create-react-app.  
[Gallery I am trying to mimic with IPFS-hosted images](https://orange-smoke-8230.on.fleek.co/)

Here’s a site I made that looks exactly like what I initially want to create. It can display 1-100s (potentially) of pictures. The api I am using iterates through and array to display 30 images. In this dataset I am telling react that I want 30 random ones for a directory of a limitless amount. So I would just traverse an entire directory to display it.

So when I get to considering IPFS (and I can use the desktop app as test api), I am not sure what the best practice is in making my content web-friendly to the everyday user… aka I want my links to be pretty! I own a normal url and can use fleek to add both my normal domain and ENS domain that I have… there are just so many gateway options, I don’t know if all are necessary, one, at least one in particular, etc. in making this swap. I was going to use dnslink because the docs says it’s fastest but then I don’t read anything about using ‘cat’ to displays objects and I’ve seen that before. To start, I guess, the desktop app has an api value. How do I include that or just make a general call to it?
