Η αδερφή μου κάνει βόλτες σε σκύλους από το αυτοκίνητό της. Δεκατέσσερις πελάτες, ένα κοινόχρηστο ημερολόγιο Google που το επεξεργάζονται άσχημα τρία άτομα, και τη συνήθεια να στέλνει «έρχομαι!» σε όποιον έχει σειρά το σκυλί του, πράγμα που σημαίνει ότι δύο φορές το ξέχασε και αναγκάστηκε να δώσει άβολες εξηγήσεις στο τηλέφωνο. Μου ζήτησε μια Πέμπτη «μια εφαρμογή, τίποτα φανταχτερό» και ήθελε να είναι έτοιμη μέχρι την επόμενη Δευτέρα. Της είπα ότι θα προσπαθούσα να έχω κάτι μέχρι το βράδυ της Κυριακής. Αυτό είναι το ημερολόγιο που κράτησα, γιατί ήθελα να ξέρω μετά τι πραγματικά μου πήρε χρόνο σε αντίθεση με το τι νόμιζα ότι θα μου πάρει.
Παρασκευή, 8:40μμ — το prompt
Δεν άνοιξα ένα κενό πρόγραμμα επεξεργασίας. Άνοιξα τη συνομιλία και απλώς περιέγραψα την επιχείρηση: μία γυναίκα που κάνει μόνη της βόλτες σε σκύλους, δεκατέσσερις σταθεροί πελάτες, χρειάζεται οι πελάτες να λαμβάνουν αυτόματο μήνυμα υπενθύμισης το πρωί της βόλτας τους, χρειάζεται μια απλή σελίδα όπου μπορεί να προσθέτει νέο πελάτη και το όνομα του σκύλου του σε λιγότερο από τριάντα δευτερόλεπτα γιατί συνήθως το κάνει όρθια στην είσοδο κάποιου σπιτιού. Είπα «εφαρμογή κρατήσεων» μία φορά και αμέσως το ανακάλεσα — δεν είναι εφαρμογή κρατήσεων, είναι μια λίστα πελατών με μηχανισμό υπενθύμισης. Το να είμαι ακριβής για το τι ΔΕΝ είναι αποδείχτηκε πιο σημαντικό από το να περιγράψω τι είναι.
Παρασκευή, 9:05μμ — επιστρέφει το πλάνο
Το πλάνο είχε τρία στοιχεία που δεν είχα ζητήσει και θα τα ξεχνούσα:
- Έναν τρόπο να σημειώνεται μια βόλτα ως ολοκληρωμένη, ώστε η υπενθύμιση να μην ενεργοποιείται δύο φορές
- Σύνδεσμο εξαίρεσης από SMS για συμμόρφωση
- Μια απλή ημερήσια προβολή αντί για πλέγμα ημερολογίου, γιατί ένα πλέγμα ημερολογίου σε κινητό με δεκατέσσερις καταχωρήσεις είναι απλώς ένας τοίχος με μικροσκοπικό κείμενο
Ξαναέγραψα το πλάνο τρεις ξεχωριστές φορές στα επόμενα είκοσι λεπτά, κυρίως αναδιατυπώνοντας πράγματα που δεν χρειάζονταν αναδιατύπωση. Εκ των υστέρων ήταν καθαρό άγχος — ο agent σχεδιασμού είχε ήδη βρει τη σωστή δομή από την πρώτη φορά, και εγώ επεξεργαζόμουν προτάσεις αντί για ουσία.
Παρασκευή, 9:40μμ — πρώτη εκτέλεση
Το ξεκίνησα και παρακολούθησα την ομάδα agents να δουλεύει πάνω στο μοντέλο πελάτη, τη σελίδα ημερήσιας προβολής, και την εργασία υπενθύμισης. Το design ήρθε σαν έντυπο εισαγωγής κτηνιατρείου, κάτι που στην πραγματικότητα ήταν σωστό για το κοινό — οι πελάτες της αδερφής μου είναι ιδιοκτήτες σκύλων 40-50 ετών, όχι επενδυτές startup. Παραλίγο να αντιδράσω στο οπτικό στυλ από συνήθεια πριν συνειδητοποιήσω ότι ταίριαζε στον πραγματικό χρήστη καλύτερα από οτιδήποτε θα διάλεγα εγώ.
Παρασκευή, 10:30μμ — πρώτο διάλειμμα
Το κομμάτι SMS χρειαζόταν ενεργό κλειδί παρόχου για να στείλει κάτι πραγματικό, κάτι που είναι σωστή συμπεριφορά και όχι σφάλμα, αλλά είχα ξεχάσει ότι δεν είχα ρυθμίσει κάποιο. Όλα τα άλλα συνέχισαν να λειτουργούν — η εφαρμογή απλώς κατέγραφε τι θα είχε στείλει αντί να το στείλει, κάτι που σήμαινε ότι μπορούσα να συνεχίσω να χτίζω αντί να μπλοκάρω σε μια εγγραφή Twilio στις 10:30μμ ένα βράδυ Παρασκευής. Πήγα για ύπνο.
Σάββατο, 8:00πμ — το πραγματικό εμπόδιο
Αυτό ήταν εκείνο που στοίχισε πραγματικό χρόνο. Είχα ζητήσει οι υπενθυμίσεις να στέλνονται «το πρωί της ημέρας», και η πρώτη έκδοση το ερμήνευσε ως σταθερή αποστολή στις 7πμ για κάθε πελάτη ανεξαρτήτως ώρας βόλτας. Εντάξει για βόλτα στις 9πμ, άχρηστο για μία στις 4μμ. Επέστρεψα στη συνομιλία και το είπα ξεκάθαρα:
Η υπενθύμιση πρέπει να ενεργοποιείται έναν σταθερό αριθμό ωρών πριν από την προγραμματισμένη ώρα κάθε βόλτας, όχι σε σταθερή ώρα ρολογιού.
Η διόρθωση χρειάστηκε μία ανταλλαγή μηνυμάτων. Το δίδαγμα δεν αφορούσε το εργαλείο, αφορούσε το δικό μου prompt: «το πρωί» είναι μια φράση που φαίνεται ακριβής σε αυτόν που τη λέει και είναι εντελώς ασαφής σε όλους τους άλλους, συμπεριλαμβανομένου, προφανώς, εμένα δώδεκα ώρες αργότερα.
Σάββατο, 11:15πμ — ανάγνωση του αρχείου επαλήθευσης
Πριν αγγίξω οτιδήποτε άλλο, ανέσυρα τι είχε ελέγξει η κατασκευή σε σχέση με τον εαυτό της:
- Την σωστή αποθήκευση της φόρμας πελάτη
- Την εκτέλεση της εργασίας υπενθύμισης έναντι μιας δοκιμαστικής ημέρας ραντεβού
- Τον σύνδεσμο εξαίρεσης να καταργεί πράγματι την εγγραφή ενός δοκιμαστικού αριθμού
Τίποτα δεν φλεγόταν. Έχω αποκτήσει τη συνήθεια να διαβάζω αυτό πριν πάω να ψάξω προβλήματα μόνος μου, γιατί μου δείχνει πού να επικεντρώσω πραγματικά την προσοχή μου αντί να κλικάρω τυχαία ελπίζοντας να παρατηρήσω κάτι λάθος.
Σάββατο, 2:00μμ — SMS, αυτή τη φορά για αλήθεια
Ρύθμισα τον λογαριασμό παρόχου, έβαλα το κλειδί, έστειλα στον εαυτό μου δοκιμαστική υπενθύμιση.
Μικρό πράγμα, αλλά είναι η στιγμή που ένα project σταματά να είναι demo και γίνεται κάτι που υπάρχει στον πραγματικό κόσμο.
Σάββατο, 4:20μμ — η αναμονή του domain
Έστρεψα το πραγματικό της domain προς αυτό και μετά δεν έκανα τίποτα χρήσιμο για δύο ώρες όσο έφτανε το DNS. Χρησιμοποίησα τον χρόνο για να καταχωρίσω μόνος μου τις δεκατέσσερις πραγματικές εγγραφές πελατών αντί να το αφήσω σε εκείνη να τις πληκτρολογήσει σε κινητό την Κυριακή το βράδυ, κάτι που εκ των υστέρων ήταν η καλύτερη αξιοποίηση χρόνου όλου του σαββατοκύριακου — η άχαρη καταχώριση δεδομένων νικά κάθε επιπλέον στίλβωση που κανείς δεν ζήτησε.
Κυριακή, 9:00πμ — το κομμάτι που παραλίγο να υπερχτίσω
Μου μπήκε στο μυαλό ότι θα ήθελε μια εβδομαδιαία σύνοψη — βόλτες που ολοκληρώθηκαν, απουσίες, έσοδα — και άρχισα να ζητάω αυτόματη σύνοψη κάθε Δευτέρα πρωί. Σταμάτησα στη μέση της περιγραφής. Έχει δεκατέσσερις πελάτες και κρατάει τα δικά της βιβλία σε ένα τετράδιο. Μια λειτουργία σύνοψης είναι λύση σε πρόβλημα που δεν έχει ακόμα. Το άφησα έξω. Μπορώ να το προσθέσω σε πέντε λεπτά την εβδομάδα που πραγματικά θα το ζητήσει, και μέχρι τότε είναι απλώς επιπλέον επιφάνεια για να πάει κάτι στραβά.
Κυριακή, 1:10μμ — της έστειλα τον σύνδεσμο
Πρόσθεσε έναν πελάτη από το κινητό της ενώ στεκόταν σε ένα πάρκινγκ, κάτι που ήταν το πραγματικό τεστ που μετρούσε περισσότερο από οτιδήποτε είχα ελέγξει εγώ.
Κυριακή, 6:40μμ — τι θα παρέλειπα την επόμενη φορά
Τι θα παρέλειπα, την επόμενη φορά:
- Τρεις αναδιατυπώσεις του πλάνου που δεν άλλαξαν τίποτα
- Δύο ώρες ανησυχίας για τον πάροχο SMS πριν καν προσπαθήσω να τον ρυθμίσω
- Το παραλίγο-χτισμένο dashboard σύνοψης — τα πιο γρήγορα τριάντα λεπτά όλου του σαββατοκύριακου ήταν αυτά που πέρασα λέγοντας «όχι» στη δική μου ιδέα αντί να την χτίσω
Οτιδήποτε πραγματικά μου πήρε χρόνο ήταν είτε γνήσια ασάφεια στο δικό μου αίτημα είτε αναπόφευκτη αναμονή στον διακομιστή DNS κάποιου άλλου. Στην επόμενη κατασκευή, θα γράψω το prompt μία φορά, θα το ξαναδιαβάσω σαν να ήμουν άγνωστος, και θα εμπιστευτώ το πρώτο πλάνο περισσότερο από όσο εμπιστεύτηκα αυτό.



