My 95 Just Became a Unicorn Five Features That Helped Us GetThere
Three years ago I joined Flipdish as their first Product Manager. Back then it was a startup that had found product market fit and just needed to execute quickly and grow. I had product experience, but I think the kicker that got me the job was that I built my own app to track things like tips and delivery addresses when I worked as a fast food delivery driver, so I could hold my own technically too.
I dont code in Flipdish (officially) but I cant keep my hands out of VSCode, so over Christmas I decided to build a co-working app with my fiance. She did most of the backend (node/Express/Firestore) and I worked on the marketing site and web app (Nuxt/Vue3).
Without realising it, I found myself building all the features that I saw make a huge difference to Flipdishs success. Ive never seen anyone write about these in a clear, easy list, so here we go. I wanted this list to be tactical, that anyone can take and build out a solid product with, so below are 5 things that Ill be building from the start in all my future projects.
1. Auditlogs
Being able to see an activity log of actions taken in a given account is immensely powerful. In Flipdish its used daily by clients and support staff to debug any queries that may arise, or just to understand general activity on a given account. For Reservadesk, its proven hugely helpful early on to not only understand account activity, but simply for quick development. I can see when I make changes and the before/after of what they were. Ive written a separate post about best practices for audit logging if youd like to learn more about what makes a useful auditlog.
2. Granular user permissions
When trying to figure out what way to configure your user permissions, its easy to do something simple, like giving yourself and your staff an admin permission (god mode, basically), and your users something general like guest or teammate. This will bite you later on, and is a tricky thing tounwind.
From now on, all of my projects will have granular user permissions from the outset. It has minimal up-front cost, and gives you flexibility down the road. You can always bundle your granular permissions together so that it appears in UI as a general thing, but youll have that flexibility down the road should you need to sell to enterprise or grow into different markets/regions.
In Flipdish, since weve exploded across the UK, Europe and North America, we have country managers, support staff, success staff, contractors etc, and they all need specific permissions to different things. Had we not had granular user permissions from the outset, this would have inevitably slowed us down and hinderedgrowth.
3. Image manipulation API
Its pretty rare that the projects you build wont have images in some form. Before joining Flipdish, I think I was simply serving huge images in my sites/apps with minimal optimisation. Rookie error. Ive since discovered a whole new world of intelligent image optimisation via services Imgix or imagekit.io. They both offer what is effectively an API layer on top of your images, meaning you can build your UI and simply pass in query parameters to transform the image based on what the UI needs at that particular time.
For instance, lets say your user uploads an huge 1000px x 1000px image, which will only be used as a small icon. You dont want to load that massive image on a mobiledevice.
With the image manipulation API you can request that image, but at a smaller size, like 40px x 40px. The service will transform it on the fly for you. Its very impressive. Once you start using this, youll never go back in myopinion.
4. Localisation
I can see you rolling your eyes at this one, but hear me out. You dont need to localise your app into multiple languages from the outset, but building in i18n from the start is something Ill do religiously from now on, for tworeasons.
- The cost is low. I still dev in English, but then quickly create the strings in localise.biz (or similar service) before finally building a release for production. If sometime down the line I see that the app is popular in a given region that has other languages, its fairly trivial to get your app translated and youreaway.
- You can let your customer define their own locale customisations. This gives your app a layer of customisation thats relatively simple to achieve, but can be a real differentiator. Users can sometimes just want a certain word to say something else. In reservadesk, we built a system where our users can define certain words themselves, like the main call to action to reserve a desk can say book now or reserve??whatever the customer wants. In Flipdish, we have customisation requests every single day from clients and our ability to accommodate their requests has been central to keeping them asclients.
5. Referralscheme
This one doesnt necessarily need much dev work initially, but its something Ill be keeping in mind for all future projects. Letting your customers who love your app be rewarded for sending others your way is an absolute win-win. In Flipdish weve had partners and affiliates as a key strategic element of our growth plans across the globe. Having a robust system for rewarding your best referrers in a systematic way will absolutely help you down theline.
Bonus??your API is anasset
One huge thing Ive learned in Flipdish is that your API isnt just something you need for your UI to work. If you go about it right, building an open, public, well-documented API can make magic happen. Youll find that companies start building things on top of your APIs for clients who need it, making them extremely sticky to your platform.
My 95 just became a Unicorn. was originally published in Startup Stash on Medium, where people are continuing the conversation by highlighting and responding to this story.