Actualizare: 5 octombrie 2026

Portofoliul actual al companiei clasifică LaunchPad drept proiect în dezvoltare. Implementarea self-hosted descrisă mai jos este internă și nu demonstrează lansarea unui serviciu comercial. Planificarea, conținutul pe canale și publicarea la furnizori cer validări separate.

Note tehnice originale din mai 2026

De fiecare dată când lansez un produs se întâmplă același lucru. Am o listă cu 20 până la 50 de locuri unde trebuie să postez — Reddit, Product Hunt, Hacker News, forumuri de nișă, câteva comunități de Slack și Discord — și într-o oră totul se împrăștie într-un spreadsheet, în trei taburi de browser și în propria mea memorie. LaunchPad este unealta pe care am construit-o ca să nu mai scap mingea. Este o platformă self-hosted care acoperă tot ciclul de marketing al unei lansări: planificarea checklist-ului, generarea conținutului per platformă, postarea în comunități și monitorizarea a ce vine înapoi.

Rulează la scară mică, self-hosted pe un VPS. Nu o vând. Este motorul prin care îmi trec propriile lansări și m-a învățat mai multe despre datoria de arhitectură decât oricare alt produs al meu.

Problema pe care chiar o rezolvă

O lansare nu este o singură sarcină. Este un șir lung de sarcini mici, ușor de uitat, fiecare cu propriul timing, propriul format și propriile norme de comunitate. Postarea de pe Reddit care funcționează într-un subreddit te face să fii banat în altul. Textul de pe Product Hunt nu e textul de pe Hacker News. Să ții toate astea în cap în timp ce, în paralel, urmărești dacă a răspuns cineva — exact partea asta cedează.

LaunchPad pornește de la un checklist de lansare. Există template-uri pre-populate pentru SaaS, mobile și open-source, iar totul rulează ca o tablă kanban cu urmărirea progresului, ca să văd dintr-o privire ce e postat, ce e programat și ce am uitat. Doar atât a eliminat aproape toată anxietatea de tipul „stai, am postat pe X sau nu?".

Conținut AI, per platformă, cu variante A/B

Următorul strat este generarea de conținut. Pentru fiecare canal, LaunchPad generează text adaptat platformei — tonul și lungimea ajustate după destinație — și produce variante A/B, ca să nu ghicesc cu o singură încercare. Asta merge prin OpenRouter, cu Gemini 2.0 Flash ca model implicit, fiindcă e ieftin și suficient de rapid încât generarea a vreo zece variante costă aproape nimic.

Peste asta vine inteligența pe subreddit-uri: sistemul scoate la suprafață subreddit-uri relevante și oportunități de a răspunde, așa că, în loc să ghicesc unde stă publicul meu, primesc recomandări ancorate în comunitățile reale. Partea de analytics urmărește KPI-uri, pâlnii de conversie, viteza de engagement și o defalcare per platformă, cu export CSV când vreau să trag datele în altceva.

Automatizarea Reddit — și avertismentul onest

Aici e partea despre care vreau să fiu direct. LaunchPad poate posta automat pe Reddit printr-un pool de browsere headless controlate de Playwright. Ca să fie suportabil, am pus rate limiting, rotație de conturi și detecție de shadowban/eliminare, ca sistemul să observe când o postare dispare în liniște. Credențialele sunt criptate la rest cu Fernet, nu lăsate în text clar.

Asta e partea inginerească. Partea onestă e că automatizarea postării pe Reddit stă într-o zonă gri față de termenii de utilizare ai Reddit. Postarea prin browser headless nu e o cale aprobată prin API, iar detecția de shadowban există tocmai pentru că platformele se opun acestui tip de automatizare. Am construit-o fiindcă postatul manual în zeci de comunități chiar e partea cea mai nasoală a unei lansări, dar nu o să o îmbrac în haina unui truc inteligent de creștere. Este un risc deschis. Dacă faci ceva similar, presupune că pot fi banate conturi, tratează-o ca pe o comoditate pentru propriul tău postat, nu ca pe o mașină de spray-and-pray, și citește regulile fiecărei comunități. Tratez rotația și detecția ca reducere a daunelor, nu ca permisiune.

Povestea „split-brain": cum s-a întins și cum am refăcut-o

LaunchPad a pornit îngust. Toată ideea era „automatizează postarea de lansare". Apoi a tot crescut. Am adăugat detecția schimbărilor la concurenți. Apoi urmărirea vizibilității în GEO și în căutarea AI. Apoi ASO, urmărirea influencerilor, email outreach, echipe și auth. Fiecare adăugire avea sens în sine și fiecare a prins câte o preocupare nouă peste un cod gândit inițial în jurul postării pe canale.

Rezultatul a fost un creier scindat. Jumătate din sistem gândea în termeni de „lansări și canale", cealaltă jumătate crescuse într-o suită generală de inteligență de marketing, iar modelul de date nu era de acord cu sine însuși despre care e obiectul central. Un audit pe care l-am rulat a făcut problema evidentă și am făcut un refactor project-first: proiectul a devenit containerul de top, iar campaniile au devenit containere de execuție în interiorul unui proiect. Schimbarea asta a împăcat cele două jumătăți. Lansările sunt acum doar un tip de muncă ce se întâmplă sub un proiect, alături de urmărirea concurenței sau monitorizarea GEO.

Spun partea asta fiindcă e lecția reală. O unealtă care crește feature cu feature fără ca cineva să reîntrebe „care e lucrul central aici?" acumulează datorie de arhitectură pe tăcute, iar n-o simți până când două părți ale sistemului modelează lumea diferit. Refactorul n-a fost spectaculos. A fost cea mai valoroasă săptămână de muncă pe care a primit-o proiectul.

GeoRank — partea de vizibilitate în căutarea AI, gândită ca unealtă gratuită de tip lead magnet — este cel mai clar exemplu de realitate în curs. Aplicația de backend și paginile de frontend există, dar lista de sarcini de evoluție e goală, ceea ce înseamnă că e la stadiul de specificație și doar parțial construită. Prefer să spun asta clar decât să sugerez că toată suita e gata.

Stack-ul

Backend-ul e Python cu Django 5, Django REST Framework și Celery plus Beat pentru muncă programată și de fundal — postarea, generarea AI și monitorizarea rulează toate ca task-uri. Frontend-ul e React 18 cu TypeScript, Vite, Tailwind, shadcn/ui și React Query, în jur de 28 de pagini momentan. Datele stau în PostgreSQL 16, cu pgvector planificat pentru funcțiile semantice ale GeoRank, iar Redis 7 ține broker-ul Celery și cache-ul. Automatizarea Reddit rulează pe un pool de browsere Playwright. Apelurile AI merg prin OpenRouter. Totul se livrează prin Docker Compose, cu Traefik care termină TLS (ACME prin acme.json) și nginx în față.

Tot proiectul a fost construit printr-o buclă /evolve — un ciclu autonom de build care commitează un task pe iterație, pe baza unei cozi EVOLUTION.md. Aproximativ 40 de sarcini de evoluție pe 7 faze l-au adus unde e. Am scris mai mult despre acel flux în procesul meu de dezvoltare solo asistat de AI, fiindcă felul în care a fost construit LaunchPad mi se pare la fel de interesant ca ce face.

Unde e acum și ce urmează

LaunchPad e live și self-hosted, rulând propriile mele lansări la scară mică. Nu l-am validat cu alți utilizatori, nu pot pretinde cifre de uptime, iar acoperirea cu teste e mai subțire decât mi-aș dori înainte să-l dau altcuiva. GeoRank trebuie chiar terminat, nu doar schelet. Automatizarea Reddit are nevoie de grijă continuă tocmai fiindcă partea de platformă a acelei înțelegeri se poate schimba oricând.

Ce urmează ține mai puțin de feature-uri noi și mai mult de întărirea celor care există — terminarea GeoRank, strângerea monitorizării și decizia dacă rămâne unealtă personală sau devine ceva ce aș pune în fața altor fondatori. Deocamdată își face treaba: mă ține să nu scap mingea la lansare.

Dacă vrei contextul mai larg, e unul dintre cele unsprezece produse pe care le construiesc ca fondator solo, iar LaunchPad e în aval de toate — toate au nevoie de lansare. Scriu despre aceste build-uri pe măsură ce le fac; dacă asta e genul tău, newsletter-ul e locul unde aterizează primul următorul.

DjangoCeleryPlaywrightOpenRouterautomatizare
Distribuie articolul