Hi 👋, Rommel here. For those of you who don't know me, I'm the second founder of Fiber Club and in charge of all the technical details. In this blog post, I wanted to give a brief background on what I've been working on the past two weeks and how it's going to relate to user experience. I'm trying not to get too technical, but if you're a techie and want to reach out, feel free to find me on Twitter (@Rommel_Rico).
Database and endpoint design
Over the past few weeks, Liza and I have been busy hammering 🔨 out all the details around our initial model of what will be the initial back-end model for the app. A lot of this has been greatly shaped by the alpha testing feedback that we received. Based on that feedback, I created the diagram that you see below.
The above diagram represents our initial database schema and its goal is to visually represent all the data that will go into the Fiber Club app. The diagram is then used as an aid to architect the API endpoints that are used by the mobile app and website, and to help guide the code that is consuming those endpoints.
Users, Listings, Patterns, and More
The core of the app is the Pattern. A lot of my thinking around the technical architecture of Fiber Club is how can we ensure that Patterns are easily findable, searchable, and eventually, purchaseable. Patterns have many different attributes. Some are required attributes, such as craft (e.g. Knitting vs Crochet). Some are optional attributes, such as the hashtags or tags associated with a pattern. And some are variable, such as the languages that a pattern is in, the formats it can be purchased in, or the types of materials required to make the pattern. All of these attributes need to be stored on the Fiber Club database in a way that allows for users of the app to quickly find a pattern that they love.
Perhaps the next most important part of the app is the Listing. A listing is the main way that a designer showcases their patterns to customers. It contains information about who designed the pattern, the purchase price, a catchy name, and so on. Designers will create listings for patterns that they want to sell, and users will click on listings that they want to buy, or to find inspiration. Some listings may be free, some may have a fixed price, and some may have a variable pricing model where the customer chooses what to pay based on what they can afford. In the future, we will support sales/promotions and bundling of related items.
Another core model of the Fiber Club app is the User. Users in Fiber Club will be able to like and follow designers and patterns. Users in Fiber Club will be able to customize their profiles and preferences so the app is accessible and usable by all. Most importantly, Liza and I want to make sure that the Fiber Club community controls the content inside of the app.
An example of how the community will guide the app is the tagging system. Patterns will have tags added to them by the designer, but what those tags are will be decided on by the Fiber Club community. While we will launch with an initial set of tags that Liza and I come up with, in the future there will be a mechanism for the Fiber Club community to create new tags and retire irrelevant tags so that the content of Fiber Club always stays positive and on-topic.
Documentation and Testing
Just a brief note on this, but part of the work the last two weeks is also to make sure that all backend endpoints are documented and tested. This allows us to define all the behaviors in a consistent manner, and it allows us to keep the codebase bug free, as well as allow future technical collaborators to jump in and contribute. A few of you have asked for ways to contribute to the Fiber Club code, and we will allow this in the future so it is important that everything is well documented and tested for that reason as well.
Deployments of the Fiber Club backend are done via Amazon Web Services, specifically their Elastic Beanstalk service. It's great to quickly design a feature, code it up, and deploy it to the cloud. Deploying a new version of the Fiber Club backend application usually takes less than 30 seconds.
I could go on and on about future plans for Fiber Club. Updates to Fiber Club will be community driven. Liza and I are listening to all your feedback and prioritizing it based on impact, cost, and technical feasibility. We have barely scratched the surface and already have a huge backlog of features ranging from ideas to include accessible patterns to ideas for making sure designers can make as much income as possible.
That's it for now. If you have any thoughts, questions or concerns, feel free to reach out any time!