Upgrade to Pro — share decks privately, control downloads, hide ads and more …

From idea to 6000 users in a week

Meili Triantafyllidi
November 23, 2020
36

From idea to 6000 users in a week

How a funny idea became a week long intensive project and went live reaching 6000 users. How Fast API helped and what were the learnings from such a "startup experience"

Meili Triantafyllidi

November 23, 2020
Tweet

Transcript

  1. From idea to 6000
    users in a week
    by Meili Triantafyllidi (and Fotis)
    PyBerlin #22
    @meiltr

    View full-size slide

  2. me
    Greek
    Berlin 9 years
    Pyladies Berlin org for 6 years
    Mom and happy part-timer
    Intermediate German speaker
    Computer Science
    Python web apps 10+ years
    Research, Web dev
    Django, Pyramid, Microservices

    View full-size slide

  3. Orthodox easter
    19th April 2020
    Last easter in
    Greece !
    Covid-19
    lockdown

    View full-size slide

  4. Egg tapping ...
    Egg crashing ...
    Egg cracking ...
    Tsougkrizo ...
    https://www.youtube.com/watch?v=bdBED_ueNoQ

    View full-size slide

  5. Day 0
    Player 1
    adds a
    name
    Player 1
    gets url to
    share
    Player 1
    Shares url
    with friend
    Player 2
    joins
    Player 1 and Player 2
    Get egg cracking result
    Fotis

    View full-size slide

  6. Day 0 Day 7 Day 8
    Let’s do it

    View full-size slide

  7. https://www.tsougkrizo.com/
    Day 7

    View full-size slide

  8. Release day
    Beta release
    Saturday 15:00: Beta release to friends
    Feedback && debugging && last touches
    Release
    Saturday 20:00: Release - https://www.tsougkrizo.com/
    Marketing
    Saturday 21:00: Send to broad friends circle ask friend to fwd
    User boom
    Saturday 00:00: Jesus resurrected && Greeks sit to eat and tap eggs

    View full-size slide

  9. Technical side
    &
    Life cycle

    View full-size slide

  10. Day 1
    ● async python web
    ○ Websockets
    ○ Concurrency
    ● Fast as running fast
    ● Fast as code fast

    View full-size slide

  11. Day 1
    https://fastapi.tiangolo.com/advanced/websockets/
    ● async python web
    ○ Websockets
    ○ Concurrency
    ● Fast as running fast
    ● Fast as code fast

    View full-size slide

  12. Day 1 - First Backend
    https://github.com/mei-li/tsougkrizo/commit/8a64cdb61506a37c310096
    e937db1c0705533173c
    Estimation: almost ready
    Fixed random results
    temporary dict storage

    View full-size slide

  13. Day 2-4
    Gameplay
    Tumult
    Hype 4.0
    animations

    View full-size slide

  14. Day 5 - Thursday
    ● FE and BE integration (websocket calls, jinja templates)
    ● User error handling - Game not valid
    ● Websocket error handling
    Commits
    https://github.com/mei-li/tsougkrizo/commits/master?after=5db0d893c47149776bb7089503e3b5610100
    bcfc+69&branch=master

    View full-size slide

  15. Day 6 - Friday
    ● Buy domain

    View full-size slide

  16. Day 6 - Friday
    ● Buy domain
    ● Upgrade Heroku Dyno type

    View full-size slide

  17. Day 6 - Friday
    ● Buy domain
    ● Upgrade Heroku Dyno type
    ● Integrate GoDaddy - Heroku - HTTPS
    ● HTTPS ready → Share button

    View full-size slide

  18. Day 6 - Friday
    ● Buy domain
    ● Upgrade Heroku Dyno type
    ● Integrate GoDaddy - Heroku - HTTPS
    ● HTTPS ready → Share button
    ● Critical bug
    https://tsougkrizo.herokuapp.com/0
    811642c-db56-490c-86ac-2beb64d
    9df8b/join
    Game not
    found!
    ?
    Fix commit

    View full-size slide

  19. Day 7 - release day
    UI/UX
    user interface/ user
    experience
    improvements

    View full-size slide

  20. Day 8 - 6000 users
    Up to 170 concurrent users !!!
    Many testimonials with ideas and
    positive feedback

    View full-size slide

  21. Startup experience

    View full-size slide

  22. Real days
    Friday
    - buy domain
    - setup with heroku
    - upgrade heroku
    - debug heroku +
    godaddy
    - debug issue with invalid
    game
    - lots of testing
    - add share button
    - fix CSS for mobile
    - add logs for error cases
    - supress possible error if
    player 1 socket is closed
    - 4 deployments
    Sunday
    - add persistent results
    page
    - fix share btn link for
    iphone
    - fix typos in result msg
    - refactor share button to
    reuse
    - fix again reversed results
    - use share button for
    results
    - more feature ideas
    - more UX improvement
    ideas
    - 3 deployments
    Saturday
    - ΒΕ cleanup and refactor
    - Fix share icons
    - fix reconnection errors
    - add generic error page
    - fix bug with reverse results
    - improve mobile UX
    - add webfonts
    - add logo, titroo banner
    - improve animation
    - optimize image size
    - fix broken url in reshare
    - improve winning algo
    - add victory effect in animation
    - disable swap/reload
    - add google analytics
    - add sentry in JS
    - expire results to save memory
    - load results in reconnect

    - 12 deployments
    Monday
    - many more ideas
    - unfinished branches
    ….
    - 1 deployment
    …. THE END

    View full-size slide

  23. Fotis working hours 80-90 working hours
    Breakdown (me)
    Breakdown (fotis)
    Breakdown (fotis)

    View full-size slide

  24. Recovery
    ● Non violent communication workshop - https://www.nycnvc.org/
    ● Feelings check-in
    ● Empathy

    View full-size slide

  25. Health > Fun > Quality

    View full-size slide

  26. Learnings - Process
    “Visteme despacio que tengo
    prisa”
    Spanish proverb
    “Dress me up slowly because I am in a hurry”

    View full-size slide

  27. Learnings - Process
    No planning overplanning

    View full-size slide

  28. Learnings - Engineering
    One process can bring you quite far!
    “If you are not embarrassed by the first version of your
    product, you’ve launched too late.”
    by Reid Hoffman

    View full-size slide

  29. Success why?
    ✓ Small
    ✓ Tech interesting
    ✓ Mostly MVP
    ✓ Nice people
    ✓ Fun to play
    Google Analytics was the greatest thing

    View full-size slide

  30. Contribute? - Open issues
    ● Clean up Spaghetti
    Javascript
    ● Add testing
    https:/
    /github.com/mei-li/tsougkrizo

    View full-size slide

  31. Thank you
    Questions?
    @meiltr
    @mei-li

    View full-size slide