01Project overview
24freelance is a freelance and remote-work marketplace: an online venue where two sides of the labour market meet. On one side are clients who need a task done — anything from building a website to translating text or designing a logo. On the other are freelancers looking for projects and ready to take on the work. The platform's job is to bring them together so a deal happens, runs without fraud, and leaves both parties satisfied.
A bare "list of gigs" or a "classifieds board" is not yet a marketplace. A real freelance exchange runs on two-sided liquidity: it needs enough projects and enough talent at the same time, or one side leaves and the platform empties out. That is why we designed 24freelance not as a catalogue but as a living ecosystem with bids, deals, messaging, ratings, and a multilingual stream of organic traffic that keeps bringing in new participants.
Technically the project is built on a classic, dependable PHP/MySQL stack tuned for large volumes of content and search load. The interface is fully translated into three languages — Russian, English, and Ukrainian — and not cosmetically: each language has a separate SEO structure with its own URLs and correct hreflang links. User balance top-ups run through our own Payora crypto payment gateway. Below we unpack the problem the platform solves, the entities it is made of, and the engineering decisions that keep this two-sided market in balance.
02Context and the brief
Launching a freelance exchange "technically" can take a couple of weeks — making it alive is far harder. As we broke the task down, a classic set of problems surfaced — the ones that kill most labour marketplaces before they start:
- The chicken-and-egg problem. Clients go where the talent is, and freelancers go where the projects are. If either side is empty, the platform never gets off the ground.
- A trust deficit. People work with strangers over the internet and pay for a result they have not seen yet. Without ratings, reviews, and secure deals, nobody risks their money and time.
- Noise and clutter. Without moderation the feed quickly fills with spam, duplicates, manipulation, and scam projects — and trust in the platform collapses.
- A search blind spot. If a client cannot find a suitable freelancer by skill, category, and budget within a minute, they go to a competitor.
- Where the traffic comes from. Paid traffic for a marketplace is expensive and unstable. Without an organic inflow from search, the economics never add up.
The brief was framed like this: build a full two-sided marketplace that is easy and safe for both sides. The client should quickly find talent and not fear for their money. The freelancer should find projects, present themselves, and get paid. And the platform itself should grow on multilingual organic traffic, not on advertising alone.
A separate layer of the brief was multilingualism as a growth channel, not a checkbox. The Russian-, English-, and Ukrainian-speaking markets largely do not overlap, and each is its own source of search traffic. Putting a "language switch" on top of a single URL means losing that traffic. So multilingualism was baked into the SEO architecture from the start rather than bolted on the side.
03Project goals
From the brief came concrete product and engineering goals that we kept in focus at every stage:
- Balance of two sides. The platform must deliver value to both the client and the freelancer from the very first visit — otherwise one side will not come back.
- Trust by default. Ratings, reviews, profiles with history, secure deals, and moderation are built into the product, not added after the fact.
- Fast and precise search. A client finds talent, and a freelancer finds a project by category, skill, tag, and keyword in seconds.
- Multilingual SEO. Separate URLs and hreflang for ru/en/uk so each language brings its own organic traffic.
- Transparent money. Clear balance top-ups and safe in-platform settlements through a payment-gateway integration.
- Manageability. Moderation of projects and content, so the quality of the feed does not depend on the good faith of every participant.
All of these goals pull the platform in one direction — toward a state in which a deal between strangers becomes an ordinary, safe transaction rather than a risk.
04What we built
24freelance assembles the freelance market into several interconnected blocks that together cover the whole path from posting a task to payment and a review:
Projects and tasks
A client posts a task with a description, budget, category, and deadline — the entry point for freelancers.
Responses and bids
Freelancers respond to a project, proposing terms and a price — the client chooses from live bids.
Profiles of both sides
Separate freelancer and client profiles with history, ratings, and portfolios — the foundation of trust.
Deals and messages
Private messaging and deal structure to agree on details and carry a project through to a result.
Ratings and reviews
Mutual evaluation after the work builds reputation and helps the next participants choose wisely.
Moderation
Projects and content are reviewed — the feed stays clean and the platform stays manageable.
On top of this sits a dedicated homepage template, search, categories and tags, a multilingual interface with separate SEO, and balance top-ups via the Payora crypto gateway. All of it is deployed as a single product on a PHP/MySQL stack.
The product in short: "A two-sided freelance exchange: a client finds talent in a minute, a freelancer finds projects. Trust through ratings and secure deals; growth through multilingual organic SEO."
05Entities and the data model
Every marketplace rests on a clean data model — on exactly how its participants and the links between them are described. 24freelance has many such entities, and each plays its part in the overall market mechanics:
- Projects and tasks — what the client comes for: a task with a description, budget, category, deadline, and status.
- Responses and bids — the freelancers' reaction to a project: a proposal with a price and terms the client decides on.
- Freelancer and client profiles — two roles with different interfaces and scenarios but a single reputation system.
- Private messages — the parties' private correspondence, without which the details of work cannot be agreed.
- Deals — a formalised agreement between the parties that ties a freelancer to a project.
- Ratings and reviews — mutual evaluation of the result that accumulates a reputation history.
- Categories and tags — the navigational and search skeleton by which content is found and grouped.
Crucially, the roles of client and freelancer are separated at the model level: each has its own set of actions, its own dashboard, and its own view of the same deal. This is not interface cosmetics but a foundation — clear navigation and correct permission logic on every screen grow out of this separation.
06The logic of a two-sided market
The central engineering and product challenge of a marketplace is keeping both sides in balance. So we designed every scenario from two viewpoints at once: what the client sees and what the freelancer sees at the very same moment.
For the client, the value is in speed and choice. Post a task — get a flow of responses, compare freelancers by rating, reviews, and price, pick the right one, and move to a deal. The less friction on this path, the higher the chance the project actually gets done rather than stalling.
For the freelancer, the value is in access to projects and the chance to stand out. A profile with history and rating, a feed of relevant tasks, an easy response flow, and a clear deal all work toward the freelancer finding work and coming back again.
These two loops feed each other: more freelancers makes the platform more attractive to clients; more projects gives freelancers more reason to stay. Our job was to keep both loops spinning without a skew, so that every product decision strengthened rather than weakened this cycle.
A marketplace is not the sum of two interfaces but a single mechanism in which one side's action must instantly create value for the other. A posted project is a signal to freelancers; a submitted response is a choice for the client.
07Trust: ratings, reviews, secure deals
Freelance is work with strangers and payment for a result that does not yet exist. Without trust mechanisms such a market simply does not start: the fear of being cheated runs too high on both sides. That is why trust in 24freelance is not a separate feature but a load-bearing part of the product.
Ratings and reviews
After the work is done, the parties rate each other, and these scores accumulate in the profile. This is how reputation forms: a freelancer with a history of successful projects gains an advantage, and a client with good reviews attracts stronger talent. Reputation becomes the platform's currency and disciplines both sides.
Profiles with history
A profile is not a form but an accumulated trail: completed projects, reviews, a rating. The longer someone is on the platform and the more honestly they work, the higher their trust capital. A newcomer has to earn that capital, which is a natural barrier against bad-faith participants.
Secure deals
A deal structures the agreement and ties a freelancer to a project, reducing the risk that one side disappears halfway. Transparent rules and a clear deal status remove the most common cause of conflict — a mismatch in expectations. When both sides see the same terms, disputes become far less frequent.
08Moderation of content and projects
A marketplace feed is its shop window, and without oversight it degrades quickly. Spam, duplicates, manipulation, scam projects, and knowingly dead offers scare off good-faith participants faster than anything else. That is why moderation in 24freelance is built into the lifecycle of projects and content rather than left to manual handling of complaints.
Projects and content are reviewed before they become a full part of the feed. This lets us cut obvious junk at the entrance, keep up the quality of what users and search engines see, and preserve the platform's manageability as content volume grows. Moderation has its own set of statuses and transitions, so for any object it is clear what stage it is at and why it ended up there.
Importantly, moderation works hand in hand with multilingualism: content is reviewed and published in each language version, not only in the original. This means the quality of the feed holds equally across all three languages, and no locale turns into a dumping ground of unverified content.
09Multilingualism ru/en/uk
24freelance speaks three languages — Russian, English, and Ukrainian — and this is not merely a translation of interface labels. Multilingualism here is a full-fledged acquisition channel, so it is built thoroughly.
Each language is essentially a separate storefront of the same platform, with its own interface, its own content, and its own audience. The Russian-, English-, and Ukrainian-speaking freelance markets largely do not overlap: they have different communities, different habits, and — most important for growth — different search queries. Merging them under a single switch on top of one address would mean voluntarily giving up two thirds of the potential organic traffic.
So we split the languages at the URL level: each locale has its own set of addresses and correct hreflang links that tell search engines these are language versions of one page, not duplicates. This way each language is indexed separately, ranks for its own queries, and brings exactly its own audience to the platform.
A separate SEO structure for each language is the difference between "a site with a switch" and "three platforms in one." The first gives the traffic of one market; the second, of three.
10SEO architecture and traffic
For a marketplace, organic search is not a nice bonus but the basis of the economics. Paid traffic to a labour exchange is expensive, competitive, and ends precisely when the ad budget does. Organic, on the other hand, compounds: a page indexed once brings participants for months. So we built SEO into the architecture from the very beginning rather than "optimising later."
A large volume of content — projects, profiles, categories, tags — is a marketplace's natural strength for search: hundreds and thousands of live pages, each of which can rank for its own query. Categories and tags give a clean, logical URL structure that both users and search robots move through easily.
On top of this sits three-language separate indexing with hreflang, correct canonical addresses, and a link scheme that does not breed duplicates. The goal is simple: that each page in each language has a chance to appear in results for its own queries and bring exactly the audience it is relevant to. In sum, this turns the platform's content into a continuously working channel for the inflow of new clients and freelancers.

11Search, categories, and tags
On an exchange with a large volume of content, everything hinges on navigation: if a client cannot find a suitable freelancer in a minute, or a freelancer a relevant project, the platform is useless to them no matter how many offers it holds. So search, categories, and tags are not auxiliary elements but the primary way of moving around the platform.
Search
Search is implemented as a POST request and works over the platform's main body of content — projects and freelancers. The user states what they need and gets a relevant selection rather than an endless feed to scroll through by hand.
Categories and tags
Categories set the coarse structure of the market by line of work, while tags give fine granularity by skill and topic. Together they work for people and for SEO at once: the user narrows the choice to what they need, and the search engine gets clean, meaningful URLs such as tag and category pages that index well.
This pairing turns a large and at first glance chaotic volume of content into a manageable space that is easy to traverse from either side — both the client looking for talent and the freelancer looking for work.
12The homepage: a dedicated template
The exchange's homepage is its face and the first point of contact with both audiences at once. It has its own job, distinct from inner pages: in a few seconds it must explain what the platform is and split two streams of visitors — clients and freelancers — each toward their own scenario.
So we put the homepage in a dedicated template rather than stretching it onto the shared layout of inner pages. This gave us the freedom to assemble exactly the blocks that work on first-visit conversion: clear positioning, entry points for both sides of the market, fresh content, and search. When the homepage lives in its own template, it can be developed and rebuilt without touching the rest of the site, and vice versa.
Analytics, footer, and search on the homepage are wired to its own structure. This separation is a typical engineering decision for projects where different pages have fundamentally different roles: a single template is convenient for uniform pages but gets in the way where a page must play a special role. The homepage is exactly such a case.
13Balance top-ups via Payora
Any marketplace needs an internal money loop: users top up their balance to pay for services, promotion, or in-platform deals. For 24freelance we implemented top-ups through our own crypto payment gateway Payora — the very gateway we designed and built as a separate product.
The mechanics are transparent and dependable: the platform creates an invoice in Payora for the required amount, the user pays it on the gateway's ready-made checkout, and after confirmation Payora sends 24freelance a signed webhook — a server-side payment notification with a cryptographic signature. The platform verifies the signature and only then credits the balance. This way crediting is always tied to a verified fact of payment, not to a user action in the browser.
This integration matters twice over. First, it closes a real user need to top up the balance with cryptocurrency — fast and without intermediaries. Second, 24freelance became one of the first live integrators of Payora and a test of the chosen model — "invoice → payment → signed webhook → credit" — on a real product rather than a test bench.
The signed webhook is the single source of truth about money. The balance is credited on a verified notification from the gateway, so a "paid" status cannot be faked by simply following a link.
14Media and subdomains
A freelance exchange always carries a lot of media: avatars and logos, work screenshots, portfolio photos, offer and project previews. If all of that is served from the main domain mixed in with the application, over time you get extra load, tangled caching policies, and scaling headaches.
So media in 24freelance is split across separate subdomains — for galleries, logos, photos, offers, and projects. This separation brings several gains at once: static assets can have their own caching rules, media delivery is easier to speed up and scale independently of the main application, and the load from heavy files does not interfere with the platform's dynamic part.
This is infrastructural tidiness that is invisible at the start but becomes critical as content volume grows — and a marketplace's content grows constantly. Splitting media and the application up front spares a painful rebuild at the very moment when traffic and data volume are already large.
15Technology stack and infrastructure
For 24freelance we chose a time-tested server stack built for large content volumes, search load, and long-term operation.
- Backend — PHP: marketplace logic, projects and responses, profiles, deals, messages, ratings, and moderation.
- Storage — MySQL: the platform's data model with a large volume of content and links between entities.
- Multilingualism — a separate SEO structure for ru/en/uk: separate URLs and correct hreflang links.
- Payments — integration with the Payora crypto gateway for balance top-ups via the invoice → payment → signed webhook → credit model.
- Media — separate subdomains for galleries, logos, photos, offers, and projects with their own delivery policies.
This stack is a deliberate choice in favour of reliability and predictability: PHP/MySQL suit content-heavy marketplaces perfectly, scale well, and are simple to maintain, and the entire hosting and delivery infrastructure is already built around them.
16Design and UX
A marketplace sells confidence: the user should understand at a glance how to post a task or find a project here and not get lost between two roles. So we made the 24freelance interfaces clear and functional, with the emphasis on scenarios rather than decoration.
The key fork runs between the two roles. The client and the freelancer see the platform differently, and each scenario must be obvious from its own side: for the client — post a task and pick a freelancer; for the freelancer — find a project and respond. The less the user has to guess which loop they are in and what to do next, the higher the chance they reach the target action.
Special attention goes to the screens where trust forms: profiles with ratings and reviews, the project page, the moment of responding and the deal. This is where a person decides to work with a stranger, and any ambiguity costs conversion. So information about reputation, terms, and status is presented so that it is visible immediately and without extra clicks.
17How we worked
We ran the project in sequential stages, each with a tangible result:
- Research. We unpacked the mechanics of a two-sided market, the pain points of both sides, and the requirements for trust and multilingualism.
- Data model. We designed the entities — projects, responses, profiles, deals, messages, ratings, categories, and tags — and the links between them.
- Multilingual architecture. We laid down a separate ru/en/uk SEO structure with distinct URLs and hreflang before filling it with content.
- Core development. We built project posting and responses, both sides' profiles, deals and messages, ratings, search, categories, and tags.
- Moderation and content. We built review of projects and content into their lifecycle, hand in hand with multilingualism.
- Payments. We connected balance top-ups via Payora using the invoice → payment → signed webhook → credit model.
- Infrastructure and launch. We deployed media subdomains, a dedicated homepage template, and an SEO skeleton sized for a large volume of content.
At every step we kept the marketplace's main criterion in mind — value for both sides at once, because that is what decides whether the platform comes alive or stays an empty catalogue.
18The result
What came out is not a "site with gigs" but a full two-sided freelance marketplace: with mechanics that deliver value to both the client and the freelancer, with built-in trust, and with a multilingual SEO foundation for organic growth.
- A client posts a task and finds a freelancer by rating, reviews, and price in a minute.
- A freelancer finds projects, presents themselves through a profile and reputation, and gets paid.
- Trust is built into the product: ratings, reviews, secure deals, and content moderation.
- Three languages with a separate SEO structure turn content into a steady channel of organic traffic.
- Balance top-ups run through our own Payora crypto gateway via the invoice → payment → signed webhook → credit model.
19Takeaways
24freelance is an example of how a marketplace is won not by individual features but by balance. The most valuable thing here is not that "there are projects and there are freelancers" but how their interaction is arranged: with trust through ratings and secure deals, with manageability through moderation, and with organic growth through multilingual SEO. It is these load-bearing, not cosmetic, decisions that separate a living two-sided market from an empty catalogue.
For us this was a project at the intersection of product thinking, content SEO architecture, and integration engineering — from the data model and the multilingual URL structure to connecting our own payment gateway. If you need a marketplace, a multilingual content platform, or a complex service with well-thought-out mechanics and integrations — we know how to take such things all the way to a working launch.
