Our Q4 2026 calendar is open — first consultation and technical review are free.
Skip to content
Classifieds

Alsatçıdan

A compliance-ready second-hand marketplace: an e-Government identity bridge, a Turkish search engine and cursor-based listing built for millions of rows. 24 tables, 55 database functions, three edge services.

Alsatçıdan alsatcidan.com
24 tablo55 fonksiyon
3uç servis
e-Devletkimlik doğrulama
Open the site
Technical profile

What it is built with

StackReact + TypeScript front end, three separate Cloudflare Workers (JavaScript)
BackendPostgreSQL · 24 tables · 55 database functions · 20 indexes
Codebase~30,000 lines · 184 files (1,500 of them in edge services)
Interface33 pages · a 16-screen admin panel · 10 legal pages
Edge servicesPublic read API · media upload · e-Government verification bridge
SearchSynonym dictionary, stemming, typo correction, search vectors
ScaleCursor pagination, capped counting, incremental counter queue
Integrationse-Government identity, vehicle plate authority, Instagram business posting
What makes it different

Not a standard website

  • Identity verification is real, not cosmetic. A dedicated bridge to the ministry's system handles e-Government sign-in and plate authority checks for vehicle listings — required by regulation and absent from most classifieds sites.
  • The secret-bearing layer runs separately. The public read API is edge-cached while the identity bridge is its own service, so private keys never touch the open endpoint.
  • Search understands Turkish. Synonyms, stemming and typo correction are built in, and a sentence like "clean bicycle under 50k in Istanbul" is translated into filters by rules — without the cost of a language model.
  • Designed for millions of rows. No numbered pages: cursor-based listing, capped counts and a separate counter table keep query time flat where a standard OFFSET approach climbs into seconds.
  • Swap and comparison are first-class. Listing-for-listing swaps work many-to-many, and up to four listings can be compared side by side.
  • Published listings post themselves to Instagram. Business-account sharing is part of the system, not a third-party tool.
What we did

The solution in six parts

01

Identity and authority verification

A separate verification bridge to the ministry's system: e-Government sign-in, writing the verified identity to the profile and checking plate authority for vehicle listings. This secret-bearing layer is isolated from the public read API.

02

Turkish search engine

A synonym dictionary, stemming, typo correction and autocomplete. The search vector is computed at write time; relevance ranking weights title, description and category. Natural-language queries are translated into filters by rules, not a model.

03

A list built for scale

Cursor-based infinite scrolling instead of numbered pages, capped counting and an incremental counter queue. Query time stays flat deep into the list; filter counts are read from a dedicated counter table.

04

Seller flow and business storefronts

A five-step listing form, brand and model catalogues, bulk import, plus storefront pages with their own section layout and ordering for estate agents, car dealers and shops.

05

Swap and comparison

Listing-for-listing swaps including many-to-many matches, and a side-by-side comparison table for up to four listings.

06

Moderation and automatic sharing

A 16-screen admin panel (queue, members, applications, reports, logs), 10 legal information pages, and automatic sharing of published listings to a business Instagram account.

Components

What was built

  • 24 tables, 55 database functions, 20 indexes on the listings table
  • Three separate edge services: public read API, media upload and the identity bridge
  • Edge caching takes read load off the database; images are served from a dedicated domain
  • Scheduled jobs for counter consolidation, sitemap generation and maintenance
  • Write quotas and hourly buckets to limit abuse
  • Pre-rendering for search bots and a daily split sitemap
  • Listing photos are resized in the browser before upload to object storage
  • Secret settings are readable only by authorised functions

Want a similar system?

Most of the problems we solved on Alsatçıdan repeat across sectors. Tell us about yours and we will scope it together.