Ce proiecte au membrii DevForum?

Vreau să prezint un proiect care nu imi aparține, cu gândul că poate inspira pe alții.

E vorba de un tip obișnuit, care sărea coarda din pasiune si s-a hotărât să pornească o afacere in jurul ideii.

Un rezumat al evoluției.

  • in 2015 a început să conceapă produsul - o coardă de sărit
  • in 2017 a lansat compania, dar nu a renunțat la vechiul job
  • in 2018 a renuntat la vechiul job si s-a dedicat integral proiectului său
  • tot marketing-ul l-a facut pe rețelele de socializare
  • materialele publicitare au fost efectiv produse de el, cu el

mi se pare fabulos 100k de downloaduri cat scrie pe play store. felicitari! as fi mai optimist cu monetizarea in sensul ca app-ul o sa mai fie de actualitate cativa ani buni, poate poti vinde niste referaluri de bun simt (nu spam) la alte apps.

As avea o curiozitate. care a fost trendul de install-uri odata lansat? presupun ca la inceput nu da nimeni de ea fiind noua si progresiv creste in rezultate. ai promovat-o pe social / blogs ?

Mersi! 350k instalări deviceuri unice. 26.5k deviceuri active.

Trendul e cu multe spikeuri. Am avut noroc că am avut un număr mare de useri care-și doreau o astfel de aplicație. Pe piață era o singură aplicație de genu, Reachability Cursor, pe care și eu o foloseam, dar nu a mai fost updatată și nu mergea pe Androidurile mai noi. Deci am făcut Quick Cursor pt că aveam eu nevoie de un înlocuitor și pt că mai erau și alți useri în situația mea, care știam că au nevoie de un înlocuitor pentru că postau pe Reddit și prin alte locuri că au nevoie de așa ceva.

Grafic instalări zilnice:

Grafic deviceuri unice active:

După cum se poate vedea în grafice, am avut un început foarte bun pentru că am postat în toate locurile unde știam că lumea caută înlocuitor pentru Reachability Cursor. Am mers direct la țintă cu posturi / comentarii pe Reddit/XDA/Youtube/Twitter în subiectele unde lumea căuta așa ceva.

Primele 7k deviceuri active au venit rapid (7k în 2 luni), erau oameni care așteptau și căutau așa ceva, următoarele instalări (7k într-un an) au venit mai greu. În general spikeurile de instalări au venit prin:

Deci da, am promovat-o pe social/blogs, dar toate promovările au fost fără nici un ban. Nu am plătit nici un youtuber pentru reclamă, nu am plătit nici un post sponsorizat, totul a fost organic.

Sunt foarte atent și mă implic în orice discuție apare despre aplicație pe net. Verific zilnic dacă apare un video nou pe Youtube, un post pe Twitter, un post/comentariu pe Reddit, ca să pot să răspund dacă sunt neclarități, sau ca să știe lumea că sunt deschis la feedback.

Legat de monetizare, momentan nu este atât de importantă pentru mine, și nici un am găsit un model bun de monetizare care să-mi fie pe plac. Nu vreau reclame, nu vreau să fac aplicația doar pe bani. Prefer să câștig mai puțini bani, și să fie mai multă lume care folosește aplicația.

La început am înclinat mult între un model open source + donații sau varianta actuală (free fără ads + versiunea pro). Încă nu sunt convins că am făcut alegerea care mă face cel mai fericit, îmi plăcea și open source + tips pt cine vrea să mă încurajeze.

11 Likes

Simulatorul de ‘calculator cuantic’ GitHub - aromanro/QCSim: Quantum computation simulator e deja intr-o oarecare stare functionala. Deocamdata doar doi algoritmi mai vestiti, Grover Grover's algorithm - Wikipedia & Shor Shor's algorithm - Wikipedia (ultimul e criminal, cred ca mi-a luat mai mult timp decat tot restul codului din motive de operatii pe biti si de-astea :slight_smile: ).

La Shor mai trebuie sa adaug si partea clasica.

Pentru teste m-am mai jucat si cu alte circuite cuantice mai simple, se pare ca functioneaza ok.

Am tinut sa implementez si Shor pentru ca foloseste Quantum Fourier transform - Wikipedia si chestia asta poate fi foarte utila si in alti algoritmi.

Poate o sa mai adaug vreo alti doi algoritmi, mi-am comandat cu ocazia asta si ‘Biblia’ Quantum Computation and Quantum Information - Wikipedia , poate aleg ceva de acolo.
Am parcurs-o deja dar vreau sa o si detin pentru referinta.

4 Likes

Cati dintre voi v-ati jucat GTA:San Andreas cand erati mici? Unul dintre primele mele proiecte complexe a fost un Game Control Panel pentru propriul server de jocuri GTA:SA MultiPlayer, o platforma cu (PHP) Laravel la baza, conectata direct cu jocul. Era plina de functionalitati, aveai inclusiv o harta Satelit prin care puteai vedea jucatorii pe harta direct din browser, sistem de Achievements-uri, Ticket, Reclamatii, sistem de BIDS (licitai direct din Panel pentru masini/case/business-uri), si multe altele. Avea inclusiv o conexiune de tip SOCKET, asta inseamna ca orice actiune din site era actionata instant si in joc, iti cumparai o masina de pe site, si in joc o primeai automat. Las mai jos 10% din el, in cateva poze minimaliste.

Așa am pășit în lumea Web Dev-ului, la sfârșit de liceu când habar nu aveam ce să fac, m-a lovit un gând, că am o experiență în spate cu domeniul IT acumulată în timpul școlii și că ar fi timpul să o exploatez mai intens.





16 Likes

Tare, tare! :smiley:

Pentru ca a intrat cumva in zona mea de interes partea de crypto (imi place ideea de trading 24/24 si volatilitate mare) mi-am facut un simplu bot de trading cu API-ul binance.

Imi aleg ce perechi sa urmaresc si mecanismul pt inceput este destul de simplist: verific la 3 minute pretul, daca a crescut cu 3% cumpar de x$ (diferit pe pereche), astept sa fac +5% si vand automat (sau manual daca trade-ul are loss maricel si nu mai vad sperante).

Azi i-am dat drumul si primul trade a fost pe profit (pretul de vanzare e ceva mai mic decat target-ul pt ca orderul se pune la “market price” si in cele cateva secunde deja mai scazuse :slight_smile:

7 Likes

si ce faci cand ai cumparat si se prabuseste pretul? mi se pare ca cumpara pe varf si apoi asteapta a doua cocoasa daca nu e o crestere cat de cat liniara.

logic ar fi asa cum astept sa creasca 5%, sa vand si daca scade cu 5% dar am ales sa nu fac asta automat inca. in principiu acum astept pana sa mi se indeplineasca price targetul (posibil sa nu mi se mai indeplineasca niciodata :slight_smile: aia e, fumez mai putin)

scenariul pe care-l folosesc e unul destul de exceptional care incearca sa prinda pump&dump-urile unde partea de pump dureaza mai mult de 3-5 minute.

1 Like

suna a reteta de faliment :))

ai protectii? limite?

sigur

Screenshot at Sep 16 11-23-21

4 Likes

Anul 2022 l-am incheiat cu 4 proiecte open-source :smiley: Sper ca in 2023 sa fac proiecte mai mari si mai bune. Am mai pornit cateva proiecte dar nu le-am terminat.

Recent am inceput sa invat SolidJS din cauza lui Ryan si am facut 3 pluginuri:

  1. solidjs-swiper - un simplu swiper/carousel. Foarte basic.
  2. solidjs-storex - un helper pentru state global, similar cu redux-toolkit. In spate ma folosesc de createStore, api din solidjs. Am facut suport si pentru localStorage pentru persistenta.
  3. solidjs-window-manager - un window manager. Deschizi pagini in ferestre separate cu suport pentru move, resize, aseara am facut si un taskbar. Mai am de facut minimize si maximize. Stateul se salveaza in localstorage (toate ferestrele raman deschise in aceeasi pozitie dupa refresh).

Si ultimul dar nu cel din urma, pentru laravel si Backpack:

  1. Customberg - Daca sunteti familiari cu gutenberg din wordpress, cineva l-a modificat pentru laravel VanOns/laraberg. Cu laraberg trebuie sa faci blockurile la fel ca in wordpress, in reactjs, iar html-ul rezultat se salveaza asa cum e la momentul adaugarii blocului (e mai greu de modificat blocurile pe parcurs).

Cu pluginul meu, Customberg, creezi blocuri doar din php, cu comanda php artisan make:block, scrii ce fielduri ai nevoie in clasa blocului, si ai un fisier blade echivalent pentru fiecare block. Am facut suport pentru repeatable si pentru multilanguage.

(giful are 12 mb, nu pot uploada aici)

7 Likes

Cum e Solid ? La o privire pare mult mai elegant ca React, dar nu cred ca gasesti proiecte platite cu el.

Ma uitam la prima librarie si am vazut

] as any);

ceea ce e un red flag. (Am invatat sa urasc din suflet fiecare librarie care are exemple cu any in loc de type-urile specifice, chiar daca in cazul tau nu e vorba de ceva din librarie) Nu folosi niciodata as any, in cel mai rau caz Record<string, boolean>, typeof la ce ai declarat, Partial, as unknown as ceva ce aproape se potriveste sau chiar ReturnType<typeof …>

2 Likes

Proiecte platite, nu cred ca exista pe solidjs. Poate doar modificari pe proiecte existente.
Solid e inca foarte mic ca numar de useri in proiecte platite. Cred ca majoritatea il folosesc la proiecte pt hobbyuri. Am auzit ca cica exista firme care au inceput sa il puna in prod.
O sa incerc la munca sa propun solidjs pe un proiect micut dar nu stiu daca e o idee buna.

Mi se pare atat de misto si logic cum functioneaza solid. Din punctul meu de vedere, din punct de vedere tehnic si performanta, solidjs este cel mai bun.
Pro:

  • componentele nu se reexecuta niciodata. Spre deosebire de react care face rerender la orice modificare de state, solidjs, cand modifici stateul se schimba doar in dom, doar ce e nevoie. Treaba asta mi se pare genial. Nu trebuie sa imi bat capul sa gandesc unde sa pun stateul ca componenta sa fie mai performanta, sa faca render mai rar.
  • faptul ca modificarea stateului este sync, cum mi se pare normal si foarte logic. La react e foarte enervant ca e async, si cand au trecut pe hooks au elimitat callbackul de la this.setState(newstate, callback).
  • faptul ca este un adevarat framework cu multe chestii incluse. createStore este echivalentul lui redux, createResource este echivalentul lui react-query

Contra:

  • e ciudat sa folosesti <Show> si <For> venind din lumea react unde folosesti {conditie ? : } si {array.map(item => ( ))} care par mai logice si intuitive.
  • evident, ecosistem mic, piata foarte mica.

Da… la prima librarie nu prea stiam typescript asa bine. O sa repar (Update: am rezolvat). L-am invatat mai bine cand am facut solidjs-storex, m-am luptat cu typescript si nu stiu daca am castigat, mai sunt chestii de inbunatatit si acolo.

1 Like

Am mai facut un plugin cu 2 parti, server laravel, client typescript:

  1. laravel-restype - genereaza definitii typescript pentru api nou sau existent in laravel.
  2. laravel-restype-client - consuma definitiile typescript generate de server.

Pe scurt, documentezi apiul tau existent in laravel cu niste decoratori deasupra fiecarei metode care corespunde unei rute:

#[RouteTypeScriptType(['responses' => [
    [ 'logged' => 'false',   'user' => 'null' ],
    [ 'logged' => 'true', 'user' => 'App.Models.User', ],
]])]
public $get;
public function get(Request $request)
{
        ...

Cu o comanda artisan generezi o documentatie de genu asta: /public/types/generated.ts

Iar pe partea de client, poate fii orice tehnologie typescript, de exemplu react-native, descarci documentatia, instalezi pachetul client, si gata. Happy type-safety coding !

api.user({}).then((data) => {
    if (data.logged == true) {
        alert(data.user.email);
    }
})

Auto-complete pe endpoint, pe datele cerute in body (url params si query sunt in lucru), si in response.

Mai am de facut suport pentru fisiere (binar cu formdata, ca base64 e usor, o sa poti alege ce preferi).

Daca suna cunoscut, de la tRPC mi-a venit ideea.

3 Likes

Buna,
Lucrez de cateva luni la un produs software pe Laravel.

6 Likes