Skip to main content
    All cases
    Portera · Riga, Latvia · Interior / retail

    The curtain atelier that quotes itself in 12 seconds

    A three-language site with a filterable portfolio, an instant price calculator and requests that land straight in the owner's Telegram.

    Open live app
    12 sTo a price

    Measured on portera.lv: 4 fields, no sign-up

    3Languages
    <1 sLead → Telegram
    3 weeksBrief → live
    Portera price calculator showing a price range
    Calculator: window size + fabric class + mechanism → price range.
    1. 1Estimated price appears instantly: from €225
    2. 2Itemised breakdown: fabric, tape, lining

    What runs automatically

    01 / QUOTE

    Estimate engine

    Window size, fabric class and mechanism run through a pricing model, not a fixed price list. The visitor sees a realistic range before a single message is sent.

    02 / INBOX

    Lead inbox in Telegram

    Every request is posted straight to the owner's Telegram through a grammY webhook bot, seconds after submission. Owner commands mark each lead handled, so nothing waits in an inbox she never opens.

    03 / ADMIN

    Admin panel

    Portfolio photos, prices and review copy are all editable from a panel built for the owner, not a developer. Nothing here needs a deploy or a phone call to an agency.

    Built with Claude Code in 3 weeks

    Before

    Every quote meant a phone call and a home visit.

    After

    Visitors see a price range online in seconds, no call needed.

    []/More screens
    Portera home page
    Home: portfolio grid with fabric and room filters.
    Portfolio: finished work filtered by fabric and room
    Portfolio: finished work filtered by fabric and room.
    Under the hood

    01How it works

    A service layer, not a CMS

    Next.js 15 App Router on Vercel, with Supabase for Postgres, auth and storage. The front end never touches the database directly: every read and write goes through API routes and a service layer, so a mobile app or an online store can be added later without a rewrite. The estimate engine turns window size, fabric class and mechanism into a price range before the visitor talks to anyone. A grammY Telegram bot delivers each lead to the owner and takes commands to mark it handled.

    02Constraints

    Demo mode and no vendor lock

    With no environment variables set, the site runs in demo mode: built-in data, requests logged to the console instead of sent anywhere. The client reviewed the whole flow, including the calculator and the admin panel, before a single account existed. Everything the owner needs to change day to day (prices, portfolio photos and review copy) lives in the admin panel, not in code.

    03Outcome

    Live at portera.lv

    In production with the real portfolio and real prices. A lead reaches the owner's Telegram within a second of submission, and she answers from her phone between other jobs. The site currently serves Latvian by default, with Russian and English for the rest of her customers.

    ANM SOLUTIONS / CONTACT US

    Want something like this?

    First 30-minute call is free. We scope it, you decide.

    []/More cases