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

- 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.
- 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.
- 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.
- 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.
- 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
Uzmanība
- Sociālie tīkli
- Zīmola vietneviens ceļš uz Telegram
Piltuve
- Telegram botsizglītošana, tad minējums
- Stripe Checkoutwebhook, nevis pāradresācija
Materiāls
- 15–20 fotogrāfijastikai pēc maksājuma
- S3katram klientam atsevišķi
Eksperts
- Stilista darba galdsviens no 24 tipiem
- Rezultāts Telegram2 dienu laikā

Tas, kas portfolio parasti nenonāk. Tas viss notika patiesībā, un tas viss ir komitu vēsturē.
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.
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.
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.
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.
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 tipsboolean, 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.
- GPT prototips: 286 Python rindas
- Pārrakstītā Symfony versija sasniedz Stripe
- Docker un EC2 prom, viens Procfile klāt
- Vietne vienā piegājienā
- Pirmais klubs un tā lapa
- Pārbūve: jauns mākslinieciskais virziens, četri pakalpojumi
- 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.
Vai pajautājiet par to digitālajam prātam