Filterlist, my second iOS app, is live - and I'm falling in love with React Native

●4 MIN READ

Filterlist, my second iOS app, is live - and I'm falling in love with React Native

We’re in the midst of a lockdown here in Belgium, so I’ve got plenty of time to work on my side-projects.

One of these side-projects is Filterlist.

Walkthrough of the Filterlist app

Filterlist is an app for iOS that helps you find Instagram filters and filter creators. It’s made with React Native and I decided to use a TikTok UI: Simply keep swiping up to discover new filters. It’s like a big infinite scrolling interface.

You can download it from the Apple App Store if you have an iPhone.

Instagram makes it very hard, or at least not easy enough IMO, to find cool Instagram filters and their creators. Remember those “Which X are you?” filters from February? The only way you could find one is if you came across one. As a filter creator the only way people can find your filters is if they come across using one or if you follow a creator already.

Then you will see filter suggestions when you’re making a story.

Those 4 filters next to the camera button are filters by creators

So I set out to make the first Instagram filter discovery app.

As a React user developer, and I have some basic experience with React Native (I used it to create my first app - 36Q), I was going to go with React Native.

It took me a while to get the UI just right. Also I learned a lot about VirtualizedLists in React Native, and how to optimize them. The homepage (and the creator page) are just a VirtualizedList that loads the videos with an infinitescroll system.

And I just could hook a listener to it that every 6th screen you see, an ad overlays it. That way I can recover some money from my Google Storage bill where 20 gigs of those videos are stored.

There are three things on my to do lists for this app:

The first one is a better randomizer. Firestore has no way to get random elements from the database. So when you press the randomizer button, it fetches more filters, and then shuffles it, so you don’t always see the same. It fetches 50 filters each time, so if you hit refresh right away, it shuffles between the first 100 filters. Not ideal, but better than nothing.

Another thing I want to optimize is the creators page. As I have 500 creators right now, and more and more people are DMing me on Instagram and Reddit the names of other creators, this might potentially be a huge list. Right now this is also paginated with Firestore, which makes it hard to add a search field. It fetches the creators alphabetically, so if it has loaded the creators A to H on the client side, and you search for @jelleattheoffice (😉) it has to go look for it in the firestore database. And ideally it would also fetch the creators H - J, right? Or maybe H - L, so you can scroll down a bit without it having to do a second fetch right away. So that’s on the roadmap as well.

The third thing is to do some proper marketing. I created an Instagram ad to promote App Installs, but that was not a success. Posting it on Reddit did not yield a lot of extra installs it seems. So I have to see how I can attract the masses. As people have some time on their hands right now, this shouldn’t be too difficult.

One thing I have done tho, is create a website. You can find that one on MyInstaFilters.com. I bought the domain name before I was even thinking about making an app, and I didn’t like the idea of calling the app My Insta Filters.

I honestly think it’s one of the “slicker” websites I’ve ever created (apart from the submit creator page). It also takes care of some cool optimizations, like memoization and virtualization - that’s a lot of -izations.

It’s built with Gatsby, which was a mistake. Because Gatsby is a static site generator, the site needs to be rebuild every time a filter or creator is added. Right now I’m tracking over 500 creators with over 20k filters. Filters and creators are added daily (well, not right now as Instagram reviewers can’t work because of the Corona virus), so I’d need to rebuild it every day. I am setting up a Github CI/CD flow to automate that part.

That’s my to do list for the coming few days. Enjoy discovering new Instagram filters and don’t forget to rate it in the App Store!

More polaroids I want to share

CLICK OR DRAG THE TOP ONE ASIDE

You've reached the end of the shoebox. More polaroids and other posts live on my Instagram.

@GMJELLE →
Polaroid of a calm lake at dusk reflecting pink clouds and dark hills, at a wild campsite near Adana, Turkey
Polaroid of Josip Broz Tito's marble tomb seen through plant leaves in Belgrade, Serbia
Polaroid of a motorcycle parked at a Soviet-era bus stop decorated with a flower mosaic in Moldova
Polaroid of a large stone statue of a bearded man in a long coat on a hillside near Buzludzha, Bulgaria
Polaroid of the saucer-shaped Buzludzha Monument on a distant hilltop above the trees in Bulgaria
Polaroid of a man standing in front of the Buzludzha Monument and its tower in Bulgaria
Polaroid of a valley of pale, cone-shaped rock formations in Cappadocia, Turkey
Polaroid of hot air balloons silhouetted against the dawn sky in Cappadocia, Turkey
Polaroid of the brutalist Cosmos Hotel tower in Chisinau, Moldova
Polaroid of the Tomb of Cyrus the Great on its stepped stone base at Pasargadae, Iran
Polaroid of a close view of the Tomb of Cyrus the Great at Pasargadae, Iran
Polaroid of a converted red fire truck camper and a motorcycle at a campsite on the west coast of Turkey
Polaroid of a mosque minaret and domes silhouetted against a cloudy sky in Edirne, Turkey
Polaroid of the Mimar Sinan statue in front of the Selimiye Mosque in Edirne, Turkey
Polaroid of the courtyard of a historic house with a fountain and colored-glass windows in Isfahan, Iran
Polaroid of a man standing next to an Isfahan city emblem sign on a sidewalk in Isfahan, Iran
Polaroid of the tiled dome and entrance portal of the Sheikh Lotfollah Mosque in Isfahan, Iran
Polaroid of the tiled entrance portal and twin minarets of the Shah Mosque in Isfahan, Iran
Polaroid of a columned palace silhouetted at sunset behind a fountain pool on Naqsh-e Jahan Square, Isfahan, Iran
Polaroid of a dark interior lit through colorful stained-glass windows in a historic house in Isfahan, Iran
Polaroid of rocky ridges and rock formations under a cloudy sky near Goreme, Cappadocia, Turkey
Polaroid of a loaded motorcycle parked by a desert road with mountains behind it in Iran
Polaroid of a loaded motorcycle with a helmet on the mirror, parked on a coastal road near Izmir, Turkey
Polaroid of a Soviet-era mosaic of workers and a motorcyclist on a building wall in Lutsk, Ukraine
Polaroid of a Soviet-era mosaic of a crowned woman holding scales, framed by tree leaves in Lviv, Ukraine
Polaroid of the Lviv Opera House facade with a fountain in front in Lviv, Ukraine
Polaroid of a Soviet WWII memorial column with a stork's nest on top in northern Moldova
Polaroid of a large Soviet-era mural of figures on a wall beside a tree in Moldova
Polaroid of royal tombs carved into the cliff face at Naqsh-e Rustam near Persepolis, Iran
Polaroid of a stone relief of a Persian soldier holding a spear at Persepolis, Iran
Polaroid of the Gate of All Nations with its winged bull statues and columns at Persepolis, Iran
Polaroid of four men sharing dinner at a table in a traditional hostel in Shiraz, Iran
Polaroid of the tiled courtyard and reflecting pool of the Nasir al-Mulk (Pink) Mosque in Shiraz, Iran
Polaroid of two men smiling at a restaurant table in Tabriz, Iran
Polaroid of the mirrored hall of Golestan Palace lit by large chandeliers in Tehran, Iran
Polaroid of the bronze statue of Leonidas raising a spear at the Thermopylae monument, Greece
Polaroid of a man looking up at the wooden Trojan Horse from the Troy film in Canakkale, Turkey
Polaroid of a backgammon board on a table overlooking the sea at a campsite in Turkey
Polaroid of a Soviet-era mosaic of a woman in traditional dress under a Ukrainian coat of arms in Ukraine
Polaroid of a motorcycle parked at a bus stop with a mosaic of three knights in Ukraine
Polaroid of a man standing on a boardwalk in front of the stairway of the Ziggurat of Ur, Iraq
Polaroid looking up the brick stairway of the Ziggurat of Ur, Iraq
Polaroid of eroded mud-brick ruins with a small sign in front at Uruk, Iraq
Polaroid of a man and two boys crouching by a freshly slaughtered sheep on grass on the road to Van, Turkey
Polaroid looking up at the curved glass Zlota 44 skyscraper in Warsaw, Poland
Polaroid of the Palace of Culture and Science lit at dusk in Warsaw, Poland
Polaroid of the Zoroastrian Fire Temple with a round reflecting pool in Yazd, Iran