Go back
DecentWork product interface

DecentWork

[Client]

DecentWork

[Year]

2025

[Project Focus]

  • Run freelance jobs, proposals, and contracts through a single marketplace backend.
  • Keep agreements and escrow records immutable so trust does not depend on a database edit.

Scroll to explore

[Overview]

DecentWork is a decentralized marketplace: speed for everyday use, permanence for the contracts people rely on.

[What I did]

  • Developed the marketplace backend using GraphQL APIs and modular services
  • Integrated Arweave for immutable contract and record persistence
  • Implemented escrow and trustless transaction workflows for marketplace safety

[The role]

Backend Engineer

Njay

Project Info

DecentWork is a freelance marketplace for Web2 and Web3 work, with hiring, proposals, and contracts in one product. Discovery must remain fast. The agreements that move money cannot live only in a database that can be edited after the fact.

I built the GraphQL backend for jobs, proposals, contracts, and escrow. MongoDB holds the working set — listings, profiles, and queries that need to stay fast. Arweave holds the records that must remain verifiable after the session has ended.

DecentWork product detail 2
DecentWork product detail 3
DecentWork product detail 4

Overview

2025

DecentWork is a freelance marketplace for Web2 and Web3 work, with hiring, proposals, and contracts in one product. Discovery must remain fast. The agreements that move money cannot live only in a database that can be edited after the fact.

I built the GraphQL backend for jobs, proposals, contracts, and escrow. MongoDB holds the working set — listings, profiles, and queries that need to stay fast. Arweave holds the records that must remain verifiable after the session has ended.

The Process

The marketplace was split by what can change and what cannot. Job discovery, proposals, and profile reads are mutable operational data. Contracts, escrow events, and settlement history are written to Arweave so the audit trail does not depend on a later database update.

GraphQL services sit in front of both stores. A client can list work, submit a proposal, or open a contract through one API. JWT-backed access keeps those mutations scoped to the correct party — freelancer, client, or both — rather than a shared administrative surface.

Escrow was modeled as a workflow, not a status flag. Funds move through defined states with records on both sides of the split: current status for the product, immutable history for a later dispute.

The Outcome

Clients and freelancers can hire, propose, and contract through a single marketplace backend. Listings remain fast to search. The agreements that matter remain permanent.

Critical records can be verified independently of the application that first wrote them.