Global trade intelligence platform connecting buyers and suppliers in the agriculture industry.
As a Backend Engineer, I designed, implemented, and maintained backend services using the Django framework and GraphQL, collaborating with cross-functional teams — frontend engineers and product managers — to deliver high-quality software with robust performance. I developed and maintained backend APIs ensuring seamless data queries and mutations, and designed GraphQL schemas to meet UX and UI requirements.
I implemented and optimized Elasticsearch for advanced search, significantly improving data retrieval speed and accuracy. I designed and integrated a gRPC micro-service to support video calling and messaging, enabling real-time communication, and engineered a personalized feed composition engine with sophisticated ordering algorithms and multi-source data integration.
My work also included building and deploying a data synchronization and ingestion engine for third-party services and data warehouses, and creating optimized data models for efficient storage and retrieval — with a continuous focus on system architecture and performance.
Selected Projects
Tap to expand
In one of our initial efforts to monetize our Supplier Directory platform, we began selling agriculture-related ads to our customers. I developed the backend system from scratch to support the management of this new ad system. The ad system included Banner Ads, Newsletter Ads, and “Top Ranking Cards.”
The “Top Ranking Cards” required selected supplier cards to be placed above others while maintaining the existing pagination logic. To achieve this, I created a custom pagination system to handle the new requirements.

In late 2022, we decided to revamp our platform as an Online Exhibition platform, allowing suppliers from around the world to exhibit their products on virtual “booths” without the need to spend thousands of dollars on physical trade show booths. This project required an integrated Video Calling feature so that exhibitors and visitors could connect seamlessly online. We chose to build this as a gRPC micro-service to utilize the video calling service across our other projects as well.
As this was the company’s first micro-service, I conducted extensive research to architect and build the service. I explored interaction patterns with sequence diagrams and experimented with different gRPC keep-alive and retry patterns. Additionally, I built an SDK to enable other teams to easily integrate this micro-service into their projects.

After deploying the Online Exhibition platform, we realized it was too “supplier” centric and needed features to attract buyers as well. To address this, we decided to add a new service called Sourcing Requests (now RFQ) to the platform. This service allows buyers to submit requests for the products they want to source, and suppliers are notified and can submit offers in response.
I developed the backend system for the offer side of this project, including notification systems to alert suppliers via email.

After our Social Marketplace release, we decided to create a page where suppliers can easily browse and find verified buyers interested in their products. This page needed to display different sets of buyers depending on the supplier’s authorization and permission level. For this project, I developed a single query that resolves different data based on the viewer’s authorization, ensuring appropriate access and information visibility.

To provide suppliers with meaningful data, such as the impressions of their profile, products, and posts, as well as the sources of these impressions, we built a new Analytics Dashboard. I developed the backend systems for the dashboard, including data synchronization with Amplitude and an ingestion engine to display real-time data to users.

In early 2024, as part of our Tridge-as-one-solution initiative, we decided to move the Feed to our Home page and incorporate new Feed content from across our entire platform. To meet the requirements of retrieving data from more sources and loading the page in less than a second, we had to create an entirely new engine.
First, we created database tables to generate and store the data for Feed generation beforehand, triggered by events or scheduled tasks. We also introduced incremental composing, where only a small portion of the Feed is composed by the backend while the user is scrolling.
I built the composition engine for the new Feed, utilizing efficient caching and indexing techniques. The new Feed also required real-time impression counts for each Feed content, along with additional analytics data from our Snowflake data warehouse. I implemented data synchronization with Amplitude and Snowflake. As a result, the final Feed page now loads in less than a second.

To enhance the user experience of searching within our platform, we decided to add multi-language autocompletion functionality to our search boxes. Previously, we used a simple keyword search that did not support multi-language input, which frustrated some users.
I utilized Elasticsearch to build this feature. I researched and experimented with different index mappings and analyzer configurations, and designed the queries in Elasticsearch DSL to meet our specific requirements. Additionally, I designed and documented code patterns to effectively integrate Elasticsearch into our codebase.

Continuing with the search autocompletion enhancement, we decided to incorporate a search history feature into the search box. For our registered users, whenever they perform a search for a product on our platform, their search keywords will be saved for future reference.
Other Projects
Previously, our team manually validated each supplier and buyer on our platform, a process that was both tedious and time-consuming. To address this challenge, I developed a robust backend system to automate user validation using multi-layer validation logic. This streamlined the validation process, ensuring that only valid sellers, buyers, and supplies are active on our platform while significantly reducing the workload for our staff.
As part of the Supplier Pool Expansion project, we introduced cheese-related product specifications to attract Cheese & Curd players to our platform. In this initiative, I played a key role in modeling the new data structures and developing and maintaining multiple scripts to merge and migrate data from various sources into our database.
I built a “bookmark” system, allowing users to easily save and organize preferred suppliers, posts, supplies, and other objects. This feature enhances user experience by providing a convenient way to access and manage important content, contributing to increased engagement and user satisfaction.
I constructed the payment system for our platform’s organic payment lifecycle, leveraging the Stripe API and webhooks. This system automates account activation and other features upon payment, remaining active until the subscription expires.
I integrated debugging functionality into our project codebase to significantly enhance the Developer Experience (DX) of our Backend team. Previously, the team relied on print statements for debugging, necessitating recompilation of the entire system for each change. With the new debug feature, the team’s performance improved markedly, streamlining the debugging process and boosting overall productivity.
… and more

