Darbi04 / 05

Viena stilista stundas pārvērstas produktā: maksas Telegram piltuve, kas pieņem naudu un fotogrāfijas, zīmola vietne, kas aptur ritināšanu, un abonementa klubs.

la-abramova.com

LA Abramova sākumlapas pirmais ekrāns
Pirmais ekrāns: stilista balss un viens ceļš uz Telegram.
Klients
LA Abramova, personīgais stilists Rīgā
Apjoms
Telegram bots, administrēšanas panelis, vietne, kluba lapas
Periods
2024. gada maijs – 2026. gada oktobris
Tehnoloģijas
PHP, Symfony, PostgreSQL, Stripe, S3, Telegram Bot API, Next.js, Tailwind
Tiešsaistē
la-abramova.com

Stilists pārdod stundas, un stundas beidzas. Auditorija dzīvo sociālajos tīklos un Telegram, nevis rezervācijas lapā. Tāpēc darbi bija trīs: panākt, lai viens pakalpojums pārdod sevi pats, dot zīmolam lapu, kas spēj apturēt ritināšanu, un izveidot ienākumus, kas nav atkarīgi no kalendāra.

Tas prasīja divarpus gadus un trīs produktus, un svarīgākā izmaiņa nebija tehniska. Pirmajā versijā klienta krāsu tipu izvēlējās modelis. Palaistais produkts lēmumu atdeva atpakaļ ekspertam.

  1. 01

    Maksas piltuve Telegram iekšienē

    @FauvismBot ved klientu no „kā jūs sauc” caur ekskursiju pa gadalaikiem līdz minējumam par savu krāsu tipu un tad uz Stripe Checkout. Vispirms nauda: foto apstrādātājs nedarbojas bez pabeigta maksājuma. Pēc tam 15–20 fotogrāfijas, glabātas katram klientam atsevišķi.

  2. 02

    Stilista darba galds

    Administrēšanas panelis vienam cilvēkam: atver pasūtījumu, redz fotogrāfijas turpat, izvēlas vienu no 24 krāsu tipiem, vajadzības gadījumā pievieno komentāru, noklikšķina Fulfill. Rezultātu piegādā bots. Maksājumi ir tikai lasāmi, un pasūtījumus nevar dzēst.

  3. 03

    Vietne ar balsi

    Četri pakalpojumi ar cenām, lookbook un viens ceļš uz Telegram. Pirmā ekrāna atslēgas vārds pats uzrakstās ar lūpukrāsu, izmantojot SVG turbulences filtru; peles prožektors izceļ fotogrāfiju; lūpu kursors strādā virs visa, uz kā var klikšķināt. Next.js statiskais eksports, bez servera, bez CMS.

  4. 04

    Klubs, kas nopirkts, nevis uzbūvēts

    Pirmā versija darbojās uz mitinātas kursu platformas un Telegram grupas. Savs LMS apzināti netika rakstīts. 2026. gada septembrī vietne tika pārbūvēta ap House of Image, ikmēneša klubu, ko vada divi cilvēki, un 24. oktobrī tas atvērās.

Kā tas uzbūvēts

  1. Uzmanība

    • Sociālie tīkli
    • Zīmola vietneviens ceļš uz Telegram
  2. Piltuve

    • Telegram botsizglītošana, tad minējums
    • Stripe Checkoutwebhook, nevis pāradresācija
  3. Materiāls

    • 15–20 fotogrāfijastikai pēc maksājuma
    • S3katram klientam atsevišķi
  4. Eksperts

    • Stilista darba galdsviens no 24 tipiem
    • Rezultāts Telegram2 dienu laikā
House of Image kluba lapa LA Abramova vietnē
House of Image, atvērts ar vienas rindas komitu.

Tas, kas portfolio parasti nenonāk. Tas viss notika patiesībā, un tas viss ir komitu vēsturē.

  1. Kļūme 01

    AI, kuram fotogrāfiju, visticamāk, nekad neparādīja

    Simptoms
    Pirmais prototips strādāja. Nosūti pašbildi, saņem pārliecinātu atbildi: gadalaiks, krāsu paraugi ar nosaukumiem, padomi par apģērbu un grimu.
    Cēlonis
    Pārlasot šo kodu šai lapai: tas augšupielādē pašbildi Imgur un tad ielīmē URL vienkāršā teksta uzvednē. Izsaukumā nav attēla daļas, un API no teksta saites nelādē. Tātad modelis, visticamāk, seju nekad neredzēja un atbildēja tikai no vārdiem. Atkārtoti to nepalaidu; tas ir koda lasījums.
    Risinājums
    Pārrakstīšana izsaukumu nesalaboja. Tā izņēma modeli no lēmuma: 15–20 fotogrāfijas, un eksperts izvēlas no 24 tipiem tur, kur prototipam bija četri. Produkts kļuva labāks, pievienojot cilvēku. Pārliecināta JSON atbilde nav pierādījums, ka modelis vispār uz kaut ko skatījies.
  2. Kļūme 02

    Bots, kas pieņēma katru ziņu un neteica neko

    Simptoms
    Pēc pārcelšanās uz Heroku /start, šķiet, nesaņēma atbildi. Rekonstruēts no komitu žurnāla: 2025. gada 3. aprīļa naktī ugunsmūri 01:44, septiņas žurnāla rindas 02:09.
    Cēlonis
    Ienākošie atjauninājumi tika novirzīti uz asinhronu rindu, bet izvietojums bija viens web process. Rindu neapstrādāja nekas. Webhook pieņēma katru atjauninājumu, un tas gaidīja mūžīgi. Klusa veiksme ir sliktākais kļūmes veids, kāds vien pastāv.
    Risinājums
    Worker tika pievienots 02:18:55 un noņemts pēc 2 minūtēm 7 sekundēm, un ziņas pārcēlās uz sync. Viens vārds konfigurācijas failā. Atkļūdošanas žurnāli tika izdzēsti 02:22.
  3. Kļūme 03

    Četrpadsmit numurēti labojumi, tad viena rinda

    Simptoms
    Viena Telegram bota izvietošana AWS 2025. gada martā prasīja 17 komitus: „fix deploy github” līdz pat numuram 14, Dockerfile, nginx, ECR, EC2 caur SSH, RDS. Env faila tiesības staigāja 600, 644, 600, 777, 640.
    Cēlonis
    Infrastruktūra bija daudz smagāka par slodzi: viena webhook lietotne ar mazu datplūsmu. Vairāk nekā puse no visiem backend komitiem, 27 no 52, aizgāja, lai to nogādātu produkcijā.
    Risinājums
    Vienas rindas Procfile 2. aprīlī, un pēc divām minūtēm „Remove docker stuff”: 12 faili, −511 rindas. Labojums bija sistēmas izdzēšana.
  4. Kļūme 04

    Divas cenas, viens produkts

    Simptoms
    2025. gada maijs, komits ar nosaukumu „Fix Old hardcoded priceID”. Cena bija mainījusies, bet bots joprojām iekasēja veco.
    Cēlonis
    Stripe cenas ID bija iekodēts PHP, bet produkta ierakstu varēja rediģēt administrēšanas panelī. Divi patiesības avoti vienam skaitlim.
    Risinājums
    ID pārcēlās uz konfigurāciju. Godīgi sakot: cena administrēšanas panelī joprojām baro tikai iekšējo ierakstu, un no kartes tiek iekasēts tas, ko saka Stripe. Šis slazds ir katrā funkcijā „rediģēt cenas administrēšanas panelī” pie mitinātas apmaksas lapas.
  5. Kļūme 05

    Palaišana aiz signāllentes

    Simptoms
    Pārbūvētajai vietnei bija jāsāk darboties, kamēr klubs vēl nebija gatavs, un tā lapas nevarēja rādīt cenas vai saites.
    Cēlonis
    Klubs skar navigāciju, pirmo ekrānu, tīzeri, veselu lapu un to, vai meklētāji drīkst to indeksēt. Piecas vietas, kur vienu aizmirst.
    Risinājums
    To visu vada viena konstante CLUB_OPEN; slēgts nozīmē dzeltenu lenti un „izstrādē”. Tai apzināti ir norādīts tips boolean, citādi TypeScript izsecina literāli un atvērto zaru nosauc par nesasniedzamu. Kluba atvēršana pēc 32 dienām bija vienas rindas komits.

  • komiti 29 mēnešostrīs repozitoriji, viens autors
  • krāsu tipiprototipa gadalaiki pret stilista apakštipiem
  • fotogrāfijas uz pasūtījumubots savāc pēc maksājuma
  • komiti vietnes pirmajā dienā2025. gada 15. aprīlis, no 00:32 līdz 14:24
  • rindas, ko izņēma labojumsDocker un EC2 prom, viena Procfile rinda klāt
  • rinda, lai atvērtu klubu32 dienas pēc palaišanas aiz lentes

Projekta pulss

Katrs komits projekta repozitorijos uz vienas līnijas. Jo augstāks stabiņš, jo karstāks laiks.

2024. g. maijs2026. g. okt.
  1. GPT prototips: 286 Python rindas
  2. Pārrakstītā Symfony versija sasniedz Stripe
  3. Docker un EC2 prom, viens Procfile klāt
  4. Vietne vienā piegājienā
  5. Pirmais klubs un tā lapa
  6. Pārbūve: jauns mākslinieciskais virziens, četri pakalpojumi
  7. House of Image atveras

Pakalpojumu biznesam vispirms nav vajadzīga platforma. Tam vajadzīgs viens apmaksāts ceļš, kas strādā no sākuma līdz galam, un eksperts joprojām dara to daļu, ko spēj tikai eksperts. Visu pārējo var nopirkt, noīrēt vai pievienot vēlāk. Ja pārdodat savas stundas, tieši ar to es sāktu.

Uzrakstīt brīfu

Ātri atbildu WhatsApp un Telegram

Vai pajautājiet par to digitālajam prātam
Nākamais projektsArtForte