Jak skutecznie uruchomić internetowy projekt
11 godz. 20 min · Biznes i Automatyzacje
Grzegorz RógIdea ArchitectZarówno w Polsce jak i za granicą uruchomiłem już dziesiątki projektów... Były to zarówno narzędzia, SaaSy jak i infoprodukty. Praktycznie wszystkie uruchomione przeze mnie projekty lądowały na głównej stronie Product Hunt i już od pierwszego dnia - zarabiały. Wszyscy biznesowi mentorzy powtarzali, że "powinienem skupić się na jednej rzeczy". Tymczasem w mojej ocenie, to, co robię daje mi wolność i co równie ważne - pozwala ciągle się uczyć. Moje projekty zarabiają kilka-kilkanaście tysięcy dolarów miesięcznie, co czasem wystarcza, żeby utrzymać niewielki zespół, niekiedy nawet to jest niepotrzebne, wystarczy sporo automatyzacji i produkt, który jest niemal w 100% marżowy. Początkowy etap projektów daje mi ogromną frajdę - lubię sam odkrywać i kreować produkt, który następnie testuję i wypuszczam na rynek. Na przestrzeni lat, w tym zakresie wyrobiłem sobie utarte ścieżki, z których ciągle korzystam, ale też pozwalam sobie na wiele eksperymentów po to, by w ciągle zmieniającym się ekosystemie internetowych produktów - uczyć się, co działa. Późniejszy etap projektów raczej mnie nudzi - zatrudnianie, tworzenie dużego zespołu oraz zarządzanie nim, to nie jest coś co mnie ekscytuje. Zauważyłem też, że wraz ze skalowaniem zespołu często maleją także zyski z projektów, na których mi zależy. Zwykle więc staram się, aby moje projekty... pozostały małe (ale bardzo dochodowe), co daje mi wolność: finansową i czysty kalendarz. Jeśli któryś z nich rozwija się za szybko, myślę o sprzedaży i exicie, ale tym nie będziemy zajmować się w tym Kursie. Sprzedałem w Internecie produkty dla ponad 300 tysięcy osób. Od infoproduktów jak kursy i ebooki, przez narzędzia i SaaSy. Każdy z tych projektów ma swoją specyfikę i konkretne techniki, które wykorzystuję, by go rozwijać. Każdy nauczył mnie czegoś nowego i w każdym z nich popełniłem jakieś błędy. W tym Kursie, chciałbym powiedzieć Ci wszystko, co wiem o uruchamianiu produktów, które są już "w miarę gotowe", czyli są blisko Product Market Fit, bądź czekają na premierę jako infoprodukt czy narzędzie. Chcę przekazać Ci mój sposób na to, jak przygotowuję produkt do premiery, jak myślę o marketingu, automatyzacjach, treściach czy stronie WWW i w końcu jak układam to w taki sposób, aby po prostu działało! Jakiś czas temu udzieliłem wywiadu na temat moich projektów Courtlandowi, twórcy ruchu Indie Hackers, który jest bliski temu, co robię. Jeśli masz chwilę, posłuchaj go tutaj. Jednak moja filozofia ma istotne odchylenie: uważam, że nie każdy projekt powinien być tworzony jednoosobowo. Prawie zawsze stawiam na małe zespoły - kilku co-founderów i kilka osób do pomocy lub na freelance, bo wierzę, że w ten sposób można robić większe rzeczy, dające więcej wartości, z potencjałem na pozyskanie rozsądnego finansowania czy exit.
W trakcie Kursu dowiesz się o trzech kluczowych fazach związanych z międzynarodową premierą projektu: Przygotowaniu do premiery, Premierze oraz działaniach po premierze. Sama premiera jest dość symboliczna i nie ma aż tak dużego znaczenia - to, dlaczego jest ważna, to pozwala wybrać datę, w której to, co sobie założyliśmy w produkcie powinno się zmaterializować. W trakcie Kursu pokażę Ci wiele narzędzi oraz wytłumaczę moje podejście i frameworki, które pozwalają mi co jakiś czas wypuszczać z sukcesami produkty na rynek. Pomówimy o automatyzacjach, które towarzyszą mi na każdym kroku a także doborze stacku w kontekście marketingu. Dowiesz się, co działa dla mnie najlepiej w tym konkretnym momencie. Czy warto stawiać wyłącznie na działania organiczne, czy wspierać się płatną reklamą i innymi kanałami. Gdzie warto się pokazać i co warto robić po to, aby sama premiera dała nam dodatkowy boost i pozwoliła zdobyć wartościowe leady. Mam nadzieję, że zebrane w ten sposób wskazówki, pozwolą Ci uniknąć moich błędów, zyskać mnóstwo czasu a także oszczędzić pieniądze, które inaczej mógłbyś przepalić na niepotrzebne działania.
Idealnie, jeśli masz już produkt lub jesteś blisko MVP, które chcesz wypuścić na rynek. W takim przypadku, możesz razem ze mną podążać po kolejnych obszarach, które poruszam w tym Kursie i tworzyć swój własny plan na premierę. Jeśli jednak dopiero tworzysz czy planujesz uruchomienie swojego produktu - ten Kurs też będzie przydatny tylko pod warunkiem, że nie oczekujesz od niego pomocy we wczesnej fazie - wymyślania i samej kreacji. Jeśli masz jasną wizję tego, co stworzysz, świetnie! Ten Kurs powinien przybliżyć Cię do wyjścia z produktem na rynek na etapie, gdy będzie on już gotowy. Dobrze by było, gdybyś podążając za mną w kolejnych lekcjach, znalazł/a czas na odniesienie moich spostrzeżeń do Twojego projektu i praktyczną pracę nad przygotowaniami do premiery, nawet jeśli ta jest jeszcze odległa.
Ten Kurs jest starannie przygotowany z myślą o:
Po ostatniej lekcji, po jej nagraniu miałem pewne wyrzuty sumienia.
To znaczy pomyślałem sobie, że osoby, które są zupełnie początkujące w
automatyzacji i w ogóle totalnie mogły nie skumać tego, co zrobiłem, Więc chciałbym
dać wam jeszcze jedną szansę, zanim pójdziecie do tego kursu Make your table,
chciałbym pokazać jeszcze jedną automatyzację.
Osoby, które kumają automatyzację mogą to skipnąć, ale szczerze mówiąc też chcę
pokazać jeszcze jedną automatyzację, która mi się przydaje i z której korzystam
często na potrzeby właśnie tych list, a tak naprawdę na potrzeby
czyszczenia tych list.
Zanim tu wlezę, to jeszcze chcę pokazać Ci, że w Alis na przykład mam
całą bazę danych użytkowników.
Chcę Ci pokazać, jak to może wyglądać na gotowo.
Zobacz, że tutaj mam 3 tysiące użytkowników i każdy jest
jakoś oznaczony de facto.
Na przykład mam też tutaj ankiety.
Mam darmowy dostęp do Elis.
Jak ktoś to wypełnia, to ktoś mi też trafi do tej listy i na przykład sobie ustawię
jakieś powiadomienie, żeby taką osobę aktywować.
Natomiast chodzi o to, że wszyscy są w jednym miejscu.
Jest tu 3000 rekordów i mam informację o tym, ile zużyli wiadomości, ile mają w
trialu, jak i czy mają triala, czy mają coś innego.
I tak dalej, i tak dalej.
Więc generalnie mam sporo różnych informacji o użytkownikach i na
podstawie tych informacji np.
Ile razy się logowali, mogę na przykład stworzyć widok, wyfiltrować, że tylko
osoby, które się logowały 5 razy do Alice i więcej będą miały dostać jakiegoś maila
i one będą po prostu w jednym widoku.
Ja sobie wezmę ten extension i wyślę do nich maila.
W ten sposób to działa.
Czasem jednak jest taka sytuacja, że mamy więcej niż jedną zakładkę.
Czasem się to bierze z tego, że chcemy sobie importować, przerzucać
jakieś różne listy do RTable.
Często to robię na przykład wtedy, kiedy mam jakąś listę, o której powiem ci w
kolejnej lekcji na zewnątrz i chcę wciągnąć do niej rekordy tutaj i wtedy
wybieram polecenie import i wybieram plik CSV, który sobie wyeksportowałem stamtąd i
po prostu zaczytuję to do kolejnej zakładki.
Mogę to zasymulować po prostu przez zduplikowanie tej tabeli razem z
rekordami, które się tutaj znajdują.
No i teraz mam powiedzmy dwie takie zakładki.
No i chciałbym porównać te maile.
Powiedzmy, że tutaj są wszyscy kupieni, a tutaj są wszyscy,
do których chcę wysłać promocję.
No to nie chcę wysyłać promocji do tych, którzy już kupili.
W związku z tym muszę jakoś na przykład w tej w tej tabeli wysyłka zróbmy tutaj.
Muszę jakoś te maile po prostu usunąć.
No i teraz czy odsubskrybować? Może lepiej.
I teraz jak to robię?
W RTable nie ma niestety takiej jasnej i prostej drogi, żeby to zrobić.
Mam do tego specjalne malutkie narzędzie na Windowsa, które Ci udostępnię,
które sobie napisałem kiedyś i służy do bardzo fajnego czyszczenia list, wywalania
właśnie jakichś adresów istniejących.
Wystarczy tam plik tekstowy, który się wrzuca i ono wypluwa takie unikalne
adresy, na których mi zależy.
Ale w RTable robię to trochę inaczej, właśnie z pomocą
automatyzacji w ogóle też.
Easy CSV jest też fajnym narzędziem do tego, jeśli ktoś się lubi pobawić plikami
CSV, tam powyciągać z nich dane, poprzekręcać i poprzekładać i ma dużo
takich plików, no to to też jest narzędzie, z którego korzystam.
Ale my teraz zajmijmy się kolejną prostą automatyzacją.
To będzie już ostatnia, którą tutaj pokażę, ale
chciałbym zrobić taką automatyzację, która weźmie mi, sprawdzi w
tej tabeli zgłoszenia.
Czy maile ze zgłoszeń znajdują się w wysyłce i te, które się
znajdują, wypiszę z wysyłki.
Czyli najpierw będziemy musieli użyć RTable i będziemy musieli użyć tym razem
Watch Records, ponieważ będę chciał po prostu sprawdzić wszystkie te rekordy,
więc będę chciał nasłuchiwać tych rekordów.
Jest to właśnie ta akcja Watch Records.
Ta akcja pozwoli nam, jeśli się połączymy odpowiednim połączeniem z naszą bazą.
Znowu tutaj. Ta baza to oczywiście program partnerski.
Następnie będę musiał wybrać tą tabelę.
No i ta tabela to będą te moje zgłoszenia i w tej tabeli z tej tabeli chcę wyciągnąć
tak naprawdę obecnie wszystkie rekordy, więc wezmę sobie limit 1000
i teraz chcę wyciągnąć je z widoku all tutaj triggering field.
Chyba muszę jakoś to ustawić. Nieważne.
Wybieram polecenie Ok, nie biorę żadnej formuły, po prostu chcę wyciągnąć
wszystkie, a jeszcze to muszę zrobić.
Nieważne w zasadzie, co tu wybierzemy.
Chcę wybrać wszystkie rekordy, czy nie od teraz, nie od jakiejś
daty, tylko wszystkie.
Chcę wybrać wszystkie rekordy i chcę przemielić po prostu wszystkie rekordy.
Ale zwróć uwagę na to.
Nie wiem czemu tutaj mi powstały dwa takie.
Dobra, to możesz sobie muszę usunąć.
Coś się zwiesiło i przeciągnąć ten zegarek tutaj.
Ok.
I teraz to co chcę zrobić to chcę te rekordy
wszystkie znaleźć się w tej drugiej tabeli, czyli wybrać polecenie RTable.
I chcę teraz zrobić Search Records i znaleźć te te rekordy, które
po prostu występują w tej bazie.
Polecenia, czyli program poleceń.
Program partnerski.
I tym razem będę chciał szukać właśnie w tabeli Wysyłka.
Że to jest ta moja nowa tabela, którą zaimportowałem w widoku Wszyscy.
Dobra, i teraz to jest w zasadzie nieważne.
Formuła jest istotna, ponieważ będę chciał, żeby email był równy, czyli
ten email, który mi przyjdzie.
Był równy temu e-mailowi, który znajduje się w Czy chcę porównać?
Po mailach można powiedzieć, czy tutaj mam tabelę email i tutaj mam tabelę email,
więc ten email może tak zrobimy lepiej, że tabela email W
tej mojej wysyłce tabeli wysyłka ma być równa i tutaj musimy w pojedynczym
cudzysłowiu ten ciapek znowu wstawić.
Musimy wstawić tutaj mail, który nam przyjdzie w ten sposób
jeśli email będzie równy.
Na przykład tutaj mamy. Bartosz.
Czy warto jakieś tam z tego, z tej tabeli zgłoszenia, to wtedy będę
mógł go oznaczyć w tej tabeli.
Wysyłka dobra, więc tutaj już go znalazłem.
Jeszcze go nie znalazłem, ale go szukam.
No i później co chcę z nim zrobić.
Znowu chcę go zaktualizować, zrobić dokładnie to, co robiliśmy wcześniej,
czyli po prostu jeszcze raz chcę Ci to pokazać, powtórzyć program partnerski.
No i chcę te maile w tej tabeli. Wysyłka.
Czy te rekordy, które znajdę.
Tutaj mamy identyfikator rekordu, który znalazłem dokładnie tak jak poprzednio
chcę oznaczyć jako wypisany.
Wybieram polecenie Ok, mogę go usunąć, mogę go oznaczyć, mogę
dać komentarz, cokolwiek.
I znowu tutaj muszę filtr zrobić taki, że tylko wtedy, jeśli ID istnieje.
W naszym przypadku wszystkie te rekordy będą istnieć.
Może w sumie, żeby tego nie było aż tak dużo z tej
tabeli wysyłka sobie usunę trochę tych rekordów,
żebym nie zużywał za dużo operacji na Macu, więc szukam w zgłoszeniu.
Nie wszystkie są w wysyłce, ale pierwsze cztery są, więc spróbujmy to
zrobić i zobaczmy jak to zadziała.
Czyli teraz po prostu wybieram polecenie run once i teraz mi się
powinny te rekordy zacząć mielić, a nie przyszły żadne rekordy.
Jeszcze raz wybierzmy prawy przycisk myszy, wybierz gdzie zacząć All.
Wszystkie rekordy i jeszcze raz.
Dobra.
I chyba tak to nie zadziała, więc jeszcze jedną rzecz muszę zrobić.
Dodaję tutaj jeszcze jedno pole.
Stworzę sobie pole created i tutaj znajdę coś takiego, co się nazywa
created time, czyli czas utworzenia i stworzę po prostu to pole.
I wydaje mi się, że to dlatego nie działa, bo tutaj właśnie to pole triggering field
szuka po tym identyfikatorze, a powinno szukać po tej dacie stworzenia.
Spróbujemy? Nie wiem.
Mam nadzieję, że to zadziała, więc zobaczmy.
Ok, no i działa.
I teraz zobacz, że 3 4 rekordy się oznaczają.
Jak tutaj wejdę w wysyłkę to 4 się oznaczył jako unsap, ale to leci sobie
dalej i kolejne rekordy mi zjada.
I tak naprawdę zjadło 23 rekordy na 23 rekordy.
Znalezione w tej tabeli zgłoszenia.
4 rekordy miały dokładnie takie same maile, bo po tym mailu szukałem, więc 4
rekordy tylko zostały odfiltrowane i 4 rekordy zostały zaktualizowane, czyli
zmienione w ten sposób, że unsap im się włączyło na ten ptaszek.
No i w zasadzie to tyle.
Mogę sobie usunąć tą tabelę.
Chciałem Ci to pokazać jako kolejny przykład prostej automatyzacji, którą
możesz zrobić, ale szczerze mówiąc ja często używam czegoś takiego, żeby po
prostu sobie przejść po jakichś rekordach.
Jedne usunąć, drugie zaktualizować.
No i zużywa to trochę operacji w Make u, ale jest tego warte.
Na pewno lepsze niż manualne robienie tego w jakiś sposób.
Możesz oczywiście też napisać jakiś prosty skrypcik, albo skorzystać z tego
CSV, jeśli umiesz, a jeśli nie, to taki sposób też jest całkiem spoko.
Oczywiście zapiszę sobie tą automatyzację jako wyszukiwanie
albo porównywanie rekordów.
I wyeksportuje dla Ciebie blueprint tak żebyś mógł sobie go pobrać i zaimportować.
To była druga automatyzacja i jednocześnie druga rzecz, którą robię w kontekście tego
zarządzania różnymi rekordami, e-mailami.
Mam nadzieję, że to będzie dla Ciebie przydatne, a w kolejnej lekcji zajmiemy
się jeszcze narzędziami do maili oraz wait listami.
Do usłyszenia!