Sora mea își conduce afacerea de plimbat câini din mașină. Paisprezece clienți, un Google Calendar comun pe care trei persoane îl editează prost și obiceiul de a trimite "vin acum!" către oricine urmează la rând, ceea ce înseamnă că a uitat de două ori și a trebuit să dea telefonul jenant. M-a rugat joi să-i fac "o aplicație, nimic complicat" și voia să fie live până luni. I-am spus că voi încerca să am ceva gata până duminică seara. Acesta e jurnalul pe care l-am ținut, pentru că voiam să văd ulterior ce a durat cu adevărat față de ce credeam eu că va dura.
Vineri, 20:40 — promptul
Nu am deschis un editor gol. Am deschis chatul și am descris pur și simplu afacerea: plimbătoare de câini pe cont propriu, paisprezece clienți recurenți, clienții trebuie să primească automat un SMS de reamintire în dimineața plimbării, are nevoie de o pagină simplă unde poate adăuga un client nou și numele câinelui în sub treizeci de secunde, pentru că de obicei face asta stând în fața casei cuiva. Am spus "aplicație de rezervări" o dată și apoi am retras imediat — nu e o aplicație de rezervări, e o listă de clienți cu un declanșator de reamintire. A conta pe precizie despre ce NU este s-a dovedit mai important decât descrierea a ceea ce este.
Vineri, 21:05 — planul revine
Planul avea trei elemente pe care nu le cerusem și pe care le-aș fi uitat:
- O modalitate de a marca o plimbare ca finalizată, ca reamintirea să nu se declanșeze de două ori
- Un link de dezabonare de la SMS-uri, pentru conformitate
- O vizualizare simplă pe zi în loc de un grid de calendar, pentru că un grid de calendar pe telefon cu paisprezece intrări e doar un perete de text minuscul
Am rescris planul de trei ori separat în următoarele douăzeci de minute, în mare parte reformulând lucruri care nu aveau nevoie de reformulare. Retrospectiv, a fost pură emoție — agentul de planificare nimerise forma corectă din prima, iar eu editam propoziții în loc de conținut.
Vineri, 21:40 — prima rulare
Am pornit-o și am urmărit echipa de agenți lucrând la modelul de client, pagina cu vizualizare pe zi și task-ul de reamintire. Designul a ieșit arătând ca un formular de admitere la un cabinet veterinar, ceea ce era de fapt corect pentru public — clienții surorii mele sunt proprietari de câini de 40-50 de ani, nu un pitch deck pentru investiții Series A. Aproape am respins stilul vizual din obișnuință, înainte de a realiza că se potrivea utilizatorului real mai bine decât orice aș fi ales eu.
Vineri, 22:30 — prima pauză
Partea cu SMS-urile avea nevoie de o cheie activă de la un furnizor înainte de a trimite ceva real, ceea ce e comportamentul corect, nu un bug, dar uitasem că nu configurasem una. Restul a continuat să funcționeze — aplicația doar înregistra ce ar fi trimis, în loc să trimită efectiv, ceea ce însemna că puteam continua să construiesc în loc să blochez totul pentru o înregistrare Twilio la 22:30 vineri seara. M-am culcat.
Sâmbătă, 8:00 — problema reală
Aceasta este cea care a costat timp real. Cerusem ca reamintirile să fie trimise "dimineața plimbării", iar prima versiune a interpretat asta ca o trimitere fixă la 7:00 pentru fiecare client, indiferent de ora plimbării. Bine pentru o plimbare la 9:00, inutil pentru una la 16:00. M-am întors în chat și am spus direct:
Reamintirea ar trebui declanșată cu un număr fix de ore înainte de ora programată a fiecărei plimbări, nu la o oră fixă din ceas.
Corecția a durat un singur schimb de mesaje. Lecția nu a fost despre unealtă, ci despre propriul meu prompt: "dimineața" e genul de expresie care pare precisă pentru cel care o rostește și complet ambiguă pentru toți ceilalți, inclusiv, aparent, pentru mine, douăsprezece ore mai târziu.
Sâmbătă, 11:15 — citind fișa de verificare
Înainte să mă ating de altceva, am deschis ce verificase build-ul singur:
- Formularul de client se salvează corect
- Task-ul de reamintire rulează pe o zi de test cu programări
- Linkul de dezabonare dezabonează efectiv un număr de test
Nimic nu ardea. Am căpătat obiceiul de a citi asta înainte să caut probleme singur, pentru că îmi spune unde să-mi îndrept efectiv atenția, în loc să dau click la întâmplare sperând să observ ceva greșit.
Sâmbătă, 14:00 — SMS-uri, de data asta pe bune
Am configurat contul furnizorului, am introdus cheia, mi-am trimis un SMS de test.
Lucru mic, dar acesta e momentul în care un proiect încetează să fie un demo și devine ceva ce există în lume.
Sâmbătă, 16:20 — așteptarea domeniului
I-am direcționat domeniul real spre aplicație și apoi nu am mai făcut nimic util timp de două ore cât DNS-ul se propaga. Am folosit timpul ca să introduc eu însumi cele paisprezece rânduri reale de clienți, în loc să las asta pentru ea să tasteze de pe telefon duminică seara, ceea ce retrospectiv a fost cea mai bună utilizare a timpului din tot weekendul — introducerea de date lipsită de glamour bate orice cantitate de lustruire în plus pe care nimeni n-a cerut-o.
Duminică, 9:00 — partea pe care aproape am supra-construit-o
Mi-a intrat în cap ideea că ar vrea un rezumat săptămânal — plimbări finalizate, absențe, venituri — și am început să cer un digest automat de luni dimineață. M-am oprit la jumătatea descrierii. Are paisprezece clienți și își ține propriile evidențe într-un carnet. O funcție de rezumat e o soluție pentru o problemă pe care încă n-o are. Am renunțat. Pot să o adaug în cinci minute în săptămâna în care chiar o cere, iar până atunci e doar suprafață în plus pentru ceva ce ar putea merge prost.
Duminică, 13:10 — i-am trimis linkul
A adăugat un client de pe telefon stând într-o parcare, ceea ce a fost testul real, mai important decât orice verificasem eu însumi.
Duminică, 18:40 — ce aș sări data viitoare
Ce aș sări, data viitoare:
- Trei rescrieri ale planului care n-au schimbat nimic
- Două ore de îngrijorare legată de furnizorul de SMS-uri înainte măcar să încerc să-l configurez
- Dashboard-ul de rezumat aproape construit — cele mai rapide treizeci de minute din tot weekendul au fost cele în care i-am spus "nu" propriei mele idei, în loc să o construiesc
Tot ce a durat efectiv timp real a fost fie o ambiguitate reală în propria mea cerere, fie așteptarea inevitabilă a serverului DNS al altcuiva. La următorul build, scriu promptul o singură dată, îl recitesc ca și cum aș fi un străin și am mai multă încredere în primul plan decât am avut în acesta.



