The client was a newly established team of four people. Their requirement was simple, encapsulated by the phrase "create an online store." Initially, Da Vinci's team thought, "Why not use Shopify for a quick, cost-effective solution?" They shared this thought with the client, reasoning that if there's a quicker, cheaper, and easier way to achieve the client's goals, there's no need to assign the product development to Da Vinci.
However, the client had specific reasons for wanting a customized online store. They were in the business of importing luxury goods and wanted to provide a special experience for their customers. Instead of a regular online store, they envisioned an online magazine where visitors could browse, read about fashion from influencers, and occasionally make a purchase.
This required features like titled images all over the home screen and a seamless experience transitioning from those images to blogs or product descriptions. They also needed to include videos and influencer profiles, which couldn't be accommodated by standard e-commerce designs.
After understanding these unique needs, Da Vinci concluded that custom development was necessary and formed a project team. Off-the-shelf online store builders include features like order placement, inventory management, shipping tracking, and customer management, but a custom-built store from scratch would require developing all these features anew (although they did make extensive use of external APIs).
Creating the customer-facing side of the online store fell under the "beautify" category, but the admin screen that the store managers would use was far more complex. It needed to show the status of shipments, which reviews to delete, how many items are in stock, and how to send bulk messages.
Given that the client was not familiar with development and couldn't handle maintenance themselves, Da Vinci paid meticulous attention to the admin side. They pondered what the most rapid and practical admin features would be and actively employed workarounds where necessary.
For example, the admin screen, where the client could upload product images and attributes and edit prices or stock, took a long time to develop. Such a screen that facilitates backend operations is called a Backoffice. We decided that delaying the service launch due to Backoffice development wouldn't benefit the client.
So, we launched the store first and held a small training session for the client. In this session, we showed them how to upload image files to S3 (a developer-friendly Dropbox) and enter the S3 image URLs into TablePlus (a DB access program). We also provided reusable simple SQL queries.
This approach enabled the client to complete the online store first and handle urgent tasks themselves, saving a month considering the time it would take for meticulous admin development.
The client also needed a blog integrated with the store. We built it in one day using Sanity, separately charging around $400. However, we noted that Sanity has limitations with CJK characters and provided guidelines, including the concept of slugs (unique URLs).
In the early stages of starting a business, it's necessary to "move fast and break things." It's quicker for the startup team to acquire some development knowledge than to have a polished admin screen.
Another approach is to use robust frameworks like Spring Boot. While this involves initial costs running into millions, it ensures service safety even when millions of customers flock to the site.
Please feel free to ask Da Vinci what method is most suitable depending on the scale, milestones, and budget of your business.
Until next time,
What we did
- Frontend (Next.js)
- Backend (Spring Boot)
- DBMS (MySQL)
- Infrastructure (Nginx, NCP)