Skip to content
Anton GoncharovAI systems developer

Next.js marketplace website · FastAPI · PostgreSQL

Polka marketplace

A storefront needs both a catalog and an answer to “what do you have under 3,000”. Here a phrase becomes filters, and a price in the answer is taken from the product stored in the database. The order is saved in PostgreSQL and opens in the account by phone.

Scenario: Polka marketplace from Kazan — fictional: six workshops, one hundred home goods, a warehouse in the same city.

Demo screenshot: Polka marketplace

Open the demo

Type “lamp under 3000” or ask the consultant “I want an elephant” — there isn’t one in the catalog, and it says so. Place an order and sign in to the account with the code 4237: the order comes from the database. The order and a question to a seller appear in the owner dashboard.

Leads from the demo website are visible only to you, in the “Owner dashboard”: the server validates the form and stores nothing.

What the demo shows

  • A catalog of one hundred products in eight categories and six sellers: filters, order, price and warehouse stock

  • Search in words: “lamp under 3000” or “linen throw” is read as a category, a price cap and a material

  • The consultant answers only from the catalog and short rules for delivery, returns and payment. What isn’t in the database isn’t in the answer

  • On a product page — similar products from the same category, the same seller first

  • Cart: a courier at 390 ₽, free from 5,000 ₽ of goods, and free pickup

  • Seven pickup points in five cities, three of them in Kazan. A point chosen on the city sketch is filled into the cart. Storage is 5 days

  • An order route by a number like ПК-0001: stages are counted from the checkout time. No warehouse or carrier is connected

  • The order is written to PostgreSQL. Nothing is charged

  • An account by phone and the code 4237: orders from the database, a repeat order, a return request in this browser, saves, recently viewed, addresses and a profile

  • A question the catalog couldn’t answer can be passed to a seller — the request lands in the owner dashboard

How to try it

  1. Search in words

    On the first screen type “lamp under 3000” or open “linen throw”. Above the grid the catalog says how the request was read.

  2. Ask the consultant

    The “Ask Polka” button is at the bottom left. Ask “I want an elephant”, then “how much is delivery”.

  3. Look at similar items

    Open a product and the “Similar” block. Two items in the catalog have “Add to cart” closed: they are out of stock.

  4. Place an order

    On the Delivery page choose a point in Kazan — it is filled into the cart and delivery becomes free. By courier, a product under 5,000 ₽ costs 390 ₽. The order number looks like ПК-0001.

  5. Open the route

    On “Where is the order” enter the number. Stages follow the checkout time: accepted, packed, on the way, then a point or a courier. No warehouse is connected.

  6. Open the account

    Sign in as Anna, code 4237. The overview shows the order from the database. From there you can repeat the order, leave a return request, and open saves, viewed items and addresses.

No paid neural networks

There are no paid neural network requests: a phrase is parsed by rules on the server — category, colour, “under” and “from” with a price, word forms such as “linen”. The consultant names only products that passed that filter, and their price from the database. In a production version a language model follows the same scheme, with the catalog, stock and delivery given to it as tools — it won’t invent a product or quote someone else’s price. The workshops, goods and demo orders are fictional.

The demo runs without OpenAI, YandexGPT or GigaChat API keys. Wherever a production system calls a model, there’s a local stub with the same interface — so the demo is free, always available and never makes things up.

What a production project adds

  • Catalog, stock and prices from the sellers’ inventory or a PIM, the order in an OMS. Payment via acquiring and SBP (Russia’s Faster Payments System), a receipt under 54-FZ
  • Points and tracking via a CDEK or other carrier API: a tariff, a point map and shipment statuses. Here the stages are counted from the order time
  • Search and the consultant — a language model (YandexGPT or GigaChat) with the catalog, stock and delivery rules as tools
  • The account — by phone and a code, or SMS sign-in. Saves and the cart can live on the server, not only in the browser
  • Requests from the account and questions to a seller go to a CRM, and the seller gets a notification

Stack

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • FastAPI
  • PostgreSQL

Want the same for your business?

Tell me about your task — I’ll tell you what from the demo fits, how long it will take and what I’ll need from you.

Other demos in this section

All demos
  • Next.js website · service landing page

    live

    Dental clinic landing page

    A one-page clinic website that brings in patients: a quiz suggests a treatment, a calculator prices the plan with installments, online booking shows doctors’ free time, and an AI consultant answers from the price list. The headline is A/B-tested; leads and goals are visible in the owner dashboard.

    • Next.js
    • React
    • TypeScript
  • Next.js website · B2B, multi-page

    live

    Manufacturing company website

    A multi-page website for a steel structures plant that sells on its own: a calculator prices a building with a live drawing, a builder assembles a technical specification, case studies filter by industry, you can apply for a job with a CV, and site search understands queries in plain words.

    • Next.js
    • React
    • TypeScript
  • Next.js website · catalog, map, comparison

    live

    Real estate catalog with smart search

    A real estate agency’s apartment catalog: type “two-bedroom near the metro under 12 million” and the search sets the filters itself, shows apartments on a city map, compares up to four and sends new ones to Telegram.

    • Next.js
    • React
    • TypeScript
  • Next.js website · AI translation, per-language SEO

    live

    An export website in four languages

    A website for an Altai honey exporter in Russian, English, Chinese and Arabic: translated page URLs, per-language SEO, a wholesale price calculator with delivery and a translation studio that checks the neural network’s draft against a glossary.

    • Next.js
    • React
    • TypeScript
  • Next.js website · customer account, AI assistant, Telegram

    live

    Customer account portal

    A print shop’s customer account: orders with production stages, layout approval with comments right on the layout, invoices paid via SBP, documents with an electronic signature, a new order with a price calculation, a chat with an AI assistant and a manager, notifications in Telegram.

    • Next.js
    • React
    • TypeScript
  • Next.js website · Python in the browser, AI mentor

    live

    Online school with a student account

    An online analytics school: a landing page with a Python task checked right in the browser, a level test with a personal curriculum, installments with a tax deduction estimate, a student account with homework and AI review, an AI mentor that answers from course materials and a certificate verified by QR code.

    • Next.js
    • React
    • TypeScript
  • Next.js website · booking by plate number, photo report, approval

    live

    Car service with booking and repair status

    A car service website: booking by plate number or VIN into free bay slots, a “what’s knocking?” diagnosis with likely causes and a price range, repair status with a photo report, approval of extra work and payment by link, and a garage with service history and a forecast of the next maintenance.

    • Next.js
    • React
    • TypeScript
  • Next.js website · case analysis, claim letters, calculators

    live

    Law firm with AI case analysis

    A law firm website: describe your situation in your own words right in the hero, get an AI analysis with an assessment of prospects, a claim letter in Word, court fee, penalty and limitation period calculators, a document checklist, case progress in a client account, a price builder and booking with a lawyer.

    • Next.js
    • React
    • TypeScript
  • Next.js SaaS website · sandbox, dashboard, API

    live

    SaaS: AI replies to WB and Ozon reviews

    The website and dashboard of a SaaS service that replies to Wildberries and Ozon reviews: a sandbox with review analysis and checks, autopilot by rating, a queue with approval, topic analytics, plans with a payback calculator, store connection by key, an invoice by tax ID and API documentation with a live console.

    • Next.js
    • React
    • TypeScript
  • Next.js restaurant website · menu, table booking, delivery

    live

    Restaurant with delivery

    A restaurant website with delivery: a menu with allergen and diet filters, AI dinner selection from a plain phrase, table booking on a floor plan showing free tables for the chosen time, a cart with delivery zones, a minimum order and promo codes, and order tracking with the courier on a map.

    • Next.js
    • React
    • TypeScript
  • Next.js fitness studio website · booking, memberships, account

    live

    Fitness studio

    A small-group fitness studio website: a weekly schedule with spots and two-click booking, a waiting list that moves you into the group automatically, memberships you can freeze from your account, an AI 4-week training plan from five questions and a personal account with attendance stats.

    • Next.js
    • React
    • TypeScript
  • Next.js IT conference website · program, tickets, networking

    live

    Conference website

    A two-day conference website: a program by room and track with a personal schedule, AI selection of talks without overlaps by role and free text, tickets in price waves with promo codes and a team discount, a QR code for every attendee checked at the entrance, and networking with matching and meetings during breaks.

    • Next.js
    • React
    • TypeScript
  • Next.js corporate logistics website · calculator, tracking, AI request

    live

    Transport company website

    A transport company’s corporate website: a calculator that compares groupage and a dedicated truck at once, shipment tracking with the truck on a map, AI parsing of a request from an email or waybill with missing fields highlighted, a map of warehouses and terminals with a storage calculation, a carrier application with an eligibility check, and company details with checksum validation.

    • Next.js
    • React
    • TypeScript