JGM · Marketplace core

One marketplace core, three verticals.

Most marketplace briefs differ in what is traded and share how it is traded. JGM keeps that part as one core and opens each vertical from a configuration file: software development outsourcing with milestone escrow, manufacturing RFQs where manufacturers pay per quote, and business spaces booked by the hour. Matching, the ledger, payouts, dispute mediation and the operator console are the same code for all three.

Three deal modes, one ledger. A quote accepted into escrow, a matched RFQ with contacts revealed and an hourly booking refunded by cancellation time all post to the same double-entry ledger and reconcile against payments, payouts and credit lots. A role switch moves between the customer, a provider in each vertical and the operator in one browser.

Design

Three decisions that shaped it

The loop is the product; the vertical is a setting.

A vertical is a configurationEach vertical declares a deal mode (quote or booking) and a revenue model (commission or lead credits), then its categories, regions, request fields, quote inclusions, milestones, contract clauses, dispute reasons and a booking policy or a credit table. The request form on screen is drawn from those fields, so adding a vertical changes no core or screen code.
Money moves through a double-entry ledgerPayment received, funds held, a milestone or a booking released with the commission split out, payout, refund, review credit, credits sold and credits used are each a balanced journal entry. Six reconciliation checks compare the ledger with payments, milestones, payouts, review orders and remaining credit lots.
Integration points in place of providersPayment, payout, identity, business status, account holder, messaging, e-tax invoice, e-contract, report drafting and file storage sit behind ten interfaces. The contract includes idempotency keys for every write and a query when the result of a call is unknown.
Verticals

Three verticals on the same core

What differs is declared in three files under server/verticals. Everything else is shared.

Setting Software development Manufacturing Business spaces
Deal modeBrief, then proposals comparedRFQ, then quotesHourly booking
Revenue10% commission, lower by gradeCredits per quote, no commission12% commission, lower by grade
Money flowHeld in escrow, released per accepted milestoneDirect between the parties after a matchConfirmed on payment, paid out after use
Auto-release168 hours after a milestone request—24 hours after the booking ends
CancellationFull refund before the first approvalCredits refunded if a quote is unviewed for 48 hours100% from 72 hours before, 50% from 24 hours, then 0%
ProtectionSource code transfer clause, contact maskingDrawings visible only after an NDAContact masking
Paid reviewBrief review ₩190,000 · proposal review ₩120,000DFM review ₩250,000—
Software development

Paid only for what was accepted

A brief goes to studios whose categories and regions match, remote work included.

BriefStage of readiness, platforms, target weeks, start date, budget range, the brief and requirement documents. It stays open for 14 days.
Proposal comparisonPrice, duration, warranty, team size, rating and scope items side by side, with each proposal’s milestone split. Studios see the count of proposals, never the amounts of the others.
E-contract and escrowThe accepted proposal fixes the terms, including the transfer of source code rights at the final payment. The server approves only the amount on its own ledger, whatever the browser returns.
Acceptance per milestoneThe studio requests acceptance in order with the deliverables noted; the client accepts, or opens a dispute that freezes the project. A request left unanswered for 168 hours is approved automatically.
Payment
100% heldPaid once at contract
Milestone 1
Kickoff · 30%Requirements confirmed
Milestone 2
Interim · 40%Interim build accepted
Milestone 3
Final · 30%Final acceptance and handover
Manufacturing

Serious quotes, protected drawings

Buyers post for free. Manufacturers spend credits on each quote they send, which filters out blanket bidding.

RFQ with an NDA optionCompany, material, quantity, due date, budget, the specification and drawings. With the NDA option, manufacturers see only the process, material, quantity and budget until they sign; the drawings, specification and company name open afterward.
Credits by budgetThree credits for an RFQ up to ₩5M, six up to ₩30M, ten above. Packs of 10, 30+3 and 100+15 credits for ₩30,000, ₩90,000 and ₩300,000, used oldest first so each credit keeps its purchase price in the ledger.
Refund when unviewedIf the buyer does not open a quote within 48 hours, its credits return automatically. Opening the request detail marks every quote as viewed.
Match and contactsSelecting a quote creates a match: phone and email of both sides are shown and chat stops masking them. Ordering, payment and delivery are handled directly; the buyer marks the deal complete and rates it.
Business spaces

Book the open hour, refunds by rule

Meeting rooms, seminar halls, photo and podcast studios and event lounges, sold by the hour.

Open hoursWeekly opening hours minus confirmed bookings and slots on hold. Bookable from two hours before the start and up to 21 days ahead, within each space’s minimum and maximum hours and capacity.
Hold, then payA chosen slot is held for 15 minutes inside a transaction that rejects any overlap, and the booking is confirmed when the payment is approved. An unpaid hold is released automatically.
Cancellation and no-showsThe guest’s refund depends on the time left before the start; the part not refunded is paid to the host after commission. A host cancellation refunds in full. From 30 minutes after the start, the host can mark a no-show.
Payout after useWhen a booking ends, release is requested automatically and completed 24 hours later unless the guest opens a dispute over the condition of the space.
Up to 72 h before
100% refundCanceled by the guest
Up to 24 h before
50% refundRest paid to the host after commission
Later or no-show
No refundPaid to the host after commission
After the end
+24 hReleased unless disputed
Core

What every vertical shares

Written once, used by all three verticals and by the next one.

Dispute mediationEither side can open a dispute while funds are held. The deal freezes: no approvals, no auto-release, no cancellation. The other side submits a statement, and the operator splits the held funds: a partial refund through the gateway, the remainder released to the provider after commission. A dismissal restores the previous state.
Grades and feesProviders move up by completed deals and rating, and a higher grade lowers the commission. The vertical’s rate and the grade discount in effect at contract or booking time are stored on the deal, so a policy change in the console applies only to new deals.
Contact maskingMobile and landline numbers, email addresses, open-chat links and messenger IDs are replaced before a chat message is stored, keeping deals inside escrow. Pairs matched in a direct-deal vertical are exempt, since sharing contacts is the point of the match.
Paid review productsFixed-price reviews next to the marketplace: payment, materials, a structured report started from a generated draft, one revision. The report converts into a request draft, and in commission verticals the fee is credited when that request becomes a contract.
Operations

The operator console

One console across the verticals, filterable by vertical, laid out for phones as well.

Work queues and metricsProviders awaiting approval, open disputes, reviews to write, deposits and payouts. Thirty-day paid GMV and revenue split into commission, credits and reviews, match rate, time to first quote and masked contacts, per vertical. A request posted by a real sign-up is sent to the joygoLive team at once, with the brief and the sign-up email.
Dispute deskThe claim, the statement, the milestones and recent chat on one sheet, with a slider that splits the held funds and shows the refund, the release and the commission before the decision.
Policy per verticalCommission in basis points, auto-release hours, and the deal count, rating and discount of each grade, changed without a deployment.
Money and the gateway consolePayments with a query to the gateway, settlement runs, the trial balance and reconciliation. The simulated gateway reproduces deposits to virtual accounts, expirations, webhook resends and fault injection.
Invite-gated betaReal sign-ups need a one-time invite code issued from the console, with terms and a privacy policy accepted at sign-up. Account deletion removes the personal data, attachments and chat contents while acceptance records and ratings stay anonymized. The database and the attachments are backed up once a day and kept for fourteen days.
Integrations

What is simulated, and what replaces it

Every point already carries the platform’s real flows. Only the provider behind each interface is simulated.

Point Now In production
PaymentSimulated domestic PG for escrow deals, bookings, credit packs and reviews: checkout window, server approval, partial cancellation for refunds and disputes, virtual account deposits and signed webhooksA PG contract behind the same checkout, approval, cancellation and webhook calls
PayoutSimulated payout service: seller registration, scheduled payouts, completion and failureA PG payout service holding and transferring the funds
IdentitySimulated phone verification window, code shown on screenA mobile identity verification provider
Business and accountImplemented: registration number, owner name and opening date checked against the National Tax Service lookup (public data portal); a mismatch blocks the provider review. Account holder simulatedAn account holder inquiry through open banking
MessagingIn-app notifications plus a recorded outbox by template codeKakaoTalk business messages with approved templates, SMS, mail and web push
E-tax invoiceCommission invoice recorded per payout, not transmittedIssuing and transmission through an e-invoice service provider
E-contractContract created from the proposal, signatures recorded for both sides; NDA signatures recorded per manufacturerAn e-signature service
Report draftingRule-based draft per vertical from the submitted materialsA language model behind the same drafting call
File storageImplemented: type checked from file contents, served through signed, expiring linksObject storage behind the same interface
Limits

What this does not claim

The three deal loops are implemented end to end. Money, identity, the businesses and the people are outside the scope.

No real payment or payoutThe gateway and the payout service are simulated. No money moves, no card details are collected and no bank account is contacted. A deal opened by an invited user skips payment, escrow and the ledger entirely: the contract and the money are agreed outside the platform, and the screen keeps the acceptance record.
No real verification or signaturesIdentity, account holder checks, e-contracts and NDAs are simulated. The business registration lookup is the exception: number, owner name and opening date go to the National Tax Service and a mismatch blocks the provider review.
Fictional providers, customers and ratingsSeventy days of history across the three verticals are generated through the platform’s own flows, and seeded accounts keep adding requests, quotes, bookings and ratings. The demo accounts are shared by every visitor and can be reset from the console. An invited account sees none of it: fictional providers, listings and ratings are hidden, the aggregate figures carry a note that they come from demo data, and the only provider on screen is joygoLive. A brief from an invited user receives no simulated proposals and is read by the joygoLive team.
Not yet implementedRecurring bookings and holiday hours, credit subscriptions, access control over dispute evidence, and renegotiating milestone amounts inside a dispute. Legal review of the contract, NDA and refund terms has not been done.