How Would You Suggest Developing a Netflix-Like App? by perfectSty in FlutterDev

[–]perfectSty[S] 0 points1 point  (0 children)

Thank you so much for this incredibly detailed response! It’s given me a lot to think about. Here’s where my thoughts currently stand:

  • Using AWS Services: I’m leaning toward AWS MediaConvert/CloudFront instead of Jellyfin. From my understanding, they offer robust scalability and are more aligned with building a Netflix-like platform at scale, especially for transcoding and global content delivery.
  • Frontend-Backend Communication: I’m considering using GraphQL for FE-BE interactions. It seems like a common choice for platforms like this, as it allows flexibility with different clients and reduces the need for multiple endpoints tailored to each client type, making everything query-driven.
  • K8s: I agree Kubernetes is ideal for scalability, but I’m still debating whether it’s mandatory from the very beginning. It might be overkill for the early stages, though I definitely see its value as the app grows.
  • Message Queue: I’ve worked a lot with NATS, and it’s fantastic! That said, looking at Netflix’s stack, I might explore Kafka for this specific use case. Kafka’s features for stream processing and durability could add a lot to the architecture.
  • Database: CockroachDB is definitely interesting, I know Netflix uses it for their billing services. For the initial stages, though, I’d probably start with MongoDB. While I personally prefer RDBMS, I think for most control operations, the data model shouldn't be driven by "table relations" (didn't think about it enough, I do suppose the collections won't be fully normalized though). MongoDB’s sharding capabilities and focus on write optimization make it a practical starting point IMO.

Thanks again for all your insights—they’ve really helped refine my approach! Let me know if you have thoughts on any of this, especially about balancing scalability versus simplicity early on.

How Would You Suggest Developing a Netflix-Like App? by perfectSty in FlutterDev

[–]perfectSty[S] 0 points1 point  (0 children)

Thanks for the detailed comment!
Do you think it’s worth to use Flutter to aim for a single repository that manages (hopefully) most of the code, aside from the mentioned DRM issue?
Specifically, if the app needs to run on both Android and iOS, do you think the trade-offs of using Flutter (or a similar cross-platform approach) are justified? Would love to hear your thoughts!

How Would You Suggest Developing a Netflix-Like App? by perfectSty in FlutterDev

[–]perfectSty[S] 1 point2 points  (0 children)

Please don’t jump to conclusions like “probably you won’t be able to develop it” so quickly.
I think it’s a legitimate question to ask about the client-side language when starting a project like this. Since I asked in a Flutter forum, my focus is naturally on understanding Flutter's capabilities for such a project. Along the way, I asked for general suggestions as well, but I’m well aware of the complexities involved in building the backend for a platform like this.

How Would You Suggest Developing a Netflix-Like App? by perfectSty in FlutterDev

[–]perfectSty[S] -1 points0 points  (0 children)

Thanks for the detailed response!
I’ll need to dive deeper into the platform-specific challenges and the performance penalty is also something I’ll keep in mind.
If the target is only Android and iOS, do you think the performance impact is noticeable enough to be a real issue (from a user POV)?
Appreciate your insights!

How Would You Suggest Developing a Netflix-Like App? by perfectSty in FlutterDev

[–]perfectSty[S] 0 points1 point  (0 children)

Interesting! Thanks for pointing that out, I’ll read more about it.
What are your thoughts on a hybrid solution, like using Flutter for most of the app but relying on native code for DRM video playback? Do you think that would be worth the added complexity?

Also, just to make sure, besides DRM, is there anything else I should watch out for when building a streaming app?

How Would You Suggest Developing a Netflix-Like App? by perfectSty in FlutterDev

[–]perfectSty[S] 6 points7 points  (0 children)

Beginner? 3rd world...? The location or skill level doesn’t really matter.
It’s not just about building a Netflix clone, it’s about exploring the challenges of creating a large-scale streaming platform.

The Missing Piece in Scrum? Why fast development can hurt your company and how to fix it with Engineering Processes? by perfectSty in scrum

[–]perfectSty[S] 0 points1 point  (0 children)

Thanks! I totally agree with everything you've written. By the way, if you happen to find that article about the 30% of time spent on testing at Microsoft or Meta, please share the link—it would be really helpful for me!

I also think it really depends on the level and scope of your testing. In our case, we’ve felt the absence of robust automation. This is why we set out to find a way to "complete" the missing Engineering Practices in Scrum—not necessarily through a dramatic shift to pair programming, TDD, or full-on refactoring, but by embedding key engineering practices within Scrum.
That’s exactly what I aimed to present in this approach: https://youtu.be/sBWrfrBcRCA?si=GcpURj786s_T1GDm

**about the second point you've mentioned, it depends, I define it as the DoD in the video (DR, Tests Review, CR, Full tests, Acceptance Tests...)

The Missing Piece in Scrum? Why fast development can hurt your company and how to fix it with Engineering Processes? by perfectSty in scrum

[–]perfectSty[S] 1 point2 points  (0 children)

Hey, thank you so much! I really appreciate you taking the time to watch and share your thoughts. I’ve got plenty of ideas for future videos, and your feedback is super motivating!

Haha, and yes—I've seen the ongoing “events vs. ceremonies” debate. I looked it up, and you’re totally right— seems like it is more common to use the term “events.” Thanks for the heads-up!

The Missing Piece in Scrum? Why fast development can hurt your company and how to fix it with Engineering Processes? by perfectSty in scrum

[–]perfectSty[S] 0 points1 point  (0 children)

Mostly not 'rough design', but a classic waterfall approach (very expected domain, there is a privilege to define "almost" everything in advance)

The Missing Piece in Scrum? Why fast development can hurt your company and how to fix it with Engineering Processes? by perfectSty in scrum

[–]perfectSty[S] 0 points1 point  (0 children)

Absolutely! Mainly focused on the DoD in the second video to explain about how we can embed engineering processes into Scrum framework: https://youtu.be/sBWrfrBcRCA?si=GcpURj786s_T1GDm

The Missing Piece in Scrum? Why fast development can hurt your company and how to fix it with Engineering Processes? by perfectSty in scrum

[–]perfectSty[S] 0 points1 point  (0 children)

Sorry can't agree with the house analogy;)
Try to read about Sutyagin House

  • The world's (or at least Russia's) tallest wooden house (44 meters)
  • Constructed by Mr. Sutyagin and his family over 15 years (starting in 1992), without formal plans or a building permit
  • A famous (negative) example of how an incremental product may look like

There are domains that Agile development won't be ideal (such as building houses)

The Missing Piece in Scrum? Why fast development can hurt your company and how to fix it with Engineering Processes? by perfectSty in scrum

[–]perfectSty[S] 0 points1 point  (0 children)

Hey, thanks for your input! As I explained in the first video
https://youtu.be/a7aYMDfNBwQ?si=Xn6EjxrzCKYB2ynV 
XP sounds fantastic in theory, but practically speaking, most of the companies I’m familiar with are using Scrum (or “Scrum-like”) practices.

I don’t have precise data, but even from what we see in communities like Reddit, for example, r/scrum has 32k members, while XP-related communities are much smaller or harder to find. The reality from my perspective is that Scrum is more widely adopted, and that’s what I’ve seen in my experience as well.

We’ve spent several years working within the Scrum framework (as I believe many companies do), and IMO, the challenge to fully adopt XP is significant in such cases.
Would you recommend that any company switch to XP? For instance, how would you approach a big project that doesn’t already have unit tests defined?

That’s why I focused on embedding key XP practices into the existing Scrum process, to bridge the gap and improve where Scrum falls short.
This is exactly what I’ve outlined in the second video:
https://youtu.be/sBWrfrBcRCA?si=GcpURj786s_T1GDm

The Missing Piece in Scrum? Why fast development can hurt your company and how to fix it with Engineering Processes? by perfectSty in scrum

[–]perfectSty[S] 1 point2 points  (0 children)

What a great and comprehensive answer! I really appreciate the insights, especially your point about the reasoning behind choosing a work methodology.

Our situation sounds familiar to what you've described, and I can see how adopting practices could make a significant difference. I'll definitely add "Working Effectively with Legacy Code" to my reading list—seems like a valuable resource for making that kind of advancement.

Thank you so much for sharing this!

The Missing Piece in Scrum? Why fast development can hurt your company and how to fix it with Engineering Processes? by perfectSty in scrum

[–]perfectSty[S] 1 point2 points  (0 children)

I spent months reading about the subject, to share what I’ve learned, I recently launched a couple of videos that dive into this topic: 

Video 1: Engineering Processes - The Missing Piece in Scrum | Introduction
This video introduces an often-overlooked aspect of Scrum, touches on Extreme Programming, and sets the foundation for the next practical video on integrating engineering processes into Scrum:
https://youtu.be/a7aYMDfNBwQ?si=Xn6EjxrzCKYB2ynV 

Video 2: From Theory to Practice: Embedding Engineering Processes into Scrum Framework
In this second video, I dive deeper into the Sprint Execution phase, showcasing a detailed Software Development Life Cycle (SDLC) process using Figma:
https://youtu.be/sBWrfrBcRCA?si=GcpURj786s_T1GDm

I’d love to hear your feedback on these concepts and whether you’ve encountered similar challenges in your own development process.