The domain challenge
Procurement is a coordination problem. Buyers need to describe what they need in a structured way. Suppliers need to understand the request and respond with comparable offers. Pricing, requirements, deadlines, communication, and contractual information all have to stay connected, and each party should only see what it is allowed to see.
A platform in this space has to support several organizations working on the same process, each with its own users, roles, and responsibilities.
Engineering scope
Engineering work on the platform included:
- Supplier and buyer workflows across multiple organizations.
- Requests for quotation with structured requirements.
- Auctions and competitive offers.
- Communication between the parties involved in a procurement process.
- Role-based access for buyers, suppliers, and their teams.
- Pricing comparisons across offers.
- Contract and document integrations.
- Notifications for important events in the process.
- Localized interfaces for users in different languages.
Technical architecture
The platform is built on Ruby on Rails with a React frontend, backed by PostgreSQL. A GraphQL API connects the interface to the application layer. Background processing handles work that should not block users, such as notifications and integration tasks, and integrations connect the platform with external business services, including document and contract workflows.
Outcome
The result is a working multi-party procurement application in which buyers and suppliers manage requests, offers, communication, and contract steps within one structured process.
Confidentiality
This case study describes client engineering work and is presented anonymously. The client’s name, branding, internal screenshots, and business results are not published.