Solving a Pervasive Problem with Existing APIs
Many successful platforms are simply abstractions of more complicated services. Think about how many SaaS products are just layers on top of API’s by Twilio, Spotify, Yahoo Finance, etc. If you can’t think of any offerings to simplify these services whilst providing rich, accurate data then there may be an opportunity.
I built FileFern, a layer on top of existing services, to partially scratch my own itch, which was that:
File management between clients is frustrating. I always hated searching for files in my inbox, only to resend them later on. Email inboxes should not be the system of record for files, but it currently is for attachments.
So, I went ahead and emailed a bunch of attorneys, freelancers, devs, designers, consultants, etc. and found that their problem is consistent with my own. The overarching layer across this problem is email, so the problem statement to solve is: “how might we augment email to improve file management between clients?”.
So I got cracking and started developing the backend. When I do PM consulting, I typically advise to start at the lowest fidelity (post-its, drawings, etc.) and gradually make it higher and higher as each iteration follows a user interview, with a front end design being the highest and last. This is, however, a pain that I wanted solving myself, so I already knew how it would look.
After about a month of development, here’s how the platform works today:
User emails an attachment to their client, including anyone else, and CC’ing “firstname.lastname@example.org”
A cron job is run every minute to use the Gmail API and check the email@example.com inbox for emails with an attachment that don’t have any labels. The filtering query is as follows:
Once it finds an email attachment that doesn’t have a label, it pushes the file attachment to a cloud server (via Google Cloud API or DropBox for now) in a unique folder (to the email address) then adds the “Uploaded” label:
Then checks to see if any email address within the email chain has already been registered:
When a new user is registered, a temporary password is emailed to their account and a link to directly access these files accompanies it.
I used JWT to authenticate users, and so the email message just appends an access token in the file dashboard link:
When a user accesses this link within a pre-defined expiration window of 24 hours (or they could enter their username/password), they’re redirected to their file dashboard:
The share and download buttons are direct calls to the corresponding Cloud storage APIs (download/share endpoints).
FileFern uses HTTPS, encrypts all sensitive information, and protects access with login information.
A simple application that solves a pervasive problem in a novel way.
Some future advancements:
- OAuth2 support with Drive and Dropbox so users can store in their own services
- Automatic file OCR/Parsing to tag/categorize for easier searchability
- Build a PubSub server to listen for new emails
FileFern is free for now, so upgrade your email while it’s available!