CINXE.COM

Flutter Customer Reviews 2025 | Product Hunt

<!DOCTYPE html><html lang="en" data-sentry-component="RootLayout" data-sentry-source-file="layout.tsx"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"/><link rel="stylesheet" href="/_next/static/css/8f719edb11eed1a0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/ec8f466b9e77932d.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0bee508d3bad07c8.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c99d6c2024146960.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/4afdd19ce6c2ffda.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/45be9f74b83be42e.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/de8c3b4e4153db18.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/886a1217ff9fd009.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d31cd169126c5461.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/8b472d8ca8da25a1.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2895d80b6090678b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6f0fd2191815f922.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b0e0dd11aa1ac818.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a266a9e18a909cd8.js"/><script src="/_next/static/chunks/52774a7f-6669686f43e90bd5.js" async=""></script><script src="/_next/static/chunks/fd9d1056-9af7b3142eb9eff3.js" async=""></script><script src="/_next/static/chunks/13326-c5fdf3cfd9b23ad7.js" async=""></script><script src="/_next/static/chunks/main-app-d64645cd5a5c1a4b.js" async=""></script><script src="/_next/static/chunks/c16f53c3-48451ac2b1dbb4cf.js" async=""></script><script src="/_next/static/chunks/20921-7a96833f57c275e2.js" async=""></script><script src="/_next/static/chunks/99791-029fefa2b88e709e.js" async=""></script><script src="/_next/static/chunks/83785-230f48b890d5c9aa.js" async=""></script><script src="/_next/static/chunks/99485-049f8877fe3fd326.js" async=""></script><script src="/_next/static/chunks/20750-a86c83808da2a59a.js" async=""></script><script src="/_next/static/chunks/27834-5c78f4880616ba54.js" async=""></script><script src="/_next/static/chunks/53261-f5a2bb4c2cf1c00e.js" async=""></script><script src="/_next/static/chunks/38997-3ec4d552be6df75b.js" async=""></script><script src="/_next/static/chunks/33531-acabdae7789b7d36.js" async=""></script><script src="/_next/static/chunks/47931-b395de54841771b6.js" async=""></script><script src="/_next/static/chunks/63874-3d5e5624fdebf890.js" async=""></script><script src="/_next/static/chunks/49428-0a1d686850695b6b.js" async=""></script><script src="/_next/static/chunks/84400-eddd67ab8f0451c0.js" async=""></script><script src="/_next/static/chunks/75588-29ce98fe08a127f6.js" async=""></script><script src="/_next/static/chunks/72369-1e7864e9cf595161.js" async=""></script><script src="/_next/static/chunks/73882-86d296e7924d8950.js" async=""></script><script src="/_next/static/chunks/3842-a8176129994dc984.js" async=""></script><script src="/_next/static/chunks/20828-0d71157315f6d814.js" async=""></script><script src="/_next/static/chunks/16010-3a87789f9e78e8fe.js" async=""></script><script src="/_next/static/chunks/10451-9704566820ba8087.js" async=""></script><script src="/_next/static/chunks/app/(main)/products/%5Bslug%5D/(layout)/layout-5aaf5a5772e0f497.js" async=""></script><script src="/_next/static/chunks/50125-e28270261385c894.js" async=""></script><script src="/_next/static/chunks/82970-a7daac786c5af3dc.js" async=""></script><script src="/_next/static/chunks/42822-99f6529dd3dcc810.js" async=""></script><script src="/_next/static/chunks/1574-0ff57c1c3fe8f9cc.js" async=""></script><script src="/_next/static/chunks/app/(main)/layout-debac8568c4d5c24.js" async=""></script><script src="/_next/static/chunks/42551-a0fa86bb9d6d8fd7.js" async=""></script><script src="/_next/static/chunks/app/(main)/not-found-6454de4391d43401.js" async=""></script><script src="/_next/static/chunks/59793-66c731db89a93e2c.js" async=""></script><script src="/_next/static/chunks/53894-186a0b2de7ed77b4.js" async=""></script><script src="/_next/static/chunks/22429-69adeb18bda66f2d.js" async=""></script><script src="/_next/static/chunks/app/layout-90f3600e4f3e5c63.js" async=""></script><script src="/_next/static/chunks/app/(cards)/layout-9988a4830bde0b78.js" async=""></script><script src="/_next/static/chunks/12103-257c54f0017a6619.js" async=""></script><script src="/_next/static/chunks/app/global-error-0f7c130fe1d0fc3a.js" async=""></script><script src="/_next/static/chunks/16065-fb101c10cfdd889b.js" async=""></script><script src="/_next/static/chunks/49194-4af1f46f24e590e3.js" async=""></script><script src="/_next/static/chunks/31706-d405fcf06045e83c.js" async=""></script><script src="/_next/static/chunks/61790-cd138e29ba47ce68.js" async=""></script><script src="/_next/static/chunks/645-9f3ced8a14b74568.js" async=""></script><script src="/_next/static/chunks/22999-9e3c57ac7a8e2d2f.js" async=""></script><script src="/_next/static/chunks/49813-723a643f50dbb004.js" async=""></script><script src="/_next/static/chunks/40254-e5095fca591ff89a.js" async=""></script><script src="/_next/static/chunks/20188-d958b7cbebf14580.js" async=""></script><script src="/_next/static/chunks/59416-97b259ac7ad0f3f4.js" async=""></script><script src="/_next/static/chunks/3685-dcaaaf5280478dbc.js" async=""></script><script src="/_next/static/chunks/app/(main)/products/%5Bslug%5D/(layout)/reviews/page-85efd990faf4192d.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-WZ46833KH9" as="script"/><link rel="preload" href="https://www.googletagmanager.com/gtm.js?id=G-WZ46833KH9" as="script"/><meta property="fb:app_id" content="1467820943460899" data-sentry-element="meta" data-sentry-source-file="layout.tsx"/><link rel="search" type="application/opensearchdescription+xml" title="ProductHunt" href="/osd.xml"/><meta name="theme-color" content="#ffffff"/><title> Flutter Customer Reviews 2025 | Product Hunt</title><meta name="description" content="See what 77 people are saying about Flutter on Product Hunt. Verified user reviews and testimonials from the Product Hunt community."/><link rel="author" href="https://www.producthunt.com/@eseidelgoogle"/><meta name="author" content="Eric Seidel"/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="fb:app_id" content="1467820943460899"/><link rel="canonical" href="https://www.producthunt.com/products/flutter/reviews"/><link rel="alternate" type="application/atom+xml" title="Product Hunt - All newest Products" href="https://www.producthunt.com/feed"/><meta property="og:title" content=" Flutter Customer Reviews 2025 | Product Hunt"/><meta property="og:description" content="See what 77 people are saying about Flutter on Product Hunt. Verified user reviews and testimonials from the Product Hunt community."/><meta property="og:url" content="https://www.producthunt.com/products/flutter/reviews"/><meta property="og:site_name" content="Product Hunt"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://ph-files.imgix.net/0812df7e-b7be-4f7c-b329-624b47c9efd4.png?auto=format&amp;fit=crop&amp;frame=1&amp;h=512&amp;w=1024"/><meta property="og:type" content="article"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@producthunt"/><meta name="twitter:creator" content="@eseidelgoogle"/><meta name="twitter:title" content=" Flutter Customer Reviews 2025 | Product Hunt"/><meta name="twitter:description" content="See what 77 people are saying about Flutter on Product Hunt. Verified user reviews and testimonials from the Product Hunt community."/><meta name="twitter:image" content="https://ph-files.imgix.net/0812df7e-b7be-4f7c-b329-624b47c9efd4.png?auto=format&amp;fit=crop&amp;frame=1&amp;h=512&amp;w=1024"/><link rel="icon" href="https://ph-static.imgix.net/ph-favicon-brand-500.ico?auto=format"/><link rel="apple-touch-icon-precomposed" href="https://ph-static.imgix.net/ph-ios-icon.png?auto=format"/><link rel="chrome-webstore-item" href="https://producthunt.app.link/extension"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><script>(window[Symbol.for("ApolloSSRDataTransport")] ??= []).push({"rehydrate":{":R1kq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R9kq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R268ptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":Ra8ptpkq:":{"data":undefined,"loading":true,"networkStatus":1,"called":true},":R2e8ptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R2i8ptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":Rgptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R19tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R1ptpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R29tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R39tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":Rd9tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":Rl9tpkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R2pkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R3pkq:":{"data":{},"complete":false,"missing":"Dangling reference to missing Viewer object"},":R38ptpkq:":{"data":{"viewer":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}}},"networkStatus":7},":R38ptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2fnnkptpkq:":{"data":{"product":{"__typename":"Product","id":"111332","canEdit":false,"logoUuid":"88bee7a4-63c1-433f-b2e8-a104fd862e20.png","followersCount":411,"activeUpcomingEvent":null,"upcomingBannerFollowers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"47847","name":"Alex H","username":"metalhaze","avatarUrl":"https://ph-avatars.imgix.net/47847/d754285a-c40c-41b6-9b75-486dbdde43e4.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"90316","name":"★ Aydarius ★","username":"aydarkh","avatarUrl":"https://ph-avatars.imgix.net/90316/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"238838","name":"mott","username":"mottillo","avatarUrl":"https://ph-avatars.imgix.net/238838/c026b107-f495-41e2-b544-f09138516d88.jpeg"}}]},"name":"Flutter","tagline":"Build apps for iOS, Android, web, macOS, Windows, \u0026 Linux","reviewsCount":77,"isTopProduct":false,"featuredShoutoutsToCount":58,"headerImage":null,"goldenKittyBadges":{"__typename":"GoldenKittyAwardBadgeConnection","edges":[]},"slug":"flutter","isNoLongerOnline":false,"isMaker":false,"reviewsRating":4.83,"addonsCount":0,"shoutoutsToCount":516,"badges":{"__typename":"Connection","totalCount":2},"websiteUrl":"https://flutter.dev","isSubscribed":false,"isClaimed":true,"canClaim":false,"viewerPendingTeamRequest":null,"cleanUrl":"flutter.dev","iosUrl":null,"androidUrl":null,"githubUrl":"https://github.com/flutter/flutter","twitterUrl":"https://twitter.com/flutterdev","facebookUrl":null,"instagramUrl":"https://www.instagram.com/flutter.dev","linkedinUrl":"https://www.linkedin.com/showcase/flutterdevofficial/","angellistUrl":null,"threadsUrl":null,"mediumUrl":"https://medium.com/flutter","makers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"3262189","name":"Eric Seidel","username":"eseidelgoogle","avatarUrl":"https://ph-avatars.imgix.net/3262189/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"2490349","name":"Tim Sneath","username":"tim_sneath","avatarUrl":"https://ph-avatars.imgix.net/2490349/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"431332","name":"Jay Chang","username":"jaydchang","avatarUrl":"https://ph-avatars.imgix.net/431332/18e01c05-cb09-43f3-a729-838c49fb8a13.png"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"3262285","name":"Mariam Hasnany","username":"mariam_hasnany","avatarUrl":"https://ph-avatars.imgix.net/3262285/308060b4-cb20-4043-9f3b-1530bed456f7.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"288136","name":"Frank van Puffelen","username":"puf","avatarUrl":"https://ph-avatars.imgix.net/288136/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"1201877","name":"Seth Ladd","username":"sethladd","avatarUrl":"https://ph-avatars.imgix.net/1201877/original.jpeg"}}]},"awards":{"__typename":"Connection","edges":[{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"29800","post":{"__typename":"Post","id":"286903","name":"Flutter 2.0"},"position":1,"period":"daily","date":"2021-03-05"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"9236","post":{"__typename":"Post","id":"121128","name":"Flutter"},"position":5,"period":"daily","date":"2018-02-27"}}]},"discussionForum":{"__typename":"DiscussionForumType","id":"50676","threads":{"__typename":"DiscussionForumAssociationTypeConnection","edges":[{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"325259","commentable":{"__typename":"Post","id":"346155","slug":"flutter-3-0-2","name":"Flutter 3.0","tagline":"Flutter on all your platforms, from MacOS to Android","createdAt":"2022-05-12T00:01:00-07:00","user":{"__typename":"User","id":"2040139","name":"Eduardo Moreno","username":"edm_sh","avatarUrl":"https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png"},"commentsCount":9,"hasVoted":false,"votesCount":261,"latestScore":220}}},{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"286006","commentable":{"__typename":"Post","id":"286903","slug":"flutter-2-0-1","name":"Flutter 2.0","tagline":"Build beautiful native apps in record time, now on web too","createdAt":"2021-03-05T01:11:54-08:00","user":{"__typename":"User","id":"2040139","name":"Eduardo Moreno","username":"edm_sh","avatarUrl":"https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png"},"commentsCount":32,"hasVoted":false,"votesCount":787,"latestScore":553}}},{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"193449","commentable":{"__typename":"Post","id":"121128","slug":"flutter-6","name":"Flutter","tagline":"Build beautiful native apps in record time","createdAt":"2018-02-27T09:44:32-08:00","user":{"__typename":"User","id":"18280","name":"Chris Messina","username":"chrismessina","avatarUrl":"https://ph-avatars.imgix.net/18280/d71888de-b44a-4005-9dde-d778c7a80b39.jpeg"},"commentsCount":22,"hasVoted":false,"votesCount":634,"latestScore":431}}}]}},"url":"https://www.producthunt.com/products/flutter","isMuted":false}},"networkStatus":7},":R2fnnkptpkqH1:":{"data":{"viewer":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}}},"networkStatus":7},":R1t5mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rv5mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rv5mfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R175mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R175mfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7lmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R7lmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rl6mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rl6mfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rt9mmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rt9mmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Ru9mmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Ru9mmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rv9mmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rv9mmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rdmmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":RdmmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rhmmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":RhmmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rf6mfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rf6mfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined}},"events":[{"type":"started","options":{"skip":false,"fetchPolicy":"cache-first","query":"query Context{viewer{...UseCurrentUserFragment}}fragment ViewerNoticeFragment on Notice{type invite{id product{id slug}}makerSuggestion{id post{id slug}}dismissable{id isDismissed dismissableKey dismissableGroup}}fragment AbTestFragment on AbTestAssignment{name variant}fragment LaunchTipsFragment on Post{id canComment commentsCount featuredAt makerInviteUrl name url slug createdAt isMaker isHunter launchState shoutouts{id}}fragment UseCurrentUserFragment on Viewer{id email emailVerified isImpersonated analyticsIdentifyJson deviceType showCookiePolicy showCommentWarning showCaptcha showPhoneVerification isAdmin features notificationFeedItemsUnreadCount flashAlert notice{...ViewerNoticeFragment}otpRequiredFrom user{id avatarUrl isMaker name username}abTestActiveParticipations{...AbTestFragment}visitStreak{id emoji duration}recentLaunch{id scheduledAt ...LaunchTipsFragment}intercomUserHash ifVisitedFromMobile newsletterSettings{hasNewsletterSubscription}}","notifyOnNetworkStatusChange":false,"nextFetchPolicy":undefined},"id":"2"},{"type":"started","options":{"variables":{"slug":"flutter"},"skip":false,"fetchPolicy":"cache-first","query":"query ProductsPageLayout($slug:String!){product(slug:$slug excludeTrashed:true){id canEdit ...UpcomingBannerFragment ...ProductsPageLayoutHeader ...ProductsPageLayoutSidebar ...ProductPageLayoutFirstLaunch}}fragment UpcomingEventFollowButtonFragment on UpcomingEvent{id isSubscribed truncatedDescription product{id isSubscribed followersCount}}fragment UserImage on User{id name username avatarUrl}fragment UserCircleListFragment on User{id ...UserImage}fragment HeaderImage on HeaderImage{id uuid isPrimaryLight}fragment GoldenKittyBadge on GoldenKittyAwardBadge{id category position year post{id name}}fragment ProductThumbnailFragment on Product{id name logoUuid isNoLongerOnline}fragment ReviewStarRatingCTAFragment on Product{id slug name isMaker reviewsRating}fragment ProductMuteButtonFragment on Product{id isMuted}fragment HeaderNavigationMoreButton on Product{id url name slug tagline isSubscribed ...ProductThumbnailFragment ...ProductMuteButtonFragment}fragment CollectionAddButtonFragment on Product{id}fragment HeaderNavigationAddToCollectionButton on Product{id ...CollectionAddButtonFragment}fragment ProductsPageLayoutHeaderNavigator on Product{id slug addonsCount shoutoutsToCount badges{totalCount}...HeaderNavigationMoreButton ...HeaderNavigationAddToCollectionButton}fragment ProductsPageLayoutAdminBar on Product{id slug canEdit}fragment ProductLayoutHeaderWebsiteButton on Product{id websiteUrl isNoLongerOnline}fragment ProductFollowButtonFragment on Product{id followersCount isSubscribed}fragment ProductsPageLayoutSidebarStatus on Product{id slug isClaimed canClaim canEdit viewerPendingTeamRequest{id}}fragment ProductsPageLayoutSidebarLinks on Product{id websiteUrl cleanUrl iosUrl androidUrl githubUrl}fragment ProductsPageLayoutSidebarSocialLinks on Product{id twitterUrl facebookUrl instagramUrl linkedinUrl angellistUrl threadsUrl mediumUrl}fragment ProductsPageLayoutSidebarMakers on Product{id slug makers(first:6){edges{node{id ...UserImage}}}}fragment LaunchDayBadge on TopPostBadge{id post{id name}position period date}fragment ProductsPageLayoutSidebarAwards on Product{id slug isTopProduct goldenKittyBadges(first:1){edges{node{...GoldenKittyBadge}}}awards:badges(first:6 types:[TopPostBadge]){edges{node{...on TopPostBadge{id ...LaunchDayBadge}}}}}fragment ActionBarVoteButtonFragment on Votable{id hasVoted votesCount ...on Post{latestScore}}fragment ProductsPageLayoutSidebarProductDiscussionsPostFragment on Post{id slug name tagline createdAt user{...UserImage}...on Commentable{commentsCount}...ActionBarVoteButtonFragment}fragment ProductsPageLayoutSidebarProductDiscussionsDiscussionThreadFragment on DiscussionThread{id slug title createdAt featuredAt pinned user{...UserImage}...on Commentable{commentsCount}...ActionBarVoteButtonFragment}fragment ProductsPageLayoutSidebarProductDiscussions on Product{id slug discussionForum{id threads(first:3 order:new){edges{node{id commentable{...ProductsPageLayoutSidebarProductDiscussionsPostFragment ...ProductsPageLayoutSidebarProductDiscussionsDiscussionThreadFragment}}}}}}fragment MetaTags on SEOInterface{id meta{canonicalUrl creator description image mobileAppUrl oembedUrl robots title type author authorUrl}}fragment UpcomingBannerFragment on Product{id logoUuid followersCount activeUpcomingEvent{id title description bannerUuid bannerMobileUuid ...UpcomingEventFollowButtonFragment}upcomingBannerFollowers:followers(first:3 order:friends excludeViewer:true){edges{node{id ...UserCircleListFragment}}}}fragment ProductsPageLayoutHeader on Product{id name tagline reviewsCount followersCount isTopProduct featuredShoutoutsToCount headerImage{id ...HeaderImage}goldenKittyBadges(first:1){edges{node{...GoldenKittyBadge}}}...ProductThumbnailFragment ...ReviewStarRatingCTAFragment ...ProductsPageLayoutHeaderNavigator ...ProductsPageLayoutAdminBar ...ProductLayoutHeaderWebsiteButton ...ProductFollowButtonFragment}fragment ProductsPageLayoutSidebar on Product{id ...ProductsPageLayoutSidebarStatus ...ProductsPageLayoutSidebarLinks ...ProductsPageLayoutSidebarSocialLinks ...ProductsPageLayoutSidebarMakers ...ProductsPageLayoutSidebarAwards ...ProductsPageLayoutSidebarProductDiscussions}fragment ProductPageLayoutFirstLaunch on Product{id slug canEdit followersCount activeUpcomingEvent{id title description bannerUuid bannerMobileUuid isFirstLaunch ...MetaTags ...UpcomingEventFollowButtonFragment}upcomingBannerFollowers:followers(first:3 order:friends excludeViewer:true){edges{node{id ...UserCircleListFragment}}}}","notifyOnNetworkStatusChange":false,"nextFetchPolicy":undefined},"id":"3"},{"type":"data","id":"2","result":{"data":{"viewer":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}}}}},{"type":"complete","id":"2"},{"type":"data","id":"3","result":{"data":{"product":{"__typename":"Product","id":"111332","canEdit":false,"logoUuid":"88bee7a4-63c1-433f-b2e8-a104fd862e20.png","followersCount":411,"activeUpcomingEvent":null,"upcomingBannerFollowers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"47847","name":"Alex H","username":"metalhaze","avatarUrl":"https://ph-avatars.imgix.net/47847/d754285a-c40c-41b6-9b75-486dbdde43e4.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"90316","name":"★ Aydarius ★","username":"aydarkh","avatarUrl":"https://ph-avatars.imgix.net/90316/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"238838","name":"mott","username":"mottillo","avatarUrl":"https://ph-avatars.imgix.net/238838/c026b107-f495-41e2-b544-f09138516d88.jpeg"}}]},"name":"Flutter","tagline":"Build apps for iOS, Android, web, macOS, Windows, \u0026 Linux","reviewsCount":77,"isTopProduct":false,"featuredShoutoutsToCount":58,"headerImage":null,"goldenKittyBadges":{"__typename":"GoldenKittyAwardBadgeConnection","edges":[]},"slug":"flutter","isNoLongerOnline":false,"isMaker":false,"reviewsRating":4.83,"addonsCount":0,"shoutoutsToCount":516,"badges":{"__typename":"Connection","totalCount":2},"websiteUrl":"https://flutter.dev","isSubscribed":false,"isClaimed":true,"canClaim":false,"viewerPendingTeamRequest":null,"cleanUrl":"flutter.dev","iosUrl":null,"androidUrl":null,"githubUrl":"https://github.com/flutter/flutter","twitterUrl":"https://twitter.com/flutterdev","facebookUrl":null,"instagramUrl":"https://www.instagram.com/flutter.dev","linkedinUrl":"https://www.linkedin.com/showcase/flutterdevofficial/","angellistUrl":null,"threadsUrl":null,"mediumUrl":"https://medium.com/flutter","makers":{"__typename":"UserConnection","edges":[{"__typename":"UserEdge","node":{"__typename":"User","id":"3262189","name":"Eric Seidel","username":"eseidelgoogle","avatarUrl":"https://ph-avatars.imgix.net/3262189/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"2490349","name":"Tim Sneath","username":"tim_sneath","avatarUrl":"https://ph-avatars.imgix.net/2490349/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"431332","name":"Jay Chang","username":"jaydchang","avatarUrl":"https://ph-avatars.imgix.net/431332/18e01c05-cb09-43f3-a729-838c49fb8a13.png"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"3262285","name":"Mariam Hasnany","username":"mariam_hasnany","avatarUrl":"https://ph-avatars.imgix.net/3262285/308060b4-cb20-4043-9f3b-1530bed456f7.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"288136","name":"Frank van Puffelen","username":"puf","avatarUrl":"https://ph-avatars.imgix.net/288136/original.jpeg"}},{"__typename":"UserEdge","node":{"__typename":"User","id":"1201877","name":"Seth Ladd","username":"sethladd","avatarUrl":"https://ph-avatars.imgix.net/1201877/original.jpeg"}}]},"awards":{"__typename":"Connection","edges":[{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"29800","post":{"__typename":"Post","id":"286903","name":"Flutter 2.0"},"position":1,"period":"daily","date":"2021-03-05"}},{"__typename":"BadgeEdge","node":{"__typename":"TopPostBadge","id":"9236","post":{"__typename":"Post","id":"121128","name":"Flutter"},"position":5,"period":"daily","date":"2018-02-27"}}]},"discussionForum":{"__typename":"DiscussionForumType","id":"50676","threads":{"__typename":"DiscussionForumAssociationTypeConnection","edges":[{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"325259","commentable":{"__typename":"Post","id":"346155","slug":"flutter-3-0-2","name":"Flutter 3.0","tagline":"Flutter on all your platforms, from MacOS to Android","createdAt":"2022-05-12T00:01:00-07:00","user":{"__typename":"User","id":"2040139","name":"Eduardo Moreno","username":"edm_sh","avatarUrl":"https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png"},"commentsCount":9,"hasVoted":false,"votesCount":261,"latestScore":220}}},{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"286006","commentable":{"__typename":"Post","id":"286903","slug":"flutter-2-0-1","name":"Flutter 2.0","tagline":"Build beautiful native apps in record time, now on web too","createdAt":"2021-03-05T01:11:54-08:00","user":{"__typename":"User","id":"2040139","name":"Eduardo Moreno","username":"edm_sh","avatarUrl":"https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png"},"commentsCount":32,"hasVoted":false,"votesCount":787,"latestScore":553}}},{"__typename":"DiscussionForumAssociationTypeEdge","node":{"__typename":"DiscussionForumAssociationType","id":"193449","commentable":{"__typename":"Post","id":"121128","slug":"flutter-6","name":"Flutter","tagline":"Build beautiful native apps in record time","createdAt":"2018-02-27T09:44:32-08:00","user":{"__typename":"User","id":"18280","name":"Chris Messina","username":"chrismessina","avatarUrl":"https://ph-avatars.imgix.net/18280/d71888de-b44a-4005-9dde-d778c7a80b39.jpeg"},"commentsCount":22,"hasVoted":false,"votesCount":634,"latestScore":431}}}]}},"url":"https://www.producthunt.com/products/flutter","isMuted":false}}}},{"type":"complete","id":"3"},{"type":"started","options":{"variables":{"slug":"flutter","query":null,"reviewsLimit":10,"reviewsOrder":"best","includeReviewId":null,"rating":"0","order":null,"reviewsCursor":null,"reviewsNoReplies":null,"commentsListSubjectThreadsLimit":10,"includeThreadForCommentId":null,"commentsListSubjectFilter":null,"excludeThreadForCommentId":null},"skip":false,"fetchPolicy":"cache-first","query":"query ProductReviewsPage($slug:String!$reviewsLimit:Int!$reviewsCursor:String$reviewsOrder:ReviewsOrder$reviewsNoReplies:Boolean$includeReviewId:ID$query:String$rating:String$commentsListSubjectThreadsCursor:String=\"\"$commentsListSubjectThreadsLimit:Int!$commentsThreadRepliesCursor:String=\"\"$commentsListSubjectFilter:ThreadFilter$order:ThreadOrder$includeThreadForCommentId:ID$excludeThreadForCommentId:ID){product(slug:$slug){id slug name reviewsWithBodyCount reviewsRating reviewsRecentRating reviewsCount reviewsRecentWithRatingCount isMaker isTrashed viewerReview{id}activeUpcomingEvent{id isFirstLaunch}...ReviewsFiltersFragment ...ProductReviewsPageReviewsFeedFragment ...ProductReviewsPageAlternativeCardFragment ...ReviewCTAPromptFragment}}fragment ProductThumbnailFragment on Product{id name logoUuid isNoLongerOnline}fragment UserImage on User{id name username avatarUrl}fragment UserVerifiedBadgeFragment on User{id isAccountVerified}fragment TopProductBadgeFragment on User{id topProductBadge{id product{id slug name ...ProductThumbnailFragment}}}fragment TopHunterBadgeFragment on User{id topHunterBadge{id user{id}}}fragment PostStatusIconFragment on Post{id productState}fragment PostThumbnailFragment on Post{id name thumbnailImageUuid ...PostStatusIconFragment}fragment TopLaunchBadgeFragment on User{id topLaunchBadge{id post{id ...PostThumbnailFragment product{id slug name}}}}fragment ComingSoonUserBadgeFragment on User{id promotableUpcomingEvent{id}}fragment ActionBarVoteButtonFragment on Votable{id hasVoted votesCount ...on Post{latestScore}}fragment ReviewItemDeleteButtonFragment on Review{id canDestroy}fragment ReviewItemEditButtonFragment on Review{id canUpdate product{id name slug}}fragment ReviewItemReplyButtonFragment on Review{id canReply}fragment ReviewItemShareButtonFragment on Review{id url user{id name}}fragment ReviewItemVisibilityToggleFragment on Review{id isHidden}fragment ReviewItemActionBarFragment on Review{id createdAt ...ActionBarVoteButtonFragment ...ReviewItemDeleteButtonFragment ...ReviewItemEditButtonFragment ...ReviewItemReplyButtonFragment ...ReviewItemShareButtonFragment ...ReviewItemVisibilityToggleFragment}fragment ReviewItemFragment on Review{id body rating user{id name username reviewsCount selectedBylineProduct{id slug ...ProductThumbnailFragment}...UserImage ...UserVerifiedBadgeFragment ...TopProductBadgeFragment ...TopHunterBadgeFragment ...TopLaunchBadgeFragment ...ComingSoonUserBadgeFragment}...ReviewItemActionBarFragment}fragment PollOptionFragment on PollOption{id text imageUuid answersCount answersPercent hasAnswered}fragment PollFragment on Poll{id answersCount hasAnswered options{id ...PollOptionFragment}}fragment CommentActionBarVoteButton on Comment{id ...ActionBarVoteButtonFragment}fragment CommentActionBarModerationTools on Comment{id isPinned isSticky score approvalStatus user{id}inputInfo{id typingSpeed pastedIndex pastedValue}}fragment FacebookShareButtonFragment on Shareable{id url}fragment CommentActionBarShareButton on Comment{id path user{id name}...FacebookShareButtonFragment}fragment CommentActionBarReplyButton on Comment{id canViewReplyBtn}fragment CommentActionBarTimeAgo on Comment{id createdAt}fragment CommentActionBarPollAnswerCount on Comment{id poll{id answersCount}}fragment CommentActionBarAwardButton on Comment{id canAward award}fragment CommentActionBarMarkAsReadButton on Comment{id read}fragment CommentActionBarViewButton on Comment{id subject{id __typename ...on Post{slug}...on DiscussionThread{slug}}}fragment CommentActionBarDestroyButton on Comment{id canDestroy}fragment CommentActionBarEditButton on Comment{id canEdit}fragment CommentActionBarFragment on Comment{id ...CommentActionBarVoteButton ...CommentActionBarModerationTools ...CommentActionBarShareButton ...CommentActionBarReplyButton ...CommentActionBarTimeAgo ...CommentActionBarPollAnswerCount ...CommentActionBarAwardButton ...CommentActionBarMarkAsReadButton ...CommentActionBarViewButton ...CommentActionBarDestroyButton ...CommentActionBarEditButton}fragment CommentsCommentByLineProduct on Product{id name slug ...ProductThumbnailFragment}fragment CommentsCommentByLineUser on User{id name username selectedBylineProduct{id ...CommentsCommentByLineProduct}...UserImage ...UserVerifiedBadgeFragment ...TopProductBadgeFragment ...TopHunterBadgeFragment ...TopLaunchBadgeFragment ...ComingSoonUserBadgeFragment}fragment CommentsCommentByLineApprovalStatusPill on Comment{id approvalStatus}fragment CommentsCommentByLine on Comment{id isSticky badges isFlaggedByViewer award user{id ...CommentsCommentByLineUser}...CommentsCommentByLineApprovalStatusPill}fragment CommentActionForm on Comment{id body bodyHtml user{id username}parent{id}}fragment CommentFragment on Comment{id isHidden isSticky read bodyHtml subject{id}user{id name username}poll{id ...PollFragment}...CommentActionBarFragment ...CommentsCommentByLine ...CommentActionForm}fragment CommentsThreadFragment on Comment{id isSticky visibleRepliesCount repliesCount canAward replies(first:5 after:$commentsThreadRepliesCursor focusCommentId:$includeThreadForCommentId){edges{node{id ...CommentFragment}}pageInfo{endCursor hasNextPage}}...CommentFragment}fragment CommentsListSubjectFragment on Commentable{id threads(first:$commentsListSubjectThreadsLimit after:$commentsListSubjectThreadsCursor filter:$commentsListSubjectFilter order:$order includeCommentId:$includeThreadForCommentId excludeCommentId:$excludeThreadForCommentId){totalCount edges{node{id ...CommentsThreadFragment}}pageInfo{endCursor hasNextPage}}}fragment CommentsSubjectFragment on Commentable{id commentsCount ...CommentsListSubjectFragment}fragment ReviewsFeedFragment on Product{id reviews(first:$reviewsLimit after:$reviewsCursor order:$reviewsOrder includeReviewId:$includeReviewId query:$query rating:$rating noReplies:$reviewsNoReplies){edges{node{id comment{id body inputInfo{id typingSpeed pastedIndex pastedValue}}...ReviewItemFragment ...CommentsSubjectFragment}}totalCount pageInfo{hasNextPage endCursor}}}fragment ReviewCTASharePromptFragment on Product{id name tagline slug ...ProductThumbnailFragment ...FacebookShareButtonFragment}fragment ReviewsFiltersFragment on Product{id slug reviewsWithRatingCount reviewsRating reviewsCount reviewsRecentRating reviewsRecentWithRatingCount ratingSpecificCount{id rating count}}fragment ProductReviewsPageReviewsFeedFragment on Product{id ...ReviewsFeedFragment}fragment ProductReviewsPageAlternativeCardFragment on Product{id slug alternativesCount alternativeAssociations(first:6){edges{node{id alternative:associatedProduct{id slug name tagline ...ProductThumbnailFragment}}}}}fragment ReviewCTAPromptFragment on Product{id isMaker viewerReview{id}...ReviewCTASharePromptFragment}","notifyOnNetworkStatusChange":false,"nextFetchPolicy":undefined},"id":"4"}]})</script></head><body class="theme-mirror bg-primary"><div id="root-container" class="light"><div class="theme-mirror"><header class="w-full border-b-2 border-gray-200 bg-primary dark:border-gray-800 sticky top-0 z-20 " data-sentry-component="DesktopHeader" data-sentry-source-file="index.tsx"><div class="mx-auto grid max-w-layout grid-cols-[1fr_2fr_1fr] items-center gap-2 bg-primary px-6 py-5 sm:grid-cols-[auto_1fr_auto] lg:px-0"><div class="flex flex-row items-center gap-6 md:gap-8"><a aria-label="Product Hunt Logo" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/"><img loading="lazy" srcSet="https://ph-static.imgix.net/golden-kitty/2024/PHLogoDark.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/golden-kitty/2024/PHLogoDark.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/golden-kitty/2024/PHLogoDark.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/golden-kitty/2024/PHLogoDark.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=40&amp;h=40&amp;fit=max&amp;frame=1" style="width:40px;height:40px" alt="Product Hunt logo dark" class="hidden dark:block"/><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" class="size-10 dark:hidden" data-sentry-element="Logo" data-sentry-source-file="index.tsx"><g fill="none" fill-rule="evenodd"><path fill="#FF6154" d="M40 20c0 11.046-8.954 20-20 20S0 31.046 0 20 8.954 0 20 0s20 8.954 20 20"></path><path fill="#FFF" d="M22.667 20H17v-6h5.667a3 3 0 0 1 0 6m0-10H13v20h4v-6h5.667a7 7 0 1 0 0-14"></path></g></svg></a><div class="text-14 font-normal text-dark-gray relative" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="absolute left-4 top-3 size-4" data-sentry-element="SearchIcon" data-sentry-source-file="index.tsx"><path fill="#4B587C" d="M7 14c-3.86 0-7-3.14-7-7s3.14-7 7-7 7 3.14 7 7-3.14 7-7 7M7 2C4.243 2 2 4.243 2 7s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5m8.707 12.293L13.314 11.9a8 8 0 0 1-1.414 1.414l2.393 2.393a.997.997 0 0 0 1.414 0 1 1 0 0 0 0-1.414" opacity="0.5"></path></svg><input readOnly="" data-hj-allow="true" data-test="header-search-input" autoComplete="off" class="input box-border h-10 w-full min-w-[164px] max-w-full appearance-none rounded-full border-0 border-white bg-gray-100 px-10 pl-[40px] text-light-gray placeholder:text-[#85888E] focus:outline-none sm:w-full sm:max-w-[216px] sm:text-base dark:bg-gray-dark-800 dark:text-tertiary" placeholder="Search" title="Search" name="q"/></div></div><nav aria-label="Main Navigation"><ul class="flex flex-row items-center justify-center gap-6 md:gap-7 lg:gap-8"><li class="group relative list-none" data-test="header-nav-link-launches" data-sentry-component="HeaderLink" data-sentry-source-file="index.tsx"><a class="cursor-pointer text-16 group flex flex-row items-center gap-1 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" href="/leaderboard/daily/2025/2/18?ref=header_nav">Launches<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="size-4 stroke-gray-500 transition-all duration-300 group-hover:-rotate-90 group-hover:stroke-brand-500"><path d="M3.5 6.25 7 9.75l3.5-3.5"></path></svg></a><div class="absolute top-4 z-100 hidden w-[350px] translate-y-2 opacity-0 transition-all duration-300 group-hover:block group-hover:translate-y-0 group-hover:opacity-100 left-0" data-sentry-component="HoverMenu" data-sentry-source-file="index.tsx"><div class="mt-6 overflow-hidden rounded-lg bg-primary shadow-lg dark:shadow-[0_2px_8px_rgba(0,0,0,0.3)]"><div class="z-100 px-4 py-2"><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/coming-soon?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(213, 243, 221, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#d5f3dd" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#599D6B" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#ComingSoon_svg__a)"><path d="M12 21.25a8.25 8.25 0 1 0 0-16.5 8.25 8.25 0 0 0 0 16.5m-6.75-18-3 3m16.5-3 3 3"></path><path d="M12 7.75V13h5.25"></path></g><defs><clipPath id="ComingSoon_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Coming soon</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Upcoming launches to watch</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/leaderboard/daily/2025/2/18?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(255, 230, 228, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#ffe6e4" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#F86C60" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#LaunchArchive_svg__a)"><path d="M9 17.25s-.75 3-5.25 3c0-4.5 3-5.25 3-5.25m11.167-4.416c2.25-2.25 2.39-4.927 2.32-6.12a.75.75 0 0 0-.7-.7c-1.194-.071-3.869.068-6.12 2.32L7.5 12l4.5 4.5zM12.75 6.75H6.97a.75.75 0 0 0-.53.22l-3.22 3.22a.75.75 0 0 0 .425 1.272L7.5 12"></path><path d="M17.25 11.25v5.78a.75.75 0 0 1-.22.53l-3.22 3.22a.75.75 0 0 1-1.272-.425L12 16.5"></path></g><defs><clipPath id="LaunchArchive_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Launch archive</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Most-loved launches by the community</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/launch?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(229, 239, 255, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#e5efff" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#3979E3" stroke-width="1.5" clip-path="url(#LaunchGuide_svg__a)"><path stroke-miterlimit="10" d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z"></path><path stroke-linecap="round" stroke-linejoin="round" d="m16.5 7.5-6 3-3 6 6-3z"></path></g><defs><clipPath id="LaunchGuide_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Launch Guide</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Checklists and pro tips for launching</div></div></div></a></div></div></div></li><li class="group relative" data-sentry-component="ProductsNavigation" data-sentry-source-file="index.tsx"><a class="group flex flex-row items-center gap-1 text-16 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/categories?ref=header_nav">Products<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="size-4 stroke-gray-500 transition-all duration-300 group-hover:-rotate-90 group-hover:stroke-brand-500" data-sentry-element="ArrowDown" data-sentry-source-file="index.tsx"><path d="M3.5 6.25 7 9.75l3.5-3.5"></path></svg></a></li><li class="group relative list-none" data-test="header-nav-link-news" data-sentry-component="HeaderLink" data-sentry-source-file="index.tsx"><a class="cursor-pointer text-16 group flex flex-row items-center gap-1 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" href="/newsletters?ref=header_nav">News<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="size-4 stroke-gray-500 transition-all duration-300 group-hover:-rotate-90 group-hover:stroke-brand-500"><path d="M3.5 6.25 7 9.75l3.5-3.5"></path></svg></a><div class="absolute top-4 z-100 hidden w-[350px] translate-y-2 opacity-0 transition-all duration-300 group-hover:block group-hover:translate-y-0 group-hover:opacity-100 left-0" data-sentry-component="HoverMenu" data-sentry-source-file="index.tsx"><div class="mt-6 overflow-hidden rounded-lg bg-primary shadow-lg dark:shadow-[0_2px_8px_rgba(0,0,0,0.3)]"><div class="z-100 px-4 py-2"><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/newsletters?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(234, 233, 255, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#eae9ff" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#6D68D4" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Newsletter_svg__a)"><path d="M3 5.25h18V18a.75.75 0 0 1-.75.75H3.75A.75.75 0 0 1 3 18z"></path><path d="m21 5.25-9 8.25-9-8.25"></path></g><defs><clipPath id="Newsletter_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Newsletter</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">The best of Product Hunt, every day</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/stories?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(255, 233, 244, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#ffe9f4" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#F468AC" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Stories_svg__a)"><path d="M12 8.25a3 3 0 0 1 3-3h6a.75.75 0 0 1 .75.75v12a.75.75 0 0 1-.75.75h-6a3 3 0 0 0-3 3M2.25 18a.75.75 0 0 0 .75.75h6a3 3 0 0 1 3 3V8.25a3 3 0 0 0-3-3H3a.75.75 0 0 0-.75.75zM15 9h3.75M15 12h3.75M15 15h3.75"></path></g><defs><clipPath id="Stories_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Stories</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Tech news, interviews, and tips from makers</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/changes?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(207, 252, 219, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#cffcdb" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#579167" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Changelog_svg__a)"><path d="M10.5 10.5h6m-6 3h6m3-9.75h-15a.75.75 0 0 0-.75.75v15c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75v-15a.75.75 0 0 0-.75-.75m-12 0v16.5"></path></g><defs><clipPath id="Changelog_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Changelog</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">New Product Hunt features and releases</div></div></div></a></div></div></div></li><li class="group relative list-none" data-test="header-nav-link-forums" data-sentry-component="HeaderLink" data-sentry-source-file="index.tsx"><a class="cursor-pointer text-16 group flex flex-row items-center gap-1 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" href="/forums?ref=header_nav">Forums<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" viewBox="0 0 14 14" class="size-4 stroke-gray-500 transition-all duration-300 group-hover:-rotate-90 group-hover:stroke-brand-500"><path d="M3.5 6.25 7 9.75l3.5-3.5"></path></svg></a><div class="absolute top-4 z-100 hidden w-[350px] translate-y-2 opacity-0 transition-all duration-300 group-hover:block group-hover:translate-y-0 group-hover:opacity-100 left-0" data-sentry-component="HoverMenu" data-sentry-source-file="index.tsx"><div class="mt-6 overflow-hidden rounded-lg bg-primary shadow-lg dark:shadow-[0_2px_8px_rgba(0,0,0,0.3)]"><div class="z-100 px-4 py-2"><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/forums?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(255, 233, 248, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#ffe9f8" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#DE62B6" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Discussions_svg__a)"><path d="M6.71 13.5 3 16.5v-12a.75.75 0 0 1 .75-.75h12a.75.75 0 0 1 .75.75v8.25a.75.75 0 0 1-.75.75z"></path><path d="M7.5 13.5v3.75a.75.75 0 0 0 .75.75h9.04L21 21V9a.75.75 0 0 0-.75-.75H16.5"></path></g><defs><clipPath id="Discussions_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Forums</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Ask questions, find support, and connect</div></div></div></a><a data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx" href="/visit-streaks?ref=header_nav"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(255, 228, 228, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#ffe4e4" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#F10202" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Streaks_svg__a)"><path d="M12.75 18c1.875-.316 3.432-1.875 3.75-3.75"></path><path d="m10.5 9 2.463-6.75C14.987 3.93 19.5 8.264 19.5 13.5a7.5 7.5 0 0 1-15 0c0-2.866 1.352-5.462 2.906-7.5z"></path></g><defs><clipPath id="Streaks_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Streaks</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">The most active community members</div></div></div></a><a href="https://lu.ma/producthunt" target="_blank" data-sentry-element="Link" data-sentry-component="SubmenuItem" data-sentry-source-file="SubmenuItem.tsx"><div class="my-2 flex flex-row gap-4 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-dark-800 dark:bg-gray-dark-900 dark:bg-[image:none] bg-[image:var(--submenu-item-background)] styles_container__K6Yj1" style="--submenu-item-background:linear-gradient(to right, rgba(207, 242, 216, 0.25) 50%, rgba(255, 255, 255, 0.3) 50%)"><div style="background-color:#cff2d8" class="flex size-11 items-center justify-center rounded transition-all ease-out" data-sentry-component="MenuIcon" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" class="!size-6" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><g stroke="#3F9E58" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" clip-path="url(#Event_svg__a)"><path d="M19.5 3.75h-15a.75.75 0 0 0-.75.75v15c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75v-15a.75.75 0 0 0-.75-.75m-3-1.5v3m-9-3v3m-3.75 3h16.5"></path><path d="m8.625 14.25 2.25 2.25 4.5-4.5"></path></g><defs><clipPath id="Event_svg__a"><path fill="#fff" d="M0 0h24v24H0z"></path></clipPath></defs></svg></div><div class="flex flex-1 flex-col"><div class="text-14 font-normal text-dark-gray text-primary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Events</div><div class="text-12 font-normal text-dark-gray text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Meet others online and in-person</div></div></div></a></div></div></div></li><li class="group relative list-none hidden md:block" data-test="header-nav-link-advertise" data-sentry-component="HeaderLink" data-sentry-source-file="index.tsx"><a class="cursor-pointer text-16 group flex flex-row items-center gap-1 font-semibold text-secondary transition-all duration-300 group-hover:text-brand-500" href="/sponsor?ref=header_nav">Advertise</a></li></ul></nav><!--$--><div class="flex flex-row items-center justify-end gap-4" data-sentry-component="Fallback" data-sentry-source-file="UserSection.tsx"><a class="text-16 font-normal text-dark-gray flex h-10 items-center gap-1 rounded-full border-2 border-gray-200 px-4 align-middle text-16 font-semibold !text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 sm:px-3 md:px-4 dark:border-gray-dark-800 dark:hover:bg-gray-dark-800" data-test="header-nav-link-subscribe" href="/newsletters?ref=header_nav&amp;campaign=weekly_newsletter&amp;source=header_nav"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20" class="size-4" data-sentry-element="MailIcon" data-sentry-source-file="index.tsx"><path stroke="#344054" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="m11.453 2.195 6.274 4.077c.221.144.332.216.412.313a.8.8 0 0 1 .158.289c.036.12.036.252.036.516v6.11c0 1.4 0 2.1-.272 2.635a2.5 2.5 0 0 1-1.093 1.092c-.535.273-1.235.273-2.635.273H5.667c-1.4 0-2.1 0-2.635-.273a2.5 2.5 0 0 1-1.093-1.092c-.272-.535-.272-1.235-.272-2.635V7.39c0-.264 0-.396.036-.516a.8.8 0 0 1 .157-.29c.08-.096.192-.168.413-.312l6.274-4.077m2.906 0c-.526-.342-.789-.513-1.072-.58a1.7 1.7 0 0 0-.762 0c-.283.067-.546.238-1.072.58m2.906 0 5.16 3.354c.574.372.86.559.96.795a.83.83 0 0 1 0 .645c-.1.237-.386.423-.96.796l-5.16 3.354c-.526.342-.789.513-1.072.58a1.7 1.7 0 0 1-.762 0c-.283-.067-.546-.238-1.072-.58l-5.16-3.354c-.574-.373-.86-.56-.96-.796a.83.83 0 0 1 0-.645c.1-.236.386-.423.96-.795l5.16-3.354m9.37 13.638-5.536-5m-4.762 0-5.536 5"></path></svg>Subscribe</a><div class="text-16 font-semibold text-white flex h-10 cursor-pointer items-center gap-1 whitespace-nowrap rounded-full bg-brand-500 px-4" data-test="header-nav-link-sign-in" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20" class="size-4" data-sentry-element="SignInIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#SignInIcon_svg__a)"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M2.782 5.833a8.333 8.333 0 1 1 0 8.333M10 13.334 13.333 10m0 0L10 6.667M13.333 10H1.667"></path></g><defs><clipPath id="SignInIcon_svg__a"><path fill="#fff" d="M0 0h20v20H0z"></path></clipPath></defs></svg>Sign in</div></div><!--/$--></div></header></div><div class="theme-mirror"></div><div class="mx-4 my-8 flex flex-col justify-center gap-8 md:mx-8 md:flex-row"><main class="flex flex-col gap-8 md:max-w-[900px]"><section class="flex flex-col gap-4 sm:flex-row sm:items-center"><img loading="lazy" srcSet="https://ph-files.imgix.net/88bee7a4-63c1-433f-b2e8-a104fd862e20.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=64&amp;h=64&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/88bee7a4-63c1-433f-b2e8-a104fd862e20.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=64&amp;h=64&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/88bee7a4-63c1-433f-b2e8-a104fd862e20.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=64&amp;h=64&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/88bee7a4-63c1-433f-b2e8-a104fd862e20.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=64&amp;h=64&amp;fit=crop&amp;frame=1" style="width:64px;height:64px" alt="Flutter" class="rounded rounded-xl" data-test="Flutter-thumbnail"/><div><h1 class="text-24 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Flutter</h1><div class="text-18 font-normal text-dark-gray text-gray-700" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Build apps for iOS, Android, web, macOS, Windows, &amp; Linux</div><span class="flex flex-row items-center gap-2"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="1"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="2"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="3"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="4"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5" class="cursor-pointer styles_tinyStar__6JueJ"><input hidden="" type="radio" value="5"/><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-14 font-medium text-dark-gray text-gray-700" target="_blank" href="/products/flutter/reviews">77 reviews</a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-14 font-medium text-dark-gray text-gray-700" target="_blank" href="/products/flutter/shoutouts">58 shoutouts</a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><div class="text-14 font-medium text-dark-gray text-gray-700" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">411 followers</div></span></div><div class="my-auto flex flex-row items-center gap-3 sm:ml-auto"><a href="https://flutter.dev/?ref=producthunt" target="_blank" data-test="visit-website-button" class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" rel="noreferrer" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">Visit website</a><button type="button" data-test="product-follow-button" class="inline-block max-h-11 rounded-full border-2 border-brand-500 bg-brand-500 px-4 py-2 text-center text-16 font-semibold text-white transition-all duration-300" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">Follow</button></div></section><ul class="flex flex-row" data-sentry-component="Navigation" data-sentry-source-file="index.tsx"><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-overview" href="/products/flutter">Overview</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-launches" href="/products/flutter/launches">Launches</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-shoutouts" href="/products/flutter/shoutouts">Shoutouts</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700 bg-gray-50 text-gray-700" data-test="product-navigation-item-reviews" href="/products/flutter/reviews">Reviews</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-team" href="/products/flutter/makers">Team</a></li><li><a class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-test="product-navigation-item-awards" href="/products/flutter/awards">Awards</a></li><li><a href="#" data-test="product-more-btn" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><span class="text-14 font-semibold text-dark-gray rounded-full px-4 py-2 text-gray-500 transition-colors duration-300 hover:bg-gray-50 hover:text-gray-700" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">More</span></a></li><li class="ml-auto"><button class="px-4 sm:px-2 textButton_textButton__SIhmH" data-test="collection-product-111332-collect-text" aria-label="Add to Collection" data-sentry-component="CollectionAddButton" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="size-7 sm:size-5" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 13V7m-3 3h6m4 11V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C16.72 3 15.88 3 14.2 3H9.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C5 5.28 5 6.12 5 7.8V21l7-4z"></path></svg></button></li></ul><!--$?--><template id="B:0"></template><div class="styles_container__lNjYm *:self-start" data-sentry-component="Loader" data-sentry-source-file="index.tsx"><div class="styles_loader__IcPYn" style="width:30px;height:30px"></div></div><!--/$--><div class="mb-10 border-none" data-sentry-component="SidebarFooter" data-sentry-source-file="index.tsx"><ul class="m-0 flex flex-row flex-wrap gap-1 p-0"><li class="text-12 text-secondary hover:underline"><a href="/stories">Blog</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/newsletters">Newsletter</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/questions">Questions</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/forums">Forums</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/categories">Product Categories</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/apps">Apps</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/about">About</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://help.producthunt.com">FAQ</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/legal#terms">Terms</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/legal#privacy">Privacy and Cookies</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://x.com/ProductHunt" target="_blank" rel="nofollow noopener noreferrer">X.com</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://www.facebook.com/producthunt" target="_blank" rel="nofollow noopener noreferrer">Facebook</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://www.instagram.com/producthunt" target="_blank" rel="nofollow noopener noreferrer">Instagram</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://www.linkedin.com/company/producthunt" target="_blank" rel="nofollow noopener noreferrer">LinkedIn</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="https://www.youtube.com/channel/UCOtU18DT8csQVqHPT1wtYzw" target="_blank" rel="nofollow noopener noreferrer">YouTube</a></li><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><li class="text-12 text-secondary hover:underline"><a href="/sponsor?utm_content=sf">Advertise</a></li></ul><div class="text-10 font-normal text-dark-gray uppercase mt-2 text-secondary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">© <!-- -->2025<!-- --> Product Hunt</div></div></main><aside class="flex w-full flex-col gap-8 md:w-[280px] md:min-w-[280px]"><div class="flex flex-col gap-4" data-sentry-component="Status" data-sentry-source-file="index.tsx"><div class="flex flex-row items-center justify-between"><div class="text-18 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Product status</div><div><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="none" data-sentry-element="QuestionIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M5.303 5.25a1.75 1.75 0 0 1 3.4.583c0 1.167-1.75 1.75-1.75 1.75M7 9.916h.006M12.834 7A5.833 5.833 0 1 1 1.167 7a5.833 5.833 0 0 1 11.667 0"></path></svg></div></div><div class="text-16 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Claimed</div></div><div class="flex flex-col gap-4" data-sentry-component="AwardsCard" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Awards</div><div class="flex flex-row flex-wrap gap-4"><div><img loading="lazy" srcSet="https://ph-static.imgix.net/badges/dailybadge1.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/badges/dailybadge1.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/badges/dailybadge1.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/badges/dailybadge1.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1" style="width:32px;height:35px" alt="Flutter 2.0 was ranked #1 of the day for March 5th, 2021"/></div><div><img loading="lazy" srcSet="https://ph-static.imgix.net/badges/dailybadge5.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=1 1x, https://ph-static.imgix.net/badges/dailybadge5.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=2 2x, https://ph-static.imgix.net/badges/dailybadge5.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1&amp;dpr=3 3x" src="https://ph-static.imgix.net/badges/dailybadge5.svg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=32&amp;h=35&amp;fit=max&amp;frame=1" style="width:32px;height:35px" alt="Flutter was ranked #5 of the day for February 27th, 2018"/></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/flutter/awards">All Awards</a></div><div class="flex flex-col" data-sentry-component="ProductDiscussions" data-sentry-source-file="index.tsx"><div class="text-18 font-semibold text-dark-gray mb-4 text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Forum Threads</div><div class="mb-8 flex flex-col gap-8"><div class="flex flex-col gap-2" data-sentry-component="PostThread" data-sentry-source-file="index.tsx"><div class=""><a class="flex flex-row items-center gap-1.5" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@edm_sh"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Eduardo Moreno" class="rounded-full"/><div class="text-14 font-medium text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Eduardo Moreno</div></a></div><a class="text-16 font-medium text-dark-gray styles_noOfLines-3__lMAXQ block" href="/p/flutter/flutter-3-0-2">Flutter 3.0<!-- --> — <!-- -->Flutter on all your platforms, from MacOS to Android</a><div class="flex flex-row justify-between"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="post-346155-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M2 5.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 2 4.08 2 5.2 2h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C14 3.52 14 4.08 14 5.2v5.6c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8z"></path><path d="M7.2 5.733a1 1 0 0 1 1.6 0l2 2.667A1 1 0 0 1 10 10H6a1 1 0 0 1-.8-1.6z"></path></svg><span class="hidden sm:block">Upvote</span> (220)</button><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-16 font-normal text-dark-gray flex flex-row items-center gap-2" href="/p/flutter/flutter-3-0-2"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" fill="none" viewBox="0 0 15 14" class="stroke-light-gray" data-sentry-element="CommentIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.921 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.109-.014 1.4 1.4 0 0 0-.177.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.136-.204c-.016-.097.052-.223.188-.475l.955-1.766c.078-.146.117-.218.135-.288a.5.5 0 0 0 .016-.19c-.005-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">9</div></a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><time dateTime="2022-05-12T00:01:00-07:00" title="Thursday, May 12th 2022, 7:01:00 AM"><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">3yr ago</div></time></div></div><div class="flex flex-col gap-2" data-sentry-component="PostThread" data-sentry-source-file="index.tsx"><div class=""><a class="flex flex-row items-center gap-1.5" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@edm_sh"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/2040139/9007b0fb-f7bb-4c0d-947c-2db318900d07.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Eduardo Moreno" class="rounded-full"/><div class="text-14 font-medium text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Eduardo Moreno</div></a></div><a class="text-16 font-medium text-dark-gray styles_noOfLines-3__lMAXQ block" href="/p/flutter/flutter-2-0-1">Flutter 2.0<!-- --> — <!-- -->Build beautiful native apps in record time, now on web too</a><div class="flex flex-row justify-between"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="post-286903-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M2 5.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 2 4.08 2 5.2 2h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C14 3.52 14 4.08 14 5.2v5.6c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8z"></path><path d="M7.2 5.733a1 1 0 0 1 1.6 0l2 2.667A1 1 0 0 1 10 10H6a1 1 0 0 1-.8-1.6z"></path></svg><span class="hidden sm:block">Upvote</span> (553)</button><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-16 font-normal text-dark-gray flex flex-row items-center gap-2" href="/p/flutter/flutter-2-0-1"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" fill="none" viewBox="0 0 15 14" class="stroke-light-gray" data-sentry-element="CommentIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.921 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.109-.014 1.4 1.4 0 0 0-.177.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.136-.204c-.016-.097.052-.223.188-.475l.955-1.766c.078-.146.117-.218.135-.288a.5.5 0 0 0 .016-.19c-.005-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">32</div></a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><time dateTime="2021-03-05T01:11:54-08:00" title="Friday, March 5th 2021, 9:11:54 AM"><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">4yr ago</div></time></div></div><div class="flex flex-col gap-2" data-sentry-component="PostThread" data-sentry-source-file="index.tsx"><div class=""><a class="flex flex-row items-center gap-1.5" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@chrismessina"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/18280/d71888de-b44a-4005-9dde-d778c7a80b39.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/18280/d71888de-b44a-4005-9dde-d778c7a80b39.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/18280/d71888de-b44a-4005-9dde-d778c7a80b39.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/18280/d71888de-b44a-4005-9dde-d778c7a80b39.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="Chris Messina" class="rounded-full"/><div class="text-14 font-medium text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Chris Messina</div></a></div><a class="text-16 font-medium text-dark-gray styles_noOfLines-3__lMAXQ block" href="/p/flutter/flutter-6">Flutter<!-- --> — <!-- -->Build beautiful native apps in record time</a><div class="flex flex-row justify-between"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="post-121128-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M2 5.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 2 4.08 2 5.2 2h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C14 3.52 14 4.08 14 5.2v5.6c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8z"></path><path d="M7.2 5.733a1 1 0 0 1 1.6 0l2 2.667A1 1 0 0 1 10 10H6a1 1 0 0 1-.8-1.6z"></path></svg><span class="hidden sm:block">Upvote</span> (431)</button><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><a class="text-16 font-normal text-dark-gray flex flex-row items-center gap-2" href="/p/flutter/flutter-6"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" fill="none" viewBox="0 0 15 14" class="stroke-light-gray" data-sentry-element="CommentIcon" data-sentry-source-file="index.tsx"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12.921 6.708a4.958 4.958 0 0 1-6.74 4.629 2 2 0 0 0-.192-.068.5.5 0 0 0-.109-.014 1.4 1.4 0 0 0-.177.012l-2.987.309c-.285.03-.427.044-.511-.007a.3.3 0 0 1-.136-.204c-.016-.097.052-.223.188-.475l.955-1.766c.078-.146.117-.218.135-.288a.5.5 0 0 0 .016-.19c-.005-.072-.037-.166-.1-.353a4.958 4.958 0 1 1 9.658-1.585"></path></svg><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">22</div></a><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><time dateTime="2018-02-27T09:44:32-08:00" title="Tuesday, February 27th 2018, 5:44:32 PM"><div class="text-14 font-normal text-dark-gray !text-tertiary" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">7yr ago</div></time></div></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 mb-4 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/p/flutter">View all</a><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/forums/new?category=flutter"><div class="flex flex-row items-center justify-center gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><path stroke="#475467" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M10 11.25v-5m-2.5 2.5h5M5.833 15v1.946c0 .444 0 .666.091.78.08.1.2.157.326.157.146 0 .32-.139.666-.416l1.988-1.59c.406-.325.61-.488.836-.603a2.5 2.5 0 0 1 .634-.223c.25-.051.51-.051 1.03-.051H13.5c1.4 0 2.1 0 2.635-.273a2.5 2.5 0 0 0 1.092-1.092C17.5 13.1 17.5 12.4 17.5 11V6.5c0-1.4 0-2.1-.273-2.635a2.5 2.5 0 0 0-1.092-1.093C15.6 2.5 14.9 2.5 13.5 2.5h-7c-1.4 0-2.1 0-2.635.272a2.5 2.5 0 0 0-1.093 1.093C2.5 4.4 2.5 5.1 2.5 6.5v5.167c0 .775 0 1.162.085 1.48a2.5 2.5 0 0 0 1.768 1.768c.318.085.705.085 1.48.085"></path></svg><div class="text-sm font-semibold text-secondary">Start new thread</div></div></a></div><div class="flex flex-col gap-4" data-sentry-component="Links" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Links</div><a href="https://flutter.dev/?ref=producthunt" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-brand-500" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" fill="none" viewBox="0 0 21 20" class="fill-brand-500" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path fill="currentColor" d="M18.102 6.46a4.05 4.05 0 0 1-1.196 2.876l-2.21 2.21a4.063 4.063 0 0 1-5.743 0 .625.625 0 1 1 .883-.882 2.82 2.82 0 0 0 3.976 0l2.211-2.21a2.813 2.813 0 1 0-3.976-3.977L10.5 6.023a.625.625 0 0 1-.883-.882l1.547-1.547a4.07 4.07 0 0 1 6.938 2.867ZM10.5 13.977l-1.547 1.547a2.813 2.813 0 0 1-3.976-3.976l2.21-2.211a2.82 2.82 0 0 1 3.977 0 .625.625 0 0 0 .883-.883 4.06 4.06 0 0 0-5.742 0l-2.211 2.211a4.063 4.063 0 1 0 5.742 5.742l1.547-1.547a.625.625 0 0 0-.883-.883"></path></svg>flutter.dev</a><a href="https://github.com/flutter/flutter?ref=producthunt" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="19" fill="none" viewBox="0 0 20 19" class="fill-brand-500" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path fill="currentColor" d="M10 0A9.5 9.5 0 0 0 .5 9.5c0 4.199 2.727 7.762 6.498 9.025.475.076.627-.218.627-.475v-1.605c-2.631.57-3.192-1.274-3.192-1.274-.437-1.101-1.054-1.396-1.054-1.396-.865-.589.066-.57.066-.57.95.066 1.454.979 1.454.979.826 1.444 2.223 1.016 2.764.788.085-.617.332-1.035.598-1.273-2.108-.238-4.322-1.054-4.322-4.674 0-1.054.361-1.9.979-2.575-.096-.237-.428-1.225.095-2.508 0 0 .798-.256 2.612.97A9 9 0 0 1 10 4.598c.807 0 1.624.104 2.375.314 1.815-1.226 2.613-.97 2.613-.97.522 1.283.19 2.271.095 2.508.617.675.978 1.52.978 2.575 0 3.629-2.223 4.427-4.341 4.665.341.294.655.874.655 1.757v2.603c0 .256.152.56.636.475C16.784 17.252 19.5 13.699 19.5 9.5A9.5 9.5 0 0 0 10 0"></path></svg>GitHub</a></div><!--$--><div class="flex flex-col gap-4" data-sentry-component="SocialLinks" data-sentry-source-file="Content.tsx"><div class="text-14 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Social</div><a href="https://www.instagram.com/flutter.dev" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="19" fill="none" viewBox="0 0 20 19" data-sentry-element="Icon" data-sentry-source-file="Content.tsx"><path fill="currentColor" d="M9.997 6.332A3.175 3.175 0 0 0 6.83 9.5a3.175 3.175 0 0 0 3.168 3.168A3.175 3.175 0 0 0 13.165 9.5a3.175 3.175 0 0 0-3.168-3.168M19.5 9.5c0-1.312.012-2.612-.062-3.921-.074-1.521-.42-2.871-1.533-3.984C16.79.481 15.442.136 13.921.062 12.61-.01 11.31.001 10 .001 8.688 0 7.388-.011 6.079.062 4.558.136 3.208.483 2.095 1.595.981 2.71.636 4.058.562 5.58.49 6.89.501 8.19.501 9.498c0 1.31-.012 2.613.061 3.922.074 1.521.421 2.871 1.533 3.983 1.115 1.115 2.462 1.46 3.983 1.533C7.39 19.011 8.69 19 10 19c1.312 0 2.612.012 3.921-.062 1.521-.074 2.871-.42 3.983-1.533 1.115-1.114 1.46-2.462 1.533-3.983.076-1.31.062-2.61.062-3.921Zm-9.502 4.874A4.867 4.867 0 0 1 5.123 9.5a4.867 4.867 0 0 1 4.874-4.875A4.87 4.87 0 0 1 14.872 9.5a4.867 4.867 0 0 1-4.875 4.874Zm5.074-8.81c-.63 0-1.138-.508-1.138-1.138a1.137 1.137 0 1 1 1.944.805 1.14 1.14 0 0 1-.806.333"></path></svg>Instagram</a><a href="https://www.linkedin.com/showcase/flutterdevofficial/" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" fill="none" viewBox="0 0 24 23" data-sentry-element="Icon" data-sentry-source-file="Content.tsx"><path fill="currentColor" fill-rule="evenodd" d="M1.538 2.838A1.84 1.84 0 0 1 3.376 1h18.322a1.837 1.837 0 0 1 1.84 1.838V21.16A1.84 1.84 0 0 1 21.7 23H3.375a1.84 1.84 0 0 1-1.838-1.839V2.838Zm8.709 6.55h2.979v1.496c.43-.86 1.53-1.634 3.182-1.634 3.17 0 3.92 1.713 3.92 4.856v5.822h-3.206v-5.106c0-1.79-.43-2.8-1.522-2.8-1.515 0-2.146 1.089-2.146 2.8v5.106h-3.208V9.388Zm-5.5 10.403h3.207V9.25H4.746zM8.412 5.812a2.063 2.063 0 1 1-4.125.09 2.063 2.063 0 0 1 4.125-.09" clip-rule="evenodd"></path></svg>LinkedIn</a><a href="https://medium.com/flutter" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="19" fill="none" viewBox="0 0 20 19" data-sentry-element="Icon" data-sentry-source-file="Content.tsx"><clipPath id="Medium_svg__a"><path d="M0 0h20v19H0z"></path></clipPath><g fill="currentColor" clip-path="url(#Medium_svg__a)"><path d="M10.646 9.553c0 2.714-2.185 4.913-4.88 4.913s-4.88-2.2-4.88-4.913S3.072 4.64 5.767 4.64s4.88 2.2 4.88 4.913m5.352 0c0 2.555-1.093 4.626-2.44 4.626s-2.44-2.071-2.44-4.626c0-2.554 1.092-4.625 2.44-4.625s2.44 2.07 2.44 4.625m2.189 0c0 2.288-.384 4.144-.858 4.144s-.858-1.855-.858-4.144c0-2.288.384-4.143.858-4.143s.858 1.855.858 4.143"></path></g></svg>Medium</a><a href="https://twitter.com/flutterdev" rel="noreferrer" class="text-16 font-semibold text-dark-gray flex flex-row items-center gap-2 !text-gray-900" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 1200 1227" data-sentry-element="Icon" data-sentry-source-file="Content.tsx"><path fill="currentColor" d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284zM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854z"></path></svg>X.com</a></div><!--/$--><div class="flex flex-col gap-4" data-sentry-component="Makers" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray text-gray-900" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Makers</div><div class="flex flex-row"><div class="rounded-full border-2 border-white"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3262189/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3262189/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3262189/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3262189/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Eric Seidel" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/2490349/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/2490349/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/2490349/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/2490349/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Tim Sneath" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/431332/18e01c05-cb09-43f3-a729-838c49fb8a13.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/431332/18e01c05-cb09-43f3-a729-838c49fb8a13.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/431332/18e01c05-cb09-43f3-a729-838c49fb8a13.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/431332/18e01c05-cb09-43f3-a729-838c49fb8a13.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Jay Chang" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3262285/308060b4-cb20-4043-9f3b-1530bed456f7.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3262285/308060b4-cb20-4043-9f3b-1530bed456f7.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3262285/308060b4-cb20-4043-9f3b-1530bed456f7.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3262285/308060b4-cb20-4043-9f3b-1530bed456f7.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Mariam Hasnany" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/288136/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/288136/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/288136/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/288136/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Frank van Puffelen" class="rounded-full"/></div></div><div class="rounded-full border-2 border-white -ml-3"><div class=""><img loading="lazy" srcSet="https://ph-avatars.imgix.net/1201877/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/1201877/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/1201877/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/1201877/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Seth Ladd" class="rounded-full"/></div></div></div><a class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/flutter/makers">All Makers</a></div></aside></div><div class="theme-mirror"></div><!--$--><!--/$--></div><div id="root-portal"></div><script>(self.__next_s=self.__next_s||[]).push([0,{"data-sentry-element":"Script","data-sentry-source-file":"layout.tsx","children":"\n !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error(\"Segment snippet included twice.\");else{analytics.invoked=!0;analytics.methods=[\"trackSubmit\",\"trackClick\",\"trackLink\",\"trackForm\",\"pageview\",\"identify\",\"reset\",\"group\",\"track\",\"ready\",\"alias\",\"debug\",\"page\",\"once\",\"off\",\"on\",\"addSourceMiddleware\",\"addIntegrationMiddleware\",\"setAnonymousId\",\"addDestinationMiddleware\"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e<analytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement(\"script\");t.type=\"text/javascript\";t.defer=!0;t.src=\"https://segment-cdn.producthunt.com/\";var n=document.getElementsByTagName(\"script\")[0];n.parentNode.insertBefore(t,n);analytics._loadOptions=e};analytics._writeKey=\"dtyjquswuq\";analytics.SNIPPET_VERSION=\"4.15.2\";\n analytics.load(\"dtyjquswuq\");\n }}();\n","id":"segment"}])</script><script src="/_next/static/chunks/webpack-a266a9e18a909cd8.js" async=""></script><div hidden id="S:0"><template id="P:1"></template><script type="application/ld+json" data-sentry-component="StructuredData" data-sentry-source-file="structuredData.tsx">[{"@context":"http://schema.org","@type":"WebApplication","name":"Flutter","description":"Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. ","datePublished":"2019-10-30T16:23:01.326-07:00","dateModified":"2025-02-18T09:44:32.318-08:00","image":"https://ph-files.imgix.net/88bee7a4-63c1-433f-b2e8-a104fd862e20.png?auto=format","screenshot":["https://ph-files.imgix.net/0812df7e-b7be-4f7c-b329-624b47c9efd4.png?auto=format&fit=crop","https://ph-files.imgix.net/4c365210-bfbe-4919-a6c0-7011ed0a7fa5.png?auto=format&fit=crop","https://ph-files.imgix.net/4139bc41-f2f1-4d8e-8ba9-695fa41e5703.png?auto=format&fit=crop","https://ph-files.imgix.net/9e9c0d26-9cda-45bf-89f2-0d5c9df8fe2c.png?auto=format&fit=crop"],"aggregateRating":{"@type":"AggregateRating","ratingCount":77,"ratingValue":"4.83","worstRating":1,"bestRating":5},"offers":{"@type":"Offer","price":0,"priceCurrency":"USD"},"applicationCategory":"Productivity","author":[{"@type":"Person","name":"Eric Seidel","image":"https://ph-avatars.imgix.net/3262189/original.jpeg?auto=format&fit=crop&crop=faces&w=100&h=100","url":"https://www.producthunt.com/@eseidelgoogle"},{"@type":"Person","name":"Tim Sneath","image":"https://ph-avatars.imgix.net/2490349/original.jpeg?auto=format&fit=crop&crop=faces&w=100&h=100","url":"https://www.producthunt.com/@tim_sneath"},{"@type":"Person","name":"Jay Chang","image":"https://ph-avatars.imgix.net/431332/18e01c05-cb09-43f3-a729-838c49fb8a13.png?auto=format&fit=crop&crop=faces&w=100&h=100","url":"https://www.producthunt.com/@jaydchang"}],"review":[{"@type":"Review","datePublished":"2025-02-02T11:02:27-08:00","reviewBody":"Best cross platform framework","author":{"@type":"Person","name":"Daniel Olayinka","image":"https://ph-avatars.imgix.net/8075707/original.jpeg","url":"https://www.producthunt.com/@daniel_olayinka"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2025-01-14T02:26:19-08:00","reviewBody":"Flutter is a strong contender for cross-platform development, offering fast development and great design potential but with a few limitations. It's ideal for projects aiming to run on multiple platforms without significant performance trade-offs.","author":{"@type":"Person","name":"Candy","image":"https://ph-avatars.imgix.net/7986202/2a64e219-257b-4189-ac80-d23e149c7d39.jpeg","url":"https://www.producthunt.com/@new_user___3652024ba031b6c1cfb9b39"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2025-01-06T08:56:41-08:00","reviewBody":"Best tool out there for apps","author":{"@type":"Person","name":"Abdur Rafay Saleem","image":"https://ph-avatars.imgix.net/6140869/43cbb752-b680-4497-a9e2-706cd82354b2.jpeg","url":"https://www.producthunt.com/@arafaysaleem"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2025-01-01T06:30:09-08:00","reviewBody":"Flutter helped us launch our app CliqRex for iOS and Android!","author":{"@type":"Person","name":"james o'loughlin","image":"https://ph-avatars.imgix.net/7989953/original.jpeg","url":"https://www.producthunt.com/@cliqrex"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-12-29T03:46:38-08:00","reviewBody":"I use Flutter for Building Mobile apps for Android and IOS. For Building Mobile apps Flutter is great but for building websites not.","author":{"@type":"Person","name":"Luis Schröder","image":"https://ph-avatars.imgix.net/7135479/b4ee7564-27dc-4ada-a06d-ed445a402582.png","url":"https://www.producthunt.com/@thriveengineer"},"reviewRating":{"@type":"Rating","ratingValue":4}},{"@type":"Review","datePublished":"2024-12-17T23:08:50-08:00","reviewBody":"The best cross-platform development framework I have tried. Includes TWO great widget libraries to get you started off right, and performance that is blistering fast compared to other cross-platform solutions. I basically can't tell that the end products aren't UIKit or SwiftUI. Truly an awesome framework!","author":{"@type":"Person","name":"Ben Szymanski","image":"https://ph-avatars.imgix.net/3971171/ddf32e9e-c65b-43f0-9b4c-1b9dd10a5ac6.jpeg","url":"https://www.producthunt.com/@bszyman"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-12-03T06:46:35-08:00","reviewBody":"Build for any platforms with incredible developer experience. And now, with matured package ecosystem.","author":{"@type":"Person","name":"Elena Martinez","image":"https://ph-avatars.imgix.net/7885439/f16c8488-94c4-456e-aa49-af5c0074f36e.jpeg","url":"https://www.producthunt.com/@emartinez2"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-12-02T21:51:29-08:00","reviewBody":"The Firebase integration saves me hours of custom coding. Flutter 3 is a budget-savvy developer’s dream.","author":{"@type":"Person","name":"Sharon Lee","image":"https://ph-avatars.imgix.net/5329196/original.jpeg","url":"https://www.producthunt.com/@sharonnleeee"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-11-25T05:48:03-08:00","reviewBody":"Absolutely the best for cross-platform development! I’ve been thrilled to use it since 2019!","author":{"@type":"Person","name":"Igor Kravchenko","image":"https://ph-avatars.imgix.net/3189064/e68a4b48-f0b6-4ad5-a60a-ad12dbdd5988.jpeg","url":"https://www.producthunt.com/@gorniv"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-11-23T07:10:07-08:00","reviewBody":"It's great for building high-quality apps efficiently","author":{"@type":"Person","name":"lorena marisol avico","image":"https://ph-avatars.imgix.net/3535873/b4e074ca-62d6-4b28-88de-eaf54b71e92a.jpeg","url":"https://www.producthunt.com/@loreavi"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-10-02T17:59:11-07:00","reviewBody":"\"Flutter is incredible for building cross-platform mobile apps. We use it for the iOS, Android (soon to launch), and web apps.\"","author":{"@type":"Person","name":"Iliyas Shaik","image":"https://ph-avatars.imgix.net/7577871/original.png","url":"https://www.producthunt.com/@iliyas_shaik1"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-09-23T07:27:45-07:00","reviewBody":"he AI offers precise, actionable insights, delivering detailed reports that inform critical business decisions with remarkable accuracy.","author":{"@type":"Person","name":"zain kamboh","image":"https://ph-avatars.imgix.net/7618776/original.png","url":"https://www.producthunt.com/@zain_kamboh"},"reviewRating":{"@type":"Rating","ratingValue":4}},{"@type":"Review","datePublished":"2024-09-23T04:59:39-07:00","reviewBody":"he AI offers precise, actionable insights, delivering detailed reports that inform critical business decisions with remarkable accuracy.","author":{"@type":"Person","name":"Noman Zahoor","image":"https://ph-avatars.imgix.net/7601721/original.png","url":"https://www.producthunt.com/@noman_zahoor1"},"reviewRating":{"@type":"Rating","ratingValue":4}},{"@type":"Review","datePublished":"2024-08-31T04:43:04-07:00","reviewBody":"working with Flutter for last 5 years now, definitely recommend for mobile & desktop app development, but would not recommend for web app.","author":{"@type":"Person","name":"Kamal Panara","image":"https://ph-avatars.imgix.net/5557563/original.jpeg","url":"https://www.producthunt.com/@kamal_panara"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-08-13T06:46:02-07:00","reviewBody":"excellent for cross-platform development","author":{"@type":"Person","name":"Luis Esteban Vilchez","image":"https://ph-avatars.imgix.net/7468165/ecf3fad7-1d89-42bc-af9e-4a1fd1ff46c7.png","url":"https://www.producthunt.com/@luis_esteban_vilchez"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-05-30T10:58:43-07:00","reviewBody":"I've been using Flutter for years and I love it. It helps me to iterate quickly and develop fast beautiful apps, that can target Android, iOS and the web!","author":{"@type":"Person","name":"Teo Vogel","image":"https://ph-avatars.imgix.net/7098727/d6771139-ff42-43d0-a270-1b1116ac3061.jpeg","url":"https://www.producthunt.com/@teo_vogel"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-04-23T06:10:01-07:00","reviewBody":"Really well made cross platform framework. Hot reload rocks! The biggest issue is reliance on third party plugins of dubious quality, but it's kinda unsolvable issue of all cross platform framework, not just flutter.","author":{"@type":"Person","name":"Paweł Szot","image":"https://ph-avatars.imgix.net/4470518/original.jpeg","url":"https://www.producthunt.com/@pawel_szot1"},"reviewRating":{"@type":"Rating","ratingValue":4}},{"@type":"Review","datePublished":"2024-04-21T16:08:45-07:00","reviewBody":"Best framework for mobile development","author":{"@type":"Person","name":"Mateusz Pastewski","image":"https://ph-avatars.imgix.net/4577763/de4bb25d-bc6a-4bff-a54a-154bb4c48c08.png","url":"https://www.producthunt.com/@mpastewski"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-01-19T12:21:31-08:00","reviewBody":"allowing us to efficiently target both iOS and Android users with a single, streamlined codebase. What really stood out was Flutter's exceptional UI capabilities, crucial for crafting an engaging, intuitive learning experience in ai LaMo. Its performance, thanks to direct native code compilation, ensures a smooth, responsive app – key for keeping our learners hooked. Plus, the Hot Reload feature has been a game-changer for us, accelerating development and enabling quick iterations. It's not just about the now, though; Flutter's growing community and Google's backing mean it's a future-ready choice, aligning perfectly with ai LaMo's forward-thinking ethos.","author":{"@type":"Person","name":"Rene Bystron","image":"https://ph-avatars.imgix.net/6605171/ac3b6a6a-7397-487f-9451-2f129f44fbb0.png","url":"https://www.producthunt.com/@rene_bystron"},"reviewRating":{"@type":"Rating","ratingValue":5}},{"@type":"Review","datePublished":"2024-01-16T04:22:43-08:00","reviewBody":"It's awesome to make a cross-platform app!","author":{"@type":"Person","name":"Sudip Mandal","image":"https://ph-avatars.imgix.net/6448715/original.png","url":"https://www.producthunt.com/@sudip_mandal1"},"reviewRating":{"@type":"Rating","ratingValue":5}}]},{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Flutter","item":"https://www.producthunt.com/products/flutter"},{"@type":"ListItem","position":2,"name":"Reviews","item":"https://www.producthunt.com/products/flutter/reviews"}]}]</script></div><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/8f719edb11eed1a0.css\",\"style\"]\n2:HL[\"/_next/static/css/ec8f466b9e77932d.css\",\"style\"]\n3:HL[\"/_next/static/css/0bee508d3bad07c8.css\",\"style\"]\n4:HL[\"/_next/static/css/c99d6c2024146960.css\",\"style\"]\n5:HL[\"/_next/static/css/4afdd19ce6c2ffda.css\",\"style\"]\n6:HL[\"/_next/static/css/45be9f74b83be42e.css\",\"style\"]\n7:HL[\"/_next/static/css/de8c3b4e4153db18.css\",\"style\"]\n8:HL[\"/_next/static/css/886a1217ff9fd009.css\",\"style\"]\n9:HL[\"/_next/static/css/d31cd169126c5461.css\",\"style\"]\na:HL[\"/_next/static/css/8b472d8ca8da25a1.css\",\"style\"]\nb:HL[\"/_next/static/css/2895d80b6090678b.css\",\"style\"]\nc:HL[\"/_next/static/css/6f0fd2191815f922.css\",\"style\"]\nd:HL[\"/_next/static/css/b0e0dd11aa1ac818.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"e:I[14360,[],\"\"]\n11:I[69257,[],\"\"]\n13:I[14857,[],\"\"]\n14:I[37568,[\"95501\",\"static/chunks/c16f53c3-48451ac2b1dbb4cf.js\",\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"38997\",\"static/chunks/38997-3ec4d552be6df75b.js\",\"33531\",\"static/chunks/33531-acabdae7789b7d36.js\",\"47931\",\"static/chunks/47931-b395de54841771b6.js\",\"63874\",\"static/chunks/63874-3d5e5624fdebf890.js\",\"49428\",\"static/chunks/49428-0a1d686850695b6b.js\",\"84400\",\"static/chunks/84400-eddd67ab8f0451c0.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"73882\",\"static/chunks/73882-86d296e7924d8950.js\",\"3842\",\"static/chunks/3842-a8176129994dc984.js\",\"20828\",\"static/chunks/20828-0d71157315f6d814.js\",\"16010\",\"static/chunks/16010-3a87789f9e78e8fe.js\",\"10451\",\"static/chunks/10451-9704566820ba8087.js\",\"32493\",\"static/chunks/app/(main)/products/%5Bslug%5D/(layout)/layout-5aaf5a5772e0f497.js\"],\"default\",1]\n15:I[47971,[\"95501\",\"static/chunks/c16f53c3-48451ac2b1dbb4cf.js\",\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"38997\",\"static/chunks/38997-3ec4d552be6df75b.js\",\"33531\",\"static/chunks/33531-acabdae7789b7d36.js\",\"47931\",\"static/chunks/47931-b395de54841771b6.js\",\"50125\",\"static/chunks/50125-e28270261385c894.js\",\"82970\",\"static/chunks/82970-a7daac786c5af3dc.js\",\"42822\",\"static/chunks/42822-99f6529dd3dcc810.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"73882\",\"sta"])</script><script>self.__next_f.push([1,"tic/chunks/73882-86d296e7924d8950.js\",\"3842\",\"static/chunks/3842-a8176129994dc984.js\",\"1574\",\"static/chunks/1574-0ff57c1c3fe8f9cc.js\",\"4095\",\"static/chunks/app/(main)/layout-debac8568c4d5c24.js\"],\"default\",1]\n16:I[54123,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"42551\",\"static/chunks/42551-a0fa86bb9d6d8fd7.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"86883\",\"static/chunks/app/(main)/not-found-6454de4391d43401.js\"],\"default\"]\n17:I[59641,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"AppRouter\"]\n18:I[56058,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\""])</script><script>self.__next_f.push([1,",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"UserAgentProvider\"]\n19:I[34480,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"NavigationProgressProvider\"]\n1a:I[87406,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"default\"]\n1b:I[43079,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"31462\",\"static/chunks/app/(cards)/layout-9988a4830bde0b78.js\"],\"default\"]\n1c:I[57851,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"5"])</script><script>self.__next_f.push([1,"3261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"ErrorBoundary\"]\n1d:I[87906,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"default\"]\n1e:I[87512,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"\"]\n20:I[40779,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"stati"])</script><script>self.__next_f.push([1,"c/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"GoogleAnalytics\"]\n21:I[31635,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"59793\",\"static/chunks/59793-66c731db89a93e2c.js\",\"53894\",\"static/chunks/53894-186a0b2de7ed77b4.js\",\"22429\",\"static/chunks/22429-69adeb18bda66f2d.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"63185\",\"static/chunks/app/layout-90f3600e4f3e5c63.js\"],\"GoogleTagManager\"]\n23:I[25575,[\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"12103\",\"static/chunks/12103-257c54f0017a6619.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"72369\",\"static/chunks/72369-1e7864e9cf595161.js\",\"16470\",\"static/chunks/app/global-error-0f7c130fe1d0fc3a.js\"],\"default\"]\n12:[\"slug\",\"flutter\",\"d\"]\n1f:T449,\n !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console\u0026\u0026console.error\u0026\u0026console.error(\"Segment snippet included twice.\");else{analytics.invoked=!0;analytics.methods=[\"trackSubmit\",\"trackClick\",\"trackLink\",\"trackForm\",\"pageview\",\"identify\",\"reset\",\"group\",\"track\",\"ready\",\"alias\",\"debug\",\"page\",\"once\",\"off\",\"on\",\"addSourceMiddleware\",\"addIntegrationMiddlewar"])</script><script>self.__next_f.push([1,"e\",\"setAnonymousId\",\"addDestinationMiddleware\"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e\u003canalytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement(\"script\");t.type=\"text/javascript\";t.defer=!0;t.src=\"https://segment-cdn.producthunt.com/\";var n=document.getElementsByTagName(\"script\")[0];n.parentNode.insertBefore(t,n);analytics._loadOptions=e};analytics._writeKey=\"dtyjquswuq\";analytics.SNIPPET_VERSION=\"4.15.2\";\n analytics.load(\"dtyjquswuq\");\n }}();\n24:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$Le\",null,{\"buildId\":\"2gZSofP4Vb4XoalEa8xL_\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"products\",\"flutter\",\"reviews\"],\"initialTree\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"products\",{\"children\":[[\"slug\",\"flutter\",\"d\"],{\"children\":[\"(layout)\",{\"children\":[\"reviews\",{\"children\":[\"__PAGE__\",{}]}]}]}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"products\",{\"children\":[[\"slug\",\"flutter\",\"d\"],{\"children\":[\"(layout)\",{\"children\":[\"reviews\",{\"children\":[\"__PAGE__\",{},[[\"$Lf\",\"$L10\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2895d80b6090678b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6f0fd2191815f922.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b0e0dd11aa1ac818.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"products\",\"children\",\"$12\",\"children\",\"(layout)\",\"children\",\"reviews\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d31cd169126c5461.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8b472d8ca8da25a1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L14\",null,{\"children\":[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"products\",\"children\",\"$12\",\"children\",\"(layout)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}],\"params\":{\"slug\":\"flutter\"}}]],null],null]},[null,[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"products\",\"children\",\"$12\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"products\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4afdd19ce6c2ffda.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/45be9f74b83be42e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/de8c3b4e4153db18.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/886a1217ff9fd009.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"$L16\",null,{\"code\":404,\"data-sentry-element\":\"SystemError\",\"data-sentry-component\":\"NotFoundPage\",\"data-sentry-source-file\":\"not-found.tsx\"}],\"notFoundStyles\":[]}],\"params\":{}}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8f719edb11eed1a0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ec8f466b9e77932d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0bee508d3bad07c8.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c99d6c2024146960.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-sentry-component\":\"RootLayout\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"property\":\"fb:app_id\",\"content\":\"1467820943460899\",\"data-sentry-element\":\"meta\",\"data-sentry-source-file\":\"layout.tsx\"}],[\"$\",\"link\",null,{\"rel\":\"search\",\"type\":\"application/opensearchdescription+xml\",\"title\":\"ProductHunt\",\"href\":\"/osd.xml\"}]]}],[\"$\",\"body\",null,{\"className\":\"theme-mirror bg-primary\",\"children\":[[\"$\",\"div\",null,{\"id\":\"root-container\",\"className\":\"light\",\"children\":[\"$\",\"$L17\",null,{\"data-sentry-element\":\"AppRouter\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L18\",null,{\"userAgent\":\"$undefined\",\"data-sentry-element\":\"UserAgentProvider\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L19\",null,{\"data-sentry-element\":\"NavigationProgressProvider\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L1a\",null,{\"ApolloWrapper\":\"$1b\",\"serverSideRendered\":true,\"data-sentry-element\":\"ClientApp\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L1c\",null,{\"data-sentry-element\":\"ErrorBoundary\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L11\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L13\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]}]}]}],[\"$\",\"div\",null,{\"id\":\"root-portal\"}],[[\"$\",\"$L1d\",null,{}],[\"$\",\"$L1e\",null,{\"id\":\"segment\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"$1f\"},\"data-sentry-element\":\"Script\",\"data-sentry-source-file\":\"layout.tsx\"}],false,[[\"$\",\"$L20\",null,{\"gaId\":\"G-WZ46833KH9\"}],[\"$\",\"$L21\",null,{\"gtmId\":\"G-WZ46833KH9\"}]]],false]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L22\"],\"globalErrorComponent\":\"$23\",\"missingSlots\":\"$W24\"}]\n"])</script><script>self.__next_f.push([1,"25:I[3780,[\"95501\",\"static/chunks/c16f53c3-48451ac2b1dbb4cf.js\",\"20921\",\"static/chunks/20921-7a96833f57c275e2.js\",\"99791\",\"static/chunks/99791-029fefa2b88e709e.js\",\"83785\",\"static/chunks/83785-230f48b890d5c9aa.js\",\"99485\",\"static/chunks/99485-049f8877fe3fd326.js\",\"20750\",\"static/chunks/20750-a86c83808da2a59a.js\",\"27834\",\"static/chunks/27834-5c78f4880616ba54.js\",\"53261\",\"static/chunks/53261-f5a2bb4c2cf1c00e.js\",\"38997\",\"static/chunks/38997-3ec4d552be6df75b.js\",\"33531\",\"static/chunks/33531-acabdae7789b7d36.js\",\"47931\",\"static/chunks/47931-b395de54841771b6.js\",\"16065\",\"static/chunks/16065-fb101c10cfdd889b.js\",\"49194\",\"static/chunks/49194-4af1f46f24e590e3.js\",\"31706\",\"static/chunks/31706-d405fcf06045e83c.js\",\"61790\",\"static/chunks/61790-cd138e29ba47ce68.js\",\"645\",\"static/chunks/645-9f3ced8a14b74568.js\",\"75588\",\"static/chunks/75588-29ce98fe08a127f6.js\",\"3842\",\"static/chunks/3842-a8176129994dc984.js\",\"22999\",\"static/chunks/22999-9e3c57ac7a8e2d2f.js\",\"20828\",\"static/chunks/20828-0d71157315f6d814.js\",\"49813\",\"static/chunks/49813-723a643f50dbb004.js\",\"40254\",\"static/chunks/40254-e5095fca591ff89a.js\",\"20188\",\"static/chunks/20188-d958b7cbebf14580.js\",\"59416\",\"static/chunks/59416-97b259ac7ad0f3f4.js\",\"3685\",\"static/chunks/3685-dcaaaf5280478dbc.js\",\"53505\",\"static/chunks/app/(main)/products/%5Bslug%5D/(layout)/reviews/page-85efd990faf4192d.js\"],\"default\"]\n26:T2a99,"])</script><script>self.__next_f.push([1,"[{\"@context\":\"http://schema.org\",\"@type\":\"WebApplication\",\"name\":\"Flutter\",\"description\":\"Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. \",\"datePublished\":\"2019-10-30T16:23:01.326-07:00\",\"dateModified\":\"2025-02-18T09:44:32.318-08:00\",\"image\":\"https://ph-files.imgix.net/88bee7a4-63c1-433f-b2e8-a104fd862e20.png?auto=format\",\"screenshot\":[\"https://ph-files.imgix.net/0812df7e-b7be-4f7c-b329-624b47c9efd4.png?auto=format\u0026fit=crop\",\"https://ph-files.imgix.net/4c365210-bfbe-4919-a6c0-7011ed0a7fa5.png?auto=format\u0026fit=crop\",\"https://ph-files.imgix.net/4139bc41-f2f1-4d8e-8ba9-695fa41e5703.png?auto=format\u0026fit=crop\",\"https://ph-files.imgix.net/9e9c0d26-9cda-45bf-89f2-0d5c9df8fe2c.png?auto=format\u0026fit=crop\"],\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingCount\":77,\"ratingValue\":\"4.83\",\"worstRating\":1,\"bestRating\":5},\"offers\":{\"@type\":\"Offer\",\"price\":0,\"priceCurrency\":\"USD\"},\"applicationCategory\":\"Productivity\",\"author\":[{\"@type\":\"Person\",\"name\":\"Eric Seidel\",\"image\":\"https://ph-avatars.imgix.net/3262189/original.jpeg?auto=format\u0026fit=crop\u0026crop=faces\u0026w=100\u0026h=100\",\"url\":\"https://www.producthunt.com/@eseidelgoogle\"},{\"@type\":\"Person\",\"name\":\"Tim Sneath\",\"image\":\"https://ph-avatars.imgix.net/2490349/original.jpeg?auto=format\u0026fit=crop\u0026crop=faces\u0026w=100\u0026h=100\",\"url\":\"https://www.producthunt.com/@tim_sneath\"},{\"@type\":\"Person\",\"name\":\"Jay Chang\",\"image\":\"https://ph-avatars.imgix.net/431332/18e01c05-cb09-43f3-a729-838c49fb8a13.png?auto=format\u0026fit=crop\u0026crop=faces\u0026w=100\u0026h=100\",\"url\":\"https://www.producthunt.com/@jaydchang\"}],\"review\":[{\"@type\":\"Review\",\"datePublished\":\"2025-02-02T11:02:27-08:00\",\"reviewBody\":\"Best cross platform framework\",\"author\":{\"@type\":\"Person\",\"name\":\"Daniel Olayinka\",\"image\":\"https://ph-avatars.imgix.net/8075707/original.jpeg\",\"url\":\"https://www.producthunt.com/@daniel_olayinka\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2025-01-14T02:26:19-08:00\",\"reviewBody\":\"Flutter is a strong contender for cross-platform development, offering fast development and great design potential but with a few limitations. It's ideal for projects aiming to run on multiple platforms without significant performance trade-offs.\",\"author\":{\"@type\":\"Person\",\"name\":\"Candy\",\"image\":\"https://ph-avatars.imgix.net/7986202/2a64e219-257b-4189-ac80-d23e149c7d39.jpeg\",\"url\":\"https://www.producthunt.com/@new_user___3652024ba031b6c1cfb9b39\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2025-01-06T08:56:41-08:00\",\"reviewBody\":\"Best tool out there for apps\",\"author\":{\"@type\":\"Person\",\"name\":\"Abdur Rafay Saleem\",\"image\":\"https://ph-avatars.imgix.net/6140869/43cbb752-b680-4497-a9e2-706cd82354b2.jpeg\",\"url\":\"https://www.producthunt.com/@arafaysaleem\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2025-01-01T06:30:09-08:00\",\"reviewBody\":\"Flutter helped us launch our app CliqRex for iOS and Android!\",\"author\":{\"@type\":\"Person\",\"name\":\"james o'loughlin\",\"image\":\"https://ph-avatars.imgix.net/7989953/original.jpeg\",\"url\":\"https://www.producthunt.com/@cliqrex\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-12-29T03:46:38-08:00\",\"reviewBody\":\"I use Flutter for Building Mobile apps for Android and IOS. For Building Mobile apps Flutter is great but for building websites not.\",\"author\":{\"@type\":\"Person\",\"name\":\"Luis Schröder\",\"image\":\"https://ph-avatars.imgix.net/7135479/b4ee7564-27dc-4ada-a06d-ed445a402582.png\",\"url\":\"https://www.producthunt.com/@thriveengineer\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":4}},{\"@type\":\"Review\",\"datePublished\":\"2024-12-17T23:08:50-08:00\",\"reviewBody\":\"The best cross-platform development framework I have tried. Includes TWO great widget libraries to get you started off right, and performance that is blistering fast compared to other cross-platform solutions. I basically can't tell that the end products aren't UIKit or SwiftUI. Truly an awesome framework!\",\"author\":{\"@type\":\"Person\",\"name\":\"Ben Szymanski\",\"image\":\"https://ph-avatars.imgix.net/3971171/ddf32e9e-c65b-43f0-9b4c-1b9dd10a5ac6.jpeg\",\"url\":\"https://www.producthunt.com/@bszyman\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-12-03T06:46:35-08:00\",\"reviewBody\":\"Build for any platforms with incredible developer experience. And now, with matured package ecosystem.\",\"author\":{\"@type\":\"Person\",\"name\":\"Elena Martinez\",\"image\":\"https://ph-avatars.imgix.net/7885439/f16c8488-94c4-456e-aa49-af5c0074f36e.jpeg\",\"url\":\"https://www.producthunt.com/@emartinez2\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-12-02T21:51:29-08:00\",\"reviewBody\":\"The Firebase integration saves me hours of custom coding. Flutter 3 is a budget-savvy developer’s dream.\",\"author\":{\"@type\":\"Person\",\"name\":\"Sharon Lee\",\"image\":\"https://ph-avatars.imgix.net/5329196/original.jpeg\",\"url\":\"https://www.producthunt.com/@sharonnleeee\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-11-25T05:48:03-08:00\",\"reviewBody\":\"Absolutely the best for cross-platform development! I’ve been thrilled to use it since 2019!\",\"author\":{\"@type\":\"Person\",\"name\":\"Igor Kravchenko\",\"image\":\"https://ph-avatars.imgix.net/3189064/e68a4b48-f0b6-4ad5-a60a-ad12dbdd5988.jpeg\",\"url\":\"https://www.producthunt.com/@gorniv\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-11-23T07:10:07-08:00\",\"reviewBody\":\"It's great for building high-quality apps efficiently\",\"author\":{\"@type\":\"Person\",\"name\":\"lorena marisol avico\",\"image\":\"https://ph-avatars.imgix.net/3535873/b4e074ca-62d6-4b28-88de-eaf54b71e92a.jpeg\",\"url\":\"https://www.producthunt.com/@loreavi\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-10-02T17:59:11-07:00\",\"reviewBody\":\"\\\"Flutter is incredible for building cross-platform mobile apps. We use it for the iOS, Android (soon to launch), and web apps.\\\"\",\"author\":{\"@type\":\"Person\",\"name\":\"Iliyas Shaik\",\"image\":\"https://ph-avatars.imgix.net/7577871/original.png\",\"url\":\"https://www.producthunt.com/@iliyas_shaik1\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-09-23T07:27:45-07:00\",\"reviewBody\":\"he AI offers precise, actionable insights, delivering detailed reports that inform critical business decisions with remarkable accuracy.\",\"author\":{\"@type\":\"Person\",\"name\":\"zain kamboh\",\"image\":\"https://ph-avatars.imgix.net/7618776/original.png\",\"url\":\"https://www.producthunt.com/@zain_kamboh\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":4}},{\"@type\":\"Review\",\"datePublished\":\"2024-09-23T04:59:39-07:00\",\"reviewBody\":\"he AI offers precise, actionable insights, delivering detailed reports that inform critical business decisions with remarkable accuracy.\",\"author\":{\"@type\":\"Person\",\"name\":\"Noman Zahoor\",\"image\":\"https://ph-avatars.imgix.net/7601721/original.png\",\"url\":\"https://www.producthunt.com/@noman_zahoor1\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":4}},{\"@type\":\"Review\",\"datePublished\":\"2024-08-31T04:43:04-07:00\",\"reviewBody\":\"working with Flutter for last 5 years now, definitely recommend for mobile \u0026 desktop app development, but would not recommend for web app.\",\"author\":{\"@type\":\"Person\",\"name\":\"Kamal Panara\",\"image\":\"https://ph-avatars.imgix.net/5557563/original.jpeg\",\"url\":\"https://www.producthunt.com/@kamal_panara\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-08-13T06:46:02-07:00\",\"reviewBody\":\"excellent for cross-platform development\",\"author\":{\"@type\":\"Person\",\"name\":\"Luis Esteban Vilchez\",\"image\":\"https://ph-avatars.imgix.net/7468165/ecf3fad7-1d89-42bc-af9e-4a1fd1ff46c7.png\",\"url\":\"https://www.producthunt.com/@luis_esteban_vilchez\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-05-30T10:58:43-07:00\",\"reviewBody\":\"I've been using Flutter for years and I love it. It helps me to iterate quickly and develop fast beautiful apps, that can target Android, iOS and the web!\",\"author\":{\"@type\":\"Person\",\"name\":\"Teo Vogel\",\"image\":\"https://ph-avatars.imgix.net/7098727/d6771139-ff42-43d0-a270-1b1116ac3061.jpeg\",\"url\":\"https://www.producthunt.com/@teo_vogel\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-04-23T06:10:01-07:00\",\"reviewBody\":\"Really well made cross platform framework. Hot reload rocks! The biggest issue is reliance on third party plugins of dubious quality, but it's kinda unsolvable issue of all cross platform framework, not just flutter.\",\"author\":{\"@type\":\"Person\",\"name\":\"Paweł Szot\",\"image\":\"https://ph-avatars.imgix.net/4470518/original.jpeg\",\"url\":\"https://www.producthunt.com/@pawel_szot1\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":4}},{\"@type\":\"Review\",\"datePublished\":\"2024-04-21T16:08:45-07:00\",\"reviewBody\":\"Best framework for mobile development\",\"author\":{\"@type\":\"Person\",\"name\":\"Mateusz Pastewski\",\"image\":\"https://ph-avatars.imgix.net/4577763/de4bb25d-bc6a-4bff-a54a-154bb4c48c08.png\",\"url\":\"https://www.producthunt.com/@mpastewski\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-01-19T12:21:31-08:00\",\"reviewBody\":\"allowing us to efficiently target both iOS and Android users with a single, streamlined codebase. What really stood out was Flutter's exceptional UI capabilities, crucial for crafting an engaging, intuitive learning experience in ai LaMo. Its performance, thanks to direct native code compilation, ensures a smooth, responsive app – key for keeping our learners hooked. Plus, the Hot Reload feature has been a game-changer for us, accelerating development and enabling quick iterations. It's not just about the now, though; Flutter's growing community and Google's backing mean it's a future-ready choice, aligning perfectly with ai LaMo's forward-thinking ethos.\",\"author\":{\"@type\":\"Person\",\"name\":\"Rene Bystron\",\"image\":\"https://ph-avatars.imgix.net/6605171/ac3b6a6a-7397-487f-9451-2f129f44fbb0.png\",\"url\":\"https://www.producthunt.com/@rene_bystron\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}},{\"@type\":\"Review\",\"datePublished\":\"2024-01-16T04:22:43-08:00\",\"reviewBody\":\"It's awesome to make a cross-platform app!\",\"author\":{\"@type\":\"Person\",\"name\":\"Sudip Mandal\",\"image\":\"https://ph-avatars.imgix.net/6448715/original.png\",\"url\":\"https://www.producthunt.com/@sudip_mandal1\"},\"reviewRating\":{\"@type\":\"Rating\",\"ratingValue\":5}}]},{\"@context\":\"http://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Flutter\",\"item\":\"https://www.producthunt.com/products/flutter\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reviews\",\"item\":\"https://www.producthunt.com/products/flutter/reviews\"}]}]"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"$L25\",null,{}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$26\"},\"data-sentry-component\":\"StructuredData\",\"data-sentry-source-file\":\"structuredData.tsx\"}]]\n"])</script><script>self.__next_f.push([1,"22:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, minimum-scale=1\"}],[\"$\",\"meta\",\"1\",{\"name\":\"theme-color\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",\"2\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"3\",{\"children\":\" Flutter Customer Reviews 2025 | Product Hunt\"}],[\"$\",\"meta\",\"4\",{\"name\":\"description\",\"content\":\"See what 77 people are saying about Flutter on Product Hunt. Verified user reviews and testimonials from the Product Hunt community.\"}],[\"$\",\"link\",\"5\",{\"rel\":\"author\",\"href\":\"https://www.producthunt.com/@eseidelgoogle\"}],[\"$\",\"meta\",\"6\",{\"name\":\"author\",\"content\":\"Eric Seidel\"}],[\"$\",\"link\",\"7\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"8\",{\"name\":\"fb:app_id\",\"content\":\"1467820943460899\"}],[\"$\",\"link\",\"9\",{\"rel\":\"canonical\",\"href\":\"https://www.producthunt.com/products/flutter/reviews\"}],[\"$\",\"link\",\"10\",{\"rel\":\"alternate\",\"type\":\"application/atom+xml\",\"title\":\"Product Hunt - All newest Products\",\"href\":\"https://www.producthunt.com/feed\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:title\",\"content\":\" Flutter Customer Reviews 2025 | Product Hunt\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:description\",\"content\":\"See what 77 people are saying about Flutter on Product Hunt. Verified user reviews and testimonials from the Product Hunt community.\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:url\",\"content\":\"https://www.producthunt.com/products/flutter/reviews\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:site_name\",\"content\":\"Product Hunt\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image\",\"content\":\"https://ph-files.imgix.net/0812df7e-b7be-4f7c-b329-624b47c9efd4.png?auto=format\u0026fit=crop\u0026frame=1\u0026h=512\u0026w=1024\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:site\",\"content\":\"@producthunt\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:creator\",\"content\":\"@eseidelgoogle\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:title\",\"content\":\" Flutter Customer Reviews 2025 | Product Hunt\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:description\",\"content\":\"See what 77 people are saying about Flutter on Product Hunt. Verified user reviews and testimonials from the Product Hunt community.\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image\",\"content\":\"https://ph-files.imgix.net/0812df7e-b7be-4f7c-b329-624b47c9efd4.png?auto=format\u0026fit=crop\u0026frame=1\u0026h=512\u0026w=1024\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"https://ph-static.imgix.net/ph-favicon-brand-500.ico?auto=format\"}],[\"$\",\"link\",\"25\",{\"rel\":\"apple-touch-icon-precomposed\",\"href\":\"https://ph-static.imgix.net/ph-ios-icon.png?auto=format\"}],[\"$\",\"link\",\"26\",{\"rel\":\"chrome-webstore-item\",\"href\":\"https://producthunt.app.link/extension\"}]]\n"])</script><script>self.__next_f.push([1,"f:null\n"])</script><script>(window[Symbol.for("ApolloSSRDataTransport")] ??= []).push({"rehydrate":{":R37rpmfnnkptpkq:":{"data":{"product":{"__typename":"Product","id":"111332","slug":"flutter","name":"Flutter","reviewsWithBodyCount":45,"reviewsRating":4.83,"reviewsRecentRating":4.9,"reviewsCount":77,"reviewsRecentWithRatingCount":10,"isMaker":false,"isTrashed":false,"viewerReview":null,"activeUpcomingEvent":null,"reviewsWithRatingCount":41,"ratingSpecificCount":[{"__typename":"ReviewRatingSpecific","id":"5","rating":5,"count":35},{"__typename":"ReviewRatingSpecific","id":"4","rating":4,"count":5},{"__typename":"ReviewRatingSpecific","id":"3","rating":3,"count":1},{"__typename":"ReviewRatingSpecific","id":"2","rating":2,"count":0},{"__typename":"ReviewRatingSpecific","id":"1","rating":1,"count":0}],"alternativesCount":24,"alternativeAssociations":{"__typename":"ProductAssociationConnection","edges":[{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"531408","alternative":{"__typename":"Product","id":"113048","slug":"bubble","name":"Bubble","tagline":"Build web apps without code, entirely visually","logoUuid":"9e0ee9b4-d147-4c63-9061-79061baa28f9.jpeg","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"531418","alternative":{"__typename":"Product","id":"103771","slug":"ghost","name":"Ghost","tagline":"Publish online, build a business, work from home","logoUuid":"c5e674f4-3077-4976-bfe3-55064e647e74.png","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"334103","alternative":{"__typename":"Product","id":"113340","slug":"adalo","name":"Adalo✨","tagline":"Build apps for every platform as easy as making a slide deck","logoUuid":"a184c183-2e37-43f8-a586-af696607cd9e.png","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"531414","alternative":{"__typename":"Product","id":"112511","slug":"tilda-publishing","name":"Tilda Publishing","tagline":"Create beautiful websites without code","logoUuid":"6890f939-ee32-4b40-aa17-fa44ce53de10.gif","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"334101","alternative":{"__typename":"Product","id":"113406","slug":"glide-2","name":"Glide","tagline":"Create an app from a Google Sheet in five minutes","logoUuid":"47187a4c-278b-45fa-a179-9cd070615dd8.gif","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"452475","alternative":{"__typename":"Product","id":"103746","slug":"expo","name":"Expo","tagline":"An open-source framework for making universal native apps","logoUuid":"d4ad8bb6-7bd5-4e3c-93af-b69c553312ed.png","isNoLongerOnline":false}}}]},"reviews":{"__typename":"ReviewConnection","edges":[{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"703730","comment":null,"body":"I switched to Flutter from native android development in 2019. Love it so much.","rating":5,"user":{"__typename":"User","id":"6392964","name":"Evgeniy Kalaganov","username":"nagual","reviewsCount":1,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/6392964/original.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2023-11-23T06:24:30-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":3,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"629811","comment":null,"body":"Develop efficiently and cross-screen.","rating":5,"user":{"__typename":"User","id":"3698981","name":"Mason","username":"new_user_251b048caf4e7","reviewsCount":1,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/3698981/original.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2023-06-14T02:31:12-07:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":2,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"630999","comment":null,"body":"It's like building with lego blocks. The community is growing, the tooling is so easy, and you can spin up beautiful cross-platform apps in minutes.","rating":5,"user":{"__typename":"User","id":"5674600","name":"Mack Myers","username":"mack_at_pieces","reviewsCount":9,"selectedBylineProduct":{"__typename":"Product","id":"539468","slug":"pieces-for-developers","name":"Pieces for Developers","logoUuid":"7a210274-1cc9-49a6-84d8-265d79e67dd2.gif","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/5674600/fa246412-0c27-493d-b1fa-c9ad67eea854.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":{"__typename":"UpcomingEvent","id":"134945"}},"commentsCount":0,"createdAt":"2023-06-16T09:45:08-07:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":2,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"523964","comment":null,"body":"It was time we had such easy to use tool to build apps. I'm getting acquainted with it and so far everything went fine working using it.","rating":3,"user":{"__typename":"User","id":"4245540","name":"Marcos Vicente","username":"marcosvicente","reviewsCount":1,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/4245540/7df35649-be09-4f8d-a996-af3698a20e6d.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2022-05-12T05:12:36-07:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":1,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"669978","comment":null,"body":"keep aiming high. There are daily and weekly updates.\nCompatibility is also good in version up. That's great.","rating":5,"user":{"__typename":"User","id":"6064832","name":"山田翔太","username":"new_user__2482023327a5f054566db68","reviewsCount":3,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/6064832/1adaf196-72c4-40ea-9550-5dc5d76ef1da.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2023-09-05T17:39:37-07:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":1,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"991947","comment":null,"body":"The Firebase integration saves me hours of custom coding. Flutter 3 is a budget-savvy developer’s dream.","rating":5,"user":{"__typename":"User","id":"5329196","name":"Sharon Lee","username":"sharonnleeee","reviewsCount":3,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/5329196/original.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2024-12-02T21:51:29-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"1034483","comment":null,"body":"The best cross-platform development framework I have tried. Includes TWO great widget libraries to get you started off right, and performance that is blistering fast compared to other cross-platform solutions. I basically can't tell that the end products aren't UIKit or SwiftUI. Truly an awesome framework!","rating":5,"user":{"__typename":"User","id":"3971171","name":"Ben Szymanski","username":"bszyman","reviewsCount":4,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/3971171/ddf32e9e-c65b-43f0-9b4c-1b9dd10a5ac6.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2024-12-17T23:08:50-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"575377","comment":null,"body":"I am 100% satisfied with Flutter","rating":5,"user":{"__typename":"User","id":"3966700","name":"George Sgoutas","username":"george_sgoutas","reviewsCount":1,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/3966700/original.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2023-02-10T08:30:37-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":1,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"970699","comment":null,"body":"Absolutely the best for cross-platform development! I’ve been thrilled to use it since 2019!","rating":5,"user":{"__typename":"User","id":"3189064","name":"Igor Kravchenko","username":"gorniv","reviewsCount":3,"selectedBylineProduct":{"__typename":"Product","id":"747372","slug":"aso","name":"ASO","logoUuid":"860ba1b3-aa11-4af2-9fbe-6b3eae6bc702.png","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/3189064/e68a4b48-f0b6-4ad5-a60a-ad12dbdd5988.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2024-11-25T05:48:03-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"1060090","comment":null,"body":"I use Flutter for Building Mobile apps for Android and IOS. For Building Mobile apps Flutter is great but for building websites not.","rating":4,"user":{"__typename":"User","id":"7135479","name":"Luis Schröder","username":"thriveengineer","reviewsCount":3,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/7135479/b4ee7564-27dc-4ada-a06d-ed445a402582.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2024-12-29T03:46:38-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}}],"totalCount":77,"pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MTA"}},"tagline":"Build apps for iOS, Android, web, macOS, Windows, \u0026 Linux","logoUuid":"88bee7a4-63c1-433f-b2e8-a104fd862e20.png","isNoLongerOnline":false,"url":"https://www.producthunt.com/products/flutter"}},"networkStatus":7},":R37rpmfnnkptpkqH1:":{"data":{"viewer":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}}},"networkStatus":7},":R37rpmfnnkptpkqH2:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R8r7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R8r7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1i8mb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1i8mb7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4i8mb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1i96b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1i96b7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4i96b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1i9mb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1i9mb7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4i9mb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ia6b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ia6b7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4ia6b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1iamb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1iamb7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4iamb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ib6b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ib6b7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4ib6b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ibmb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ibmb7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4ibmb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ic6b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ic6b7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4ic6b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1icmb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1icmb7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4icmb7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1id6b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1id6b7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R4id6b7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rab7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rab7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rqr7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1ar7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R1qr7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2ar7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R2qr7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":R3ar7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rer7rpmfnnkptpkq:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined},":Rer7rpmfnnkptpkqH1:":{"data":{"__typename":"Viewer","id":null,"email":null,"emailVerified":false,"isImpersonated":false,"analyticsIdentifyJson":{},"deviceType":"desktop","showCookiePolicy":false,"showCommentWarning":false,"showCaptcha":false,"showPhoneVerification":false,"isAdmin":false,"features":["ph_new_forum_threads_email","ph_visitors_online_register"],"notificationFeedItemsUnreadCount":0,"flashAlert":null,"notice":null,"otpRequiredFrom":null,"user":null,"abTestActiveParticipations":[],"visitStreak":{"__typename":"VisitStreak","id":"b7227c14-d24c-40c3-9a8a-14e1cb376509","emoji":null,"duration":1},"recentLaunch":null,"intercomUserHash":null,"ifVisitedFromMobile":false,"newsletterSettings":{"__typename":"ViewerNewsletterSettings","hasNewsletterSubscription":false}},"complete":true,"missing":undefined}},"events":[{"type":"data","id":"4","result":{"data":{"product":{"__typename":"Product","id":"111332","slug":"flutter","name":"Flutter","reviewsWithBodyCount":45,"reviewsRating":4.83,"reviewsRecentRating":4.9,"reviewsCount":77,"reviewsRecentWithRatingCount":10,"isMaker":false,"isTrashed":false,"viewerReview":null,"activeUpcomingEvent":null,"reviewsWithRatingCount":41,"ratingSpecificCount":[{"__typename":"ReviewRatingSpecific","id":"5","rating":5,"count":35},{"__typename":"ReviewRatingSpecific","id":"4","rating":4,"count":5},{"__typename":"ReviewRatingSpecific","id":"3","rating":3,"count":1},{"__typename":"ReviewRatingSpecific","id":"2","rating":2,"count":0},{"__typename":"ReviewRatingSpecific","id":"1","rating":1,"count":0}],"alternativesCount":24,"alternativeAssociations":{"__typename":"ProductAssociationConnection","edges":[{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"531408","alternative":{"__typename":"Product","id":"113048","slug":"bubble","name":"Bubble","tagline":"Build web apps without code, entirely visually","logoUuid":"9e0ee9b4-d147-4c63-9061-79061baa28f9.jpeg","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"531418","alternative":{"__typename":"Product","id":"103771","slug":"ghost","name":"Ghost","tagline":"Publish online, build a business, work from home","logoUuid":"c5e674f4-3077-4976-bfe3-55064e647e74.png","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"334103","alternative":{"__typename":"Product","id":"113340","slug":"adalo","name":"Adalo✨","tagline":"Build apps for every platform as easy as making a slide deck","logoUuid":"a184c183-2e37-43f8-a586-af696607cd9e.png","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"531414","alternative":{"__typename":"Product","id":"112511","slug":"tilda-publishing","name":"Tilda Publishing","tagline":"Create beautiful websites without code","logoUuid":"6890f939-ee32-4b40-aa17-fa44ce53de10.gif","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"334101","alternative":{"__typename":"Product","id":"113406","slug":"glide-2","name":"Glide","tagline":"Create an app from a Google Sheet in five minutes","logoUuid":"47187a4c-278b-45fa-a179-9cd070615dd8.gif","isNoLongerOnline":false}}},{"__typename":"ProductAssociationEdge","node":{"__typename":"ProductAssociation","id":"452475","alternative":{"__typename":"Product","id":"103746","slug":"expo","name":"Expo","tagline":"An open-source framework for making universal native apps","logoUuid":"d4ad8bb6-7bd5-4e3c-93af-b69c553312ed.png","isNoLongerOnline":false}}}]},"reviews":{"__typename":"ReviewConnection","edges":[{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"703730","comment":null,"body":"I switched to Flutter from native android development in 2019. Love it so much.","rating":5,"user":{"__typename":"User","id":"6392964","name":"Evgeniy Kalaganov","username":"nagual","reviewsCount":1,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/6392964/original.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2023-11-23T06:24:30-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":3,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"629811","comment":null,"body":"Develop efficiently and cross-screen.","rating":5,"user":{"__typename":"User","id":"3698981","name":"Mason","username":"new_user_251b048caf4e7","reviewsCount":1,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/3698981/original.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2023-06-14T02:31:12-07:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":2,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"630999","comment":null,"body":"It's like building with lego blocks. The community is growing, the tooling is so easy, and you can spin up beautiful cross-platform apps in minutes.","rating":5,"user":{"__typename":"User","id":"5674600","name":"Mack Myers","username":"mack_at_pieces","reviewsCount":9,"selectedBylineProduct":{"__typename":"Product","id":"539468","slug":"pieces-for-developers","name":"Pieces for Developers","logoUuid":"7a210274-1cc9-49a6-84d8-265d79e67dd2.gif","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/5674600/fa246412-0c27-493d-b1fa-c9ad67eea854.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":{"__typename":"UpcomingEvent","id":"134945"}},"commentsCount":0,"createdAt":"2023-06-16T09:45:08-07:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":2,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"523964","comment":null,"body":"It was time we had such easy to use tool to build apps. I'm getting acquainted with it and so far everything went fine working using it.","rating":3,"user":{"__typename":"User","id":"4245540","name":"Marcos Vicente","username":"marcosvicente","reviewsCount":1,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/4245540/7df35649-be09-4f8d-a996-af3698a20e6d.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2022-05-12T05:12:36-07:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":1,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"669978","comment":null,"body":"keep aiming high. There are daily and weekly updates.\nCompatibility is also good in version up. That's great.","rating":5,"user":{"__typename":"User","id":"6064832","name":"山田翔太","username":"new_user__2482023327a5f054566db68","reviewsCount":3,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/6064832/1adaf196-72c4-40ea-9550-5dc5d76ef1da.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2023-09-05T17:39:37-07:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":1,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"991947","comment":null,"body":"The Firebase integration saves me hours of custom coding. Flutter 3 is a budget-savvy developer’s dream.","rating":5,"user":{"__typename":"User","id":"5329196","name":"Sharon Lee","username":"sharonnleeee","reviewsCount":3,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/5329196/original.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2024-12-02T21:51:29-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"1034483","comment":null,"body":"The best cross-platform development framework I have tried. Includes TWO great widget libraries to get you started off right, and performance that is blistering fast compared to other cross-platform solutions. I basically can't tell that the end products aren't UIKit or SwiftUI. Truly an awesome framework!","rating":5,"user":{"__typename":"User","id":"3971171","name":"Ben Szymanski","username":"bszyman","reviewsCount":4,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/3971171/ddf32e9e-c65b-43f0-9b4c-1b9dd10a5ac6.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2024-12-17T23:08:50-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"575377","comment":null,"body":"I am 100% satisfied with Flutter","rating":5,"user":{"__typename":"User","id":"3966700","name":"George Sgoutas","username":"george_sgoutas","reviewsCount":1,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/3966700/original.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2023-02-10T08:30:37-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":1,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"970699","comment":null,"body":"Absolutely the best for cross-platform development! I’ve been thrilled to use it since 2019!","rating":5,"user":{"__typename":"User","id":"3189064","name":"Igor Kravchenko","username":"gorniv","reviewsCount":3,"selectedBylineProduct":{"__typename":"Product","id":"747372","slug":"aso","name":"ASO","logoUuid":"860ba1b3-aa11-4af2-9fbe-6b3eae6bc702.png","isNoLongerOnline":false},"avatarUrl":"https://ph-avatars.imgix.net/3189064/e68a4b48-f0b6-4ad5-a60a-ad12dbdd5988.jpeg","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2024-11-25T05:48:03-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}},{"__typename":"ReviewEdge","node":{"__typename":"Review","id":"1060090","comment":null,"body":"I use Flutter for Building Mobile apps for Android and IOS. For Building Mobile apps Flutter is great but for building websites not.","rating":4,"user":{"__typename":"User","id":"7135479","name":"Luis Schröder","username":"thriveengineer","reviewsCount":3,"selectedBylineProduct":null,"avatarUrl":"https://ph-avatars.imgix.net/7135479/b4ee7564-27dc-4ada-a06d-ed445a402582.png","isAccountVerified":false,"topProductBadge":null,"topHunterBadge":null,"topLaunchBadge":null,"promotableUpcomingEvent":null},"commentsCount":0,"createdAt":"2024-12-29T03:46:38-08:00","threads":{"__typename":"CommentConnection","totalCount":0,"edges":[],"pageInfo":{"__typename":"PageInfo","endCursor":"","hasNextPage":false}},"hasVoted":false,"votesCount":0,"canDestroy":false,"canUpdate":false,"product":{"__typename":"Product","id":"111332","name":"Flutter","slug":"flutter"},"canReply":false,"url":"https://www.producthunt.com/products/flutter/reviews","isHidden":false}}],"totalCount":77,"pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MTA"}},"tagline":"Build apps for iOS, Android, web, macOS, Windows, \u0026 Linux","logoUuid":"88bee7a4-63c1-433f-b2e8-a104fd862e20.png","isNoLongerOnline":false,"url":"https://www.producthunt.com/products/flutter"}}}},{"type":"complete","id":"4"}]})</script><div hidden id="S:1"><section class="flex flex-col items-center gap-4 rounded-xl bg-gray-50 p-4 sm:flex-row" data-sentry-component="SectionCard" data-sentry-source-file="index.tsx"><div class="flex flex-1 flex-row items-center gap-4"><svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none" class="rounded-xl border-2 border-gray-200 bg-white stroke-gray-700 p-[10px]" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path stroke="#344054" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.163 4.029c.269-.545.403-.817.586-.904a.58.58 0 0 1 .502 0c.182.087.317.36.586.904l2.55 5.168c.08.161.12.241.178.304a.6.6 0 0 0 .181.132c.078.036.166.049.344.075l5.706.834c.601.087.902.131 1.04.278a.58.58 0 0 1 .155.478c-.026.2-.244.412-.679.836l-4.127 4.02c-.129.125-.193.188-.235.263a.6.6 0 0 0-.07.213c-.01.085.006.174.036.35l.974 5.68c.103.598.154.898.058 1.075a.58.58 0 0 1-.407.295c-.199.037-.468-.104-1.005-.387l-5.102-2.683c-.159-.084-.238-.125-.322-.142a.6.6 0 0 0-.225 0c-.083.017-.163.058-.322.142l-5.101 2.683c-.538.283-.807.424-1.006.387a.58.58 0 0 1-.406-.295c-.097-.177-.045-.477.057-1.076l.974-5.678c.03-.178.046-.266.036-.35a.6.6 0 0 0-.07-.214c-.041-.075-.106-.138-.234-.263l-4.128-4.02c-.435-.424-.653-.636-.679-.836a.58.58 0 0 1 .155-.478c.139-.147.44-.19 1.04-.278l5.707-.834c.177-.026.266-.04.343-.075a.6.6 0 0 0 .182-.132c.058-.063.097-.143.177-.304z"></path></svg><div class="flex flex-col gap-1"><h3 class="text-16 font-medium text-primary">What do you think about Flutter?</h3><div class="text-14 text-secondary">Leave a review for the community</div></div></div><div class="flex flex-row items-center gap-4"><button type="button" data-test="leave-review-button" class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">Leave a review</button></div></section><section><h2 class="text-18 font-medium text-primary">What do people think of Flutter?</h2><h3 class="text-16 text-secondary">The community submitted 77 reviews to tell us what they like about Flutter, what Flutter can do better, and more.</h3></section><div class="flex flex-col justify-between sm:flex-row"><div class="flex flex-col gap-4"><div class="flex flex-row items-center gap-4 text-32 font-semibold text-success-500">4.8/5<span class="text-14 text-secondary">All time (<!-- -->77 reviews<!-- -->)</span></div><div><div class="flex flex-row items-center gap-4"><div class="rounded-full bg-light-sky px-2 text-14 font-semibold text-secondary">4.9/5</div><span class="text-14 text-secondary">Recently (<!-- -->10 reviews<!-- -->)</span></div></div></div><div class="flex flex-col gap-2" data-sentry-component="ReviewOverallRating" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-6 false"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><div><div class="w-56 h-4 max-w-full overflow-hidden rounded-xl bg-gray-300" data-sentry-component="ProgressBar" data-sentry-source-file="index.tsx"><div class="h-full bg-blue-500" style="width:85.36585365853658%"></div></div></div></div><div class="flex flex-row gap-6 false"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><div><div class="w-56 h-4 max-w-full overflow-hidden rounded-xl bg-gray-300" data-sentry-component="ProgressBar" data-sentry-source-file="index.tsx"><div class="h-full bg-blue-500" style="width:12.195121951219512%"></div></div></div></div><div class="flex flex-row gap-6 false"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><div><div class="w-56 h-4 max-w-full overflow-hidden rounded-xl bg-gray-300" data-sentry-component="ProgressBar" data-sentry-source-file="index.tsx"><div class="h-full bg-blue-500" style="width:2.4390243902439024%"></div></div></div></div><div class="flex flex-row gap-6 false"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><div><div class="w-56 h-4 max-w-full overflow-hidden rounded-xl bg-gray-300" data-sentry-component="ProgressBar" data-sentry-source-file="index.tsx"><div class="h-full bg-blue-500" style="width:0%"></div></div></div></div><div class="flex flex-row gap-6 false"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><div><div class="w-56 h-4 max-w-full overflow-hidden rounded-xl bg-gray-300" data-sentry-component="ProgressBar" data-sentry-source-file="index.tsx"><div class="h-full bg-blue-500" style="width:0%"></div></div></div></div></div></div><div class="flex flex-row items-center gap-4"><label class="styles_field__WVfOC flex-1" data-sentry-component="SearchInput" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="styles_searchIcon__zAT4H"><path fill="#4B587C" d="M7 14c-3.86 0-7-3.14-7-7s3.14-7 7-7 7 3.14 7 7-3.14 7-7 7M7 2C4.243 2 2 4.243 2 7s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5m8.707 12.293L13.314 11.9a8 8 0 0 1-1.414 1.414l2.393 2.393a.997.997 0 0 0 1.414 0 1 1 0 0 0 0-1.414" opacity="0.5"></path></svg><input class="!rounded-xl styles_input___hqiw text-14 text-light-gray" placeholder="Search for reviews..." type="text" value=""/></label><div data-sentry-component="BorderlessDropdown" data-sentry-source-file="index.tsx"><span class="cursor-pointer"><div class="text-14 font-semibold text-light-gray sm:group flex flex-row items-center rounded-2xl border border-white px-2 hover:text-blue-500 sm:rounded-lg sm:px-0" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Best<svg xmlns="http://www.w3.org/2000/svg" width="9" height="6" class="pl-1 group-hover:fill-blue-500" data-sentry-element="ArrowDown" data-sentry-source-file="index.tsx"><path fill="#4B587C" d="M7.752.866 4.858 3.728 1.965.866a.68.68 0 0 0-.945.008.66.66 0 0 0-.009.935l3.37 3.333c.264.26.69.26.954 0l3.37-3.333A.662.662 0 0 0 8.408.684a.68.68 0 0 0-.656.182"></path></svg></div></span></div><div data-sentry-component="BorderlessDropdown" data-sentry-source-file="index.tsx"><span class="cursor-pointer" data-test="dropdown-rating"><div class="text-14 font-semibold text-light-gray sm:group flex flex-row items-center rounded-2xl border border-white px-2 hover:text-blue-500 sm:rounded-lg sm:px-0" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Any Rating<svg xmlns="http://www.w3.org/2000/svg" width="9" height="6" class="pl-1 group-hover:fill-blue-500" data-sentry-element="ArrowDown" data-sentry-source-file="index.tsx"><path fill="#4B587C" d="M7.752.866 4.858 3.728 1.965.866a.68.68 0 0 0-.945.008.66.66 0 0 0-.009.935l3.37 3.333c.264.26.69.26.954 0l3.37-3.333A.662.662 0 0 0 8.408.684a.68.68 0 0 0-.656.182"></path></svg></div></span></div></div><section class="flex flex-col gap-8" data-sentry-component="ReviewsFeedWithLoadButton" data-sentry-source-file="index.tsx"><div class="flex flex-col gap-8" data-sentry-component="ReviewsFeed" data-sentry-source-file="index.tsx"><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-6392964" aria-label="Evgeniy Kalaganov" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@nagual"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/6392964/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/6392964/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/6392964/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/6392964/original.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Evgeniy Kalaganov" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@nagual">Evgeniy Kalaganov</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">1 review</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">I switched to Flutter from native android development in 2019. Love it so much.</div><div data-test="review-703730-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-703730-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span> (3)</button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2023-11-23T06:24:30-08:00" title="Thursday, November 23rd 2023, 2:24:30 PM">1yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-3698981" aria-label="Mason" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@new_user_251b048caf4e7"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3698981/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3698981/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3698981/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3698981/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Mason" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@new_user_251b048caf4e7">Mason</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">1 review</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">Develop efficiently and cross-screen.</div><div data-test="review-629811-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-629811-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span> (2)</button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2023-06-14T02:31:12-07:00" title="Wednesday, June 14th 2023, 9:31:12 AM">1yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-5674600" aria-label="Mack Myers" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@mack_at_pieces"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/5674600/fa246412-0c27-493d-b1fa-c9ad67eea854.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/5674600/fa246412-0c27-493d-b1fa-c9ad67eea854.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/5674600/fa246412-0c27-493d-b1fa-c9ad67eea854.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/5674600/fa246412-0c27-493d-b1fa-c9ad67eea854.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Mack Myers" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@mack_at_pieces">Mack Myers</a></div><div class=""><a class="flex items-center gap-1" target="_blank" data-sentry-element="Link" data-sentry-component="CompanyCallout" data-sentry-source-file="index.tsx" href="/products/pieces-for-developers"><video style="width:16px;height:16px" class="rounded block" aria-label="Pieces for Developers" width="16" height="16" poster="https://ph-files.imgix.net/7a210274-1cc9-49a6-84d8-265d79e67dd2.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;fm=webp&amp;w=16&amp;h=16&amp;fit=max&amp;frame=1&amp;dpr=2" muted="" loop="" disableRemotePlayback="" disablePictureInPicture="" playsInline="" preload="none"><source src="https://ph-files.imgix.net/7a210274-1cc9-49a6-84d8-265d79e67dd2.gif?fm=mp4&amp;crop=max&amp;w=16&amp;h=16&amp;dpr=2#t=0.001" type="video/mp4"/><source src="https://ph-files.imgix.net/7a210274-1cc9-49a6-84d8-265d79e67dd2.gif?fm=webm&amp;crop=max&amp;w=16&amp;h=16&amp;dpr=2#t=0.001" type="video/webm"/></video><p class="hidden text-14 font-semibold text-gray-700 sm:block">Pieces for Developers</p></a></div><div><div class="text-12 font-semibold text-dark-gray styles_launchingSoon__xEhrw" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Launching soon!</div></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">9 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">It's like building with lego blocks. The community is growing, the tooling is so easy, and you can spin up beautiful cross-platform apps in minutes.</div><div data-test="review-630999-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-630999-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span> (2)</button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2023-06-16T09:45:08-07:00" title="Friday, June 16th 2023, 4:45:08 PM">1yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-4245540" aria-label="Marcos Vicente" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@marcosvicente"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/4245540/7df35649-be09-4f8d-a996-af3698a20e6d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/4245540/7df35649-be09-4f8d-a996-af3698a20e6d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/4245540/7df35649-be09-4f8d-a996-af3698a20e6d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/4245540/7df35649-be09-4f8d-a996-af3698a20e6d.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Marcos Vicente" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@marcosvicente">Marcos Vicente</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">1 review</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">It was time we had such easy to use tool to build apps. I'm getting acquainted with it and so far everything went fine working using it.</div><div data-test="review-523964-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-523964-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span> (1)</button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2022-05-12T05:12:36-07:00" title="Thursday, May 12th 2022, 12:12:36 PM">3yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-6064832" aria-label="山田翔太" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@new_user__2482023327a5f054566db68"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/6064832/1adaf196-72c4-40ea-9550-5dc5d76ef1da.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/6064832/1adaf196-72c4-40ea-9550-5dc5d76ef1da.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/6064832/1adaf196-72c4-40ea-9550-5dc5d76ef1da.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/6064832/1adaf196-72c4-40ea-9550-5dc5d76ef1da.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="山田翔太" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@new_user__2482023327a5f054566db68">山田翔太</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">3 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">keep aiming high. There are daily and weekly updates. Compatibility is also good in version up. That's great.</div><div data-test="review-669978-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-669978-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span> (1)</button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2023-09-05T17:39:37-07:00" title="Wednesday, September 6th 2023, 12:39:37 AM">1yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-5329196" aria-label="Sharon Lee" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@sharonnleeee"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/5329196/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/5329196/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/5329196/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/5329196/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Sharon Lee" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@sharonnleeee">Sharon Lee</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">3 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">The Firebase integration saves me hours of custom coding. Flutter 3 is a budget-savvy developer’s dream.</div><div data-test="review-991947-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-991947-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2024-12-02T21:51:29-08:00" title="Tuesday, December 3rd 2024, 5:51:29 AM">3mo ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-3971171" aria-label="Ben Szymanski" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@bszyman"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3971171/ddf32e9e-c65b-43f0-9b4c-1b9dd10a5ac6.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3971171/ddf32e9e-c65b-43f0-9b4c-1b9dd10a5ac6.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3971171/ddf32e9e-c65b-43f0-9b4c-1b9dd10a5ac6.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3971171/ddf32e9e-c65b-43f0-9b4c-1b9dd10a5ac6.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Ben Szymanski" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@bszyman">Ben Szymanski</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">4 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">The best cross-platform development framework I have tried. Includes TWO great widget libraries to get you started off right, and performance that is blistering fast compared to other cross-platform solutions. I basically can't tell that the end products aren't UIKit or SwiftUI. Truly an awesome framework!</div><div data-test="review-1034483-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-1034483-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2024-12-17T23:08:50-08:00" title="Wednesday, December 18th 2024, 7:08:50 AM">2mo ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-3966700" aria-label="George Sgoutas" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@george_sgoutas"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3966700/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3966700/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3966700/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3966700/original.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="George Sgoutas" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@george_sgoutas">George Sgoutas</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">1 review</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">I am 100% satisfied with Flutter</div><div data-test="review-575377-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-575377-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span> (1)</button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2023-02-10T08:30:37-08:00" title="Friday, February 10th 2023, 4:30:37 PM">2yr ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-3189064" aria-label="Igor Kravchenko" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@gorniv"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/3189064/e68a4b48-f0b6-4ad5-a60a-ad12dbdd5988.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/3189064/e68a4b48-f0b6-4ad5-a60a-ad12dbdd5988.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/3189064/e68a4b48-f0b6-4ad5-a60a-ad12dbdd5988.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/3189064/e68a4b48-f0b6-4ad5-a60a-ad12dbdd5988.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Igor Kravchenko" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@gorniv">Igor Kravchenko</a></div><div class=""><a class="flex items-center gap-1" target="_blank" data-sentry-element="Link" data-sentry-component="CompanyCallout" data-sentry-source-file="index.tsx" href="/products/aso"><img loading="lazy" srcSet="https://ph-files.imgix.net/860ba1b3-aa11-4af2-9fbe-6b3eae6bc702.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/860ba1b3-aa11-4af2-9fbe-6b3eae6bc702.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/860ba1b3-aa11-4af2-9fbe-6b3eae6bc702.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/860ba1b3-aa11-4af2-9fbe-6b3eae6bc702.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=16&amp;h=16&amp;fit=crop&amp;frame=1" style="width:16px;height:16px" alt="ASO" class="rounded" data-test="ASO-thumbnail"/><p class="hidden text-14 font-semibold text-gray-700 sm:block">ASO</p></a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">3 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">Absolutely the best for cross-platform development! I’ve been thrilled to use it since 2019!</div><div data-test="review-970699-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-970699-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2024-11-25T05:48:03-08:00" title="Monday, November 25th 2024, 1:48:03 PM">3mo ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div><div data-sentry-component="ReviewItemWithComments" data-sentry-source-file="index.tsx"><div class="flex flex-row gap-4" data-sentry-component="ReviewItem" data-sentry-source-file="index.tsx"><div class="relative shrink-0"><div class=""><a data-test="user-image-link-7135479" aria-label="Luis Schröder" class="block rounded-full" data-sentry-element="Link" data-sentry-component="UserImageLink" data-sentry-source-file="index.tsx" href="/@thriveengineer"><img loading="lazy" srcSet="https://ph-avatars.imgix.net/7135479/b4ee7564-27dc-4ada-a06d-ed445a402582.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-avatars.imgix.net/7135479/b4ee7564-27dc-4ada-a06d-ed445a402582.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-avatars.imgix.net/7135479/b4ee7564-27dc-4ada-a06d-ed445a402582.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-avatars.imgix.net/7135479/b4ee7564-27dc-4ada-a06d-ed445a402582.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=48&amp;h=48&amp;fit=crop&amp;frame=1" style="width:48px;height:48px" alt="Luis Schröder" class="rounded-full"/></a></div></div><div class="flex flex-1 flex-col gap-1"><div class="flex flex-row flex-wrap items-center gap-2" data-sentry-component="UserSpotlight" data-sentry-source-file="index.tsx"><div class=""><a class="text-16 font-medium text-primary" data-sentry-element="Link" data-sentry-source-file="index.tsx" href="/@thriveengineer">Luis Schröder</a></div></div><div class="flex flex-row items-center gap-1"><div class="flex flex-row" data-sentry-component="StarRating" data-sentry-source-file="index.tsx"><label data-test="star-1-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-1-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-2-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-2-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-3-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-3-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-4-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-4-filled" class="fill-light-blue pl-1 !fill-[#f5a623]"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label><label data-test="star-5-readonly" class="styles_smallStar__INWcE"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="23" viewBox="0 0 24 23" data-test="star-5-not-filled" class="fill-light-blue pl-1"><path d="m12 0 3.709 7.514L24 8.718l-6 5.848 1.416 8.26-7.416-3.9-7.416 3.9L6 14.566 0 8.718l8.291-1.204z"></path></svg></label></div><span class="relative -top-px text-12 text-light-gray opacity-45" data-sentry-component="DotSeparator" data-sentry-source-file="index.tsx">•</span><span class="text-14 text-secondary">3 reviews</span></div><div class="styles_htmlText__eYPgj text-16 font-normal text-dark-gray styles_format__8NeQe mb-2 text-tertiary">I use Flutter for Building Mobile apps for Android and IOS. For Building Mobile apps Flutter is great but for building websites not.</div><div data-test="review-1060090-actionbar" class="flex flex-row flex-wrap items-center gap-5" data-sentry-component="ActionBar" data-sentry-source-file="index.tsx"><button type="button" class="text-left text-14 font-semibold text-dark-gray group/vote flex flex-row items-center gap-1 transition-all duration-300 hover:text-brand-500 text-gray-600" data-test="review-1060090-vote-button"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" class="stroke-[1.5px] transition-all duration-300 group-hover/vote:stroke-brand-500 stroke-gray-600" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M6.09 6.09 3.287 3.287m0 9.428 2.826-2.826m3.795.021 2.805 2.805m0-9.428L9.886 6.112M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0m-4 0a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0"></path></svg><span class="hidden sm:block">Helpful</span></button><a href="#" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="ShareIcon" data-sentry-source-file="index.tsx"><path d="M14 8v2.8c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C12.48 14 11.92 14 10.8 14H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 12.48 2 11.92 2 10.8V8m8.667-3.333L8 2m0 0L5.333 4.667M8 2v8"></path></svg><span class="hidden sm:block">Share</span></div></a><a href="#" data-test="action-bar-flag-button" data-sentry-element="ContentToggle" data-sentry-component="ContentToggle" data-sentry-source-file="index.tsx"><div class="text-14 font-semibold text-dark-gray group flex flex-row items-center gap-1 text-gray-600 transition-all duration-300 hover:text-brand-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="stroke-gray-600 stroke-[1.5px] transition-all duration-300 group-hover:stroke-brand-500" data-sentry-element="FlagIcon" data-sentry-source-file="index.tsx"><path d="M2.667 10s.666-.667 2.666-.667 3.333 1.334 5.333 1.334S13.333 10 13.333 10V2s-.667.667-2.667.667-3.333-1.334-5.333-1.334S2.667 2 2.667 2v12.667"></path></svg><span class="hidden sm:block">Report</span></div></a><div class="text-14 font-normal text-dark-gray group flex flex-row items-center gap-2 text-gray-500" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="transition-transform duration-300 group-hover:rotate-12" data-sentry-element="ClockIcon" data-sentry-source-file="index.tsx"><g clip-path="url(#ClockIcon_svg__a)"><path stroke="#667085" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 4v4l2.667 1.333m4-1.333A6.667 6.667 0 1 1 1.334 8a6.667 6.667 0 0 1 13.333 0"></path></g><defs><clipPath id="ClockIcon_svg__a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg><time dateTime="2024-12-29T03:46:38-08:00" title="Sunday, December 29th 2024, 11:46:38 AM">2mo ago</time></div><a href="#" class="flex items-center" data-test="review-menu-button" data-sentry-element="ContentToggle" data-sentry-source-file="index.tsx" data-sentry-component="ContentToggle"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="4" viewBox="0 0 15 4" data-sentry-element="ThreeDotsMenuIcon" data-sentry-source-file="index.tsx"><g fill="#9B9B9B" fill-rule="evenodd"><circle cx="1.5" cy="1.5" r="1.5"></circle><circle cx="7.5" cy="1.5" r="1.5"></circle><circle cx="13.5" cy="1.5" r="1.5"></circle></g></svg></a></div></div></div></div></div><button type="button" class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx">Show 67 more</button></section><section class="mb-8 flex flex-col" data-sentry-component="AlternativesCard" data-sentry-source-file="index.tsx"><h2 class="text-18 font-medium text-primary">You might also like</h2><div class="mt-8 flex flex-row flex-wrap"><a class="text-16 font-normal text-dark-gray mb-8 styles_item__sP3_p" target="_blank" href="/products/bubble"><div class="flex flex-row pr-2"><img loading="lazy" srcSet="https://ph-files.imgix.net/9e0ee9b4-d147-4c63-9061-79061baa28f9.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/9e0ee9b4-d147-4c63-9061-79061baa28f9.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/9e0ee9b4-d147-4c63-9061-79061baa28f9.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/9e0ee9b4-d147-4c63-9061-79061baa28f9.jpeg?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1" style="width:60px;height:60px" alt="Bubble" class="rounded" data-test="Bubble-thumbnail"/><div class="ml-2 flex flex-col"><div class="text-12 font-semibold text-dark-gray" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Bubble</div><div class="text-12 font-normal text-light-gray styles_noOfLines-2__k_Ta_" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Build web apps without code, entirely visually</div></div></div></a><a class="text-16 font-normal text-dark-gray mb-8 styles_item__sP3_p" target="_blank" href="/products/ghost"><div class="flex flex-row pr-2"><img loading="lazy" srcSet="https://ph-files.imgix.net/c5e674f4-3077-4976-bfe3-55064e647e74.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/c5e674f4-3077-4976-bfe3-55064e647e74.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/c5e674f4-3077-4976-bfe3-55064e647e74.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/c5e674f4-3077-4976-bfe3-55064e647e74.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1" style="width:60px;height:60px" alt="Ghost" class="rounded" data-test="Ghost-thumbnail"/><div class="ml-2 flex flex-col"><div class="text-12 font-semibold text-dark-gray" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Ghost</div><div class="text-12 font-normal text-light-gray styles_noOfLines-2__k_Ta_" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Publish online, build a business, work from home</div></div></div></a><a class="text-16 font-normal text-dark-gray mb-8 styles_item__sP3_p" target="_blank" href="/products/adalo"><div class="flex flex-row pr-2"><img loading="lazy" srcSet="https://ph-files.imgix.net/a184c183-2e37-43f8-a586-af696607cd9e.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/a184c183-2e37-43f8-a586-af696607cd9e.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/a184c183-2e37-43f8-a586-af696607cd9e.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/a184c183-2e37-43f8-a586-af696607cd9e.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1" style="width:60px;height:60px" alt="Adalo✨" class="rounded" data-test="Adalo✨-thumbnail"/><div class="ml-2 flex flex-col"><div class="text-12 font-semibold text-dark-gray" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Adalo✨</div><div class="text-12 font-normal text-light-gray styles_noOfLines-2__k_Ta_" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Build apps for every platform as easy as making a slide deck</div></div></div></a><a class="text-16 font-normal text-dark-gray mb-8 styles_item__sP3_p" target="_blank" href="/products/tilda-publishing"><div class="flex flex-row pr-2"><video style="width:60px;height:60px" class="rounded block" aria-label="Tilda Publishing" width="60" height="60" poster="https://ph-files.imgix.net/6890f939-ee32-4b40-aa17-fa44ce53de10.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;fm=webp&amp;w=60&amp;h=60&amp;fit=max&amp;frame=1&amp;dpr=2" muted="" loop="" disableRemotePlayback="" disablePictureInPicture="" playsInline="" preload="none"><source src="https://ph-files.imgix.net/6890f939-ee32-4b40-aa17-fa44ce53de10.gif?fm=mp4&amp;crop=max&amp;w=60&amp;h=60&amp;dpr=2#t=0.001" type="video/mp4"/><source src="https://ph-files.imgix.net/6890f939-ee32-4b40-aa17-fa44ce53de10.gif?fm=webm&amp;crop=max&amp;w=60&amp;h=60&amp;dpr=2#t=0.001" type="video/webm"/></video><div class="ml-2 flex flex-col"><div class="text-12 font-semibold text-dark-gray" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Tilda Publishing</div><div class="text-12 font-normal text-light-gray styles_noOfLines-2__k_Ta_" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Create beautiful websites without code</div></div></div></a><a class="text-16 font-normal text-dark-gray mb-8 styles_item__sP3_p" target="_blank" href="/products/glide-2"><div class="flex flex-row pr-2"><video style="width:60px;height:60px" class="rounded block" aria-label="Glide" width="60" height="60" poster="https://ph-files.imgix.net/47187a4c-278b-45fa-a179-9cd070615dd8.gif?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;fm=webp&amp;w=60&amp;h=60&amp;fit=max&amp;frame=1&amp;dpr=2" muted="" loop="" disableRemotePlayback="" disablePictureInPicture="" playsInline="" preload="none"><source src="https://ph-files.imgix.net/47187a4c-278b-45fa-a179-9cd070615dd8.gif?fm=mp4&amp;crop=max&amp;w=60&amp;h=60&amp;dpr=2#t=0.001" type="video/mp4"/><source src="https://ph-files.imgix.net/47187a4c-278b-45fa-a179-9cd070615dd8.gif?fm=webm&amp;crop=max&amp;w=60&amp;h=60&amp;dpr=2#t=0.001" type="video/webm"/></video><div class="ml-2 flex flex-col"><div class="text-12 font-semibold text-dark-gray" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Glide</div><div class="text-12 font-normal text-light-gray styles_noOfLines-2__k_Ta_" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Create an app from a Google Sheet in five minutes</div></div></div></a><a class="text-16 font-normal text-dark-gray mb-8 styles_item__sP3_p" target="_blank" href="/products/expo"><div class="flex flex-row pr-2"><img loading="lazy" srcSet="https://ph-files.imgix.net/d4ad8bb6-7bd5-4e3c-93af-b69c553312ed.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=1 1x, https://ph-files.imgix.net/d4ad8bb6-7bd5-4e3c-93af-b69c553312ed.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=2 2x, https://ph-files.imgix.net/d4ad8bb6-7bd5-4e3c-93af-b69c553312ed.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1&amp;dpr=3 3x" src="https://ph-files.imgix.net/d4ad8bb6-7bd5-4e3c-93af-b69c553312ed.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format&amp;w=60&amp;h=60&amp;fit=crop&amp;frame=1" style="width:60px;height:60px" alt="Expo" class="rounded" data-test="Expo-thumbnail"/><div class="ml-2 flex flex-col"><div class="text-12 font-semibold text-dark-gray" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">Expo</div><div class="text-12 font-normal text-light-gray styles_noOfLines-2__k_Ta_" data-sentry-element="Component" data-sentry-component="Text" data-sentry-source-file="index.tsx">An open-source framework for making universal native apps</div></div></div></a></div><a data-test="show-all-alternatives" class="inline-block max-h-11 rounded-full border-2 bg-primary px-4 py-2 text-center text-16 font-semibold text-secondary transition-all duration-300 hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-gray-dark-800 border-gray-200 dark:border-gray-dark-800" data-sentry-element="Element" data-sentry-component="Button" data-sentry-source-file="index.tsx" href="/products/flutter/alternatives">View more</a></section></div><script>$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("S:1","P:1")</script><script>$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RC("B:0","S:0")</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10