Sharepon_logo_white_border_long

Building Sharepon: Lessons from My Journey

I plan to write a series of articles focusing on the advice I have and the lessons I learned while building Sharepon, an online platform that allows people to find and share coupons with each other. It will be mostly system and product design focused, and the target audience for this series includes computer science students, software developers, and anyone with a programming background who aspires to become a product founder. Through these articles, I hope to help my readers learn new skills, ideas, and concepts, feel inspired, and potentially start building their own products.

To kick things off, I’d like to give an overview of Sharepon from an engineering perspective. Since it’s a platform where users share coupon codes, it needs basic functionalities like user registration, user login, and post creation.

As a product, Sharepon needs to distinguish itself from other similar offerings on the market. Here are 3 key differences (functionalities) that make Sharepon unique:

  1. Transparency of Coupon Quality: Like many of us, I’ve been frustrated by expired or invalid coupons I found online. To solve this, I need a voting mechanism that allows users to give thumbs up or thumbs down to coupons, with the votes displayed in real time. This feature ensures transparency and helps people find coupons that actually work.
  2. Easier Coupon Search: Sometimes, shoppers don’t have a specific brand in mind when they’re looking for deals. For instance, someone may just want a phone case, rather than a particular brand like CASETiFY. A search functionality that allows users to search for generic items like “phone case” is necessary to make the platform more accessible. Small businesses are likely to share more coupons if such functionality exists, and I would love to support small businesses and help them get more customers. 
  3. User Motivation to Share: I want to encourage more users to share coupons, so I need a mechanism to motivate people. The feature that allows users to upload their payment QR codes on their homepage would help. If others find a user’s coupons helpful, they have the option to scan the QR code and leave a tip. This added incentive fosters more sharing and engagement.

Given the engineering and feature requirements above, I believe that most junior developers can implement them if they invest enough time. However, basic functionality alone doesn’t ensure a great user experience, especially as traffic increases. It’s crucial to design your database for speed so that queries run efficiently. Caching query results is also important to prevent repetitive queries from slowing down the system. Additionally, using an asynchronous task queue allows certain operations to be delayed and improves application responsiveness.These are just a few query-related examples to illustrate areas where performance optimization can be applied. Of course, there is much more to consider beyond query optimization, but this helps highlight some key aspects.

If you’re thinking about building your own web application, you’ve probably heard of the term MVP, which stands for Minimum Viable Product. It encourages founders to release a version of their product with just enough features to start gaining feedback from early users. While I agree that this is an efficient way to test an idea, Sharepon didn’t follow the typical MVP route.

I spent a considerable amount of time working with a lawyer to develop clear terms of use and privacy policies. Sharepon is a community-driven app, and I believe that everyone in the community deserves clarity and respect. Additionally, I invested a lot of time in ensuring user account security. In fact, the first article in this series will cover how to securely store user passwords in databases. Some features, like security, can never be minimal. I believe they must be done to a high standard from the very beginning.

These slowed the launch of the Sharepon, but I have no regrets. Security isn’t just a nice-to-have; it’s a necessity. Data breaches and compromised user information can ruin the trust that’s essential to any community-driven platform. Profitability was never Sharepon’s top priority. Building a safe, warm, and welcoming community has been the goal from day one.

sharepon_about_page_illo

My cousin, Jiajun Wu, once told me that the ideal founder is someone who can step into any role on the team if needed and do a decent job covering for any departing member. I completely agree with this philosophy. With that in mind, while the primary focus of this series will be on engineering and system design, I also plan to write about my experiences as a UX designer, marketing strategist, and, most importantly, as a founder.

I hope this series of articles provides you with valuable insights into my journey of building Sharepon. Whether you’re an aspiring founder or a developer looking to improve your skills, I believe there’s something here for everyone. As you read through these articles, I hope you find inspiration, gain practical knowledge, and perhaps discover new approaches to building your own products.