[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page--\u002Fblog\u002Farticle":3,"d455843b-a9b6-427f-b7e5-b64fe751b50d":59,"317e8e2a-912c-49a3-98d2-832985198aa9":903,"a080278f-f5c2-4d0e-ba3f-677da008dae4":907,"bc5d6217-b80c-499b-91a7-1dbca7208203":926,"d2f3b98a-eb5e-4096-8e79-21a62358df4b":956,"cc183043-092c-426d-9587-4fc6db361342":1034,"da6dfaaa-71b1-4e6b-b16e-5b5acfb472f7":1070,"cde563a8-ddf2-4083-8be6-2d7fe4e82167":1078,"blog-detail":1116,"related-blogs":1718},{"id":4,"name":5,"seo":6,"status":8,"schema":9,"template":10,"sections":47,"redirect":58},"289e4d80-4fe0-4497-8225-40d2b6d0fd37","Article ",{"title":7},"Article","published",[],{"name":11,"start_sections":12,"end_sections":18},"Default",[13],{"collection":14,"id":15,"item":16},"section_harsh",1,{"id":17},"d455843b-a9b6-427f-b7e5-b64fe751b50d",[19,24,29,33,38,43],{"collection":20,"id":21,"item":22},"section_pinky",32,{"id":23},"da6dfaaa-71b1-4e6b-b16e-5b5acfb472f7",{"collection":25,"id":26,"item":27},"section_janak",30,{"id":28},"d2f3b98a-eb5e-4096-8e79-21a62358df4b",{"collection":25,"id":30,"item":31},31,{"id":32},"cc183043-092c-426d-9587-4fc6db361342",{"collection":34,"id":35,"item":36},"section_hem",2,{"id":37},"bc5d6217-b80c-499b-91a7-1dbca7208203",{"collection":39,"id":40,"item":41},"section_dhruv",3,{"id":42},"cde563a8-ddf2-4083-8be6-2d7fe4e82167",{"collection":44,"id":15,"item":45},"section_bhavin",{"id":46},"a080278f-f5c2-4d0e-ba3f-677da008dae4",[48,53],{"collection":49,"id":50,"item":51},"section_bhargav",5576,{"id":52},"1b3ea167-b557-47ad-996c-6eeb0bcf3c08",{"collection":54,"id":55,"item":56},"section_krusha",5606,{"id":57},"317e8e2a-912c-49a3-98d2-832985198aa9",[],{"logo":60,"logo_link":66,"button_primary":71,"nav_links":77},{"id":61,"width":62,"height":62,"title":63,"type":64,"filename_disk":65},"be082e99-8711-4293-b716-4b3da8c6dd29",null,"Logo Dark","image\u002Fsvg+xml","be082e99-8711-4293-b716-4b3da8c6dd29.svg",{"type":67,"label":68,"url":62,"anchor_id":62,"target":62,"description":62,"page":69,"icon":62,"section":62},"page","Home",{"path":70},"\u002F",{"type":67,"label":72,"url":62,"anchor_id":73,"target":74,"description":62,"page":75,"icon":62,"section":62},"Get In Touch","contact_form","_blank",{"path":76},"\u002Fcontact",[78,590,596,864,870],{"link":79},{"type":62,"label":80,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":62,"section":62,"links":81},"Solutions",[82,259,345],{"children":83},{"type":67,"label":84,"url":62,"anchor_id":62,"target":85,"description":62,"page":86,"icon":62,"section":62,"links":88},"Services","_self",{"path":87},"\u002Fservices",[89,146,197,228],{"children":90},{"type":67,"label":91,"url":62,"anchor_id":62,"target":85,"description":62,"page":92,"icon":94,"section":62,"links":100},"Build",{"path":93},"\u002Fbuild",{"name":95,"value":62,"svg":96},"Advanced Manufacturing & Industrial Products",{"id":97,"width":62,"height":62,"title":98,"type":64,"filename_disk":99},"0461b3d3-f165-4a6b-bcd8-a8f4a63120ef","Mega Menu (1)","0461b3d3-f165-4a6b-bcd8-a8f4a63120ef.svg",[101,106,111,116,121,126,131,136,141],{"children":102},{"type":67,"label":103,"url":62,"anchor_id":62,"target":85,"description":62,"page":104,"icon":62,"section":62},"Custom Applications",{"path":105},"\u002Fcustom-software-development",{"children":107},{"type":67,"label":108,"url":62,"anchor_id":62,"target":85,"description":62,"page":109,"icon":62,"section":62},"Enterprise Solutions",{"path":110},"\u002Fenterprise-application-solutions",{"children":112},{"type":67,"label":113,"url":62,"anchor_id":62,"target":85,"description":62,"page":114,"icon":62,"section":62},"eCommerce & Digital Storefronts",{"path":115},"\u002Fecommerce-development",{"children":117},{"type":67,"label":118,"url":62,"anchor_id":62,"target":85,"description":62,"page":119,"icon":62,"section":62},"No-Code\u002FLow-Code Solutions",{"path":120},"\u002Flow-code-no-code-development",{"children":122},{"type":67,"label":123,"url":62,"anchor_id":62,"target":85,"description":62,"page":124,"icon":62,"section":62},"Custom Web Development",{"path":125},"\u002Fcustom-web-development",{"children":127},{"type":67,"label":128,"url":62,"anchor_id":62,"target":85,"description":62,"page":129,"icon":62,"section":62},"SaaS",{"path":130},"\u002Fsaas-product-development",{"children":132},{"type":67,"label":133,"url":62,"anchor_id":62,"target":85,"description":62,"page":134,"icon":62,"section":62},"Cloud & DevOps",{"path":135},"\u002Fcloud-devops-engineering",{"children":137},{"type":67,"label":138,"url":62,"anchor_id":62,"target":85,"description":62,"page":139,"icon":62,"section":62},"Mobile App Development",{"path":140},"\u002Fmobile-application-development",{"children":142},{"type":67,"label":143,"url":62,"anchor_id":62,"target":85,"description":62,"page":144,"icon":62,"section":62},"CMS Development",{"path":145},"\u002Fcms-development",{"children":147},{"type":67,"label":148,"url":62,"anchor_id":62,"target":85,"description":62,"page":149,"icon":151,"section":62,"links":156},"Grow",{"path":150},"\u002Fgrow",{"name":152,"value":152,"svg":153},"Dawnrise",{"id":154,"width":62,"height":62,"title":152,"type":64,"filename_disk":155},"ba95220f-833d-4ca4-8a11-2a4b67cd134e","ba95220f-833d-4ca4-8a11-2a4b67cd134e.svg",[157,162,167,172,177,182,187,192],{"children":158},{"type":67,"label":159,"url":62,"anchor_id":62,"target":85,"description":62,"page":160,"icon":62,"section":62},"Performance Marketing Services",{"path":161},"\u002Fperformance-marketing-services",{"children":163},{"type":67,"label":164,"url":62,"anchor_id":62,"target":85,"description":62,"page":165,"icon":62,"section":62},"eCommerce Growth Solutions",{"path":166},"\u002Fecommerce-growth-solutions",{"children":168},{"type":67,"label":169,"url":62,"anchor_id":62,"target":85,"description":62,"page":170,"icon":62,"section":62},"UX Optimization & Accessibility",{"path":171},"\u002Fui-ux-design",{"children":173},{"type":67,"label":174,"url":62,"anchor_id":62,"target":85,"description":62,"page":175,"icon":62,"section":62},"IT Strategy & Process Optimization",{"path":176},"\u002Fit-optimization",{"children":178},{"type":67,"label":179,"url":62,"anchor_id":62,"target":85,"description":62,"page":180,"icon":62,"section":62},"Application Maintenance & Support",{"path":181},"\u002Fapplication-maintenance",{"children":183},{"type":67,"label":184,"url":62,"anchor_id":62,"target":85,"description":62,"page":185,"icon":62,"section":62},"IT Staff Augmentation Services",{"path":186},"\u002Fit-staff-augmentation-services",{"children":188},{"type":67,"label":189,"url":62,"anchor_id":62,"target":85,"description":62,"page":190,"icon":62,"section":62},"B2B Lead Generation Solutions",{"path":191},"\u002Flead-generation-services",{"children":193},{"type":67,"label":194,"url":62,"anchor_id":62,"target":85,"description":62,"page":195,"icon":62,"section":62},"Business Intelligence & Data Analytics",{"path":196},"\u002Fbusiness-intelligence-and-data-analytics",{"children":198},{"type":67,"label":199,"url":62,"anchor_id":62,"target":85,"description":62,"page":200,"icon":202,"section":62,"links":207},"Transform",{"path":201},"\u002Ftransform",{"name":203,"value":203,"svg":204},"Ember Nest",{"id":205,"width":62,"height":62,"title":203,"type":64,"filename_disk":206},"317591fd-6bf7-4888-a695-78ecdf2507af","317591fd-6bf7-4888-a695-78ecdf2507af.svg",[208,213,218,223],{"children":209},{"type":67,"label":210,"url":62,"anchor_id":62,"target":85,"description":62,"page":211,"icon":62,"section":62},"Legacy App Modernizations",{"path":212},"\u002Flegacy-app-modernization",{"children":214},{"type":67,"label":215,"url":62,"anchor_id":62,"target":85,"description":62,"page":216,"icon":62,"section":62},"AI & Advanced Tech Solutions",{"path":217},"\u002Fai-and-emerging-technologies",{"children":219},{"type":67,"label":220,"url":62,"anchor_id":62,"target":85,"description":62,"page":221,"icon":62,"section":62},"Cloud & Infrastructure Transformation",{"path":222},"\u002Fcloud-infrastructure-modernization",{"children":224},{"type":67,"label":225,"url":62,"anchor_id":62,"target":85,"description":62,"page":226,"icon":62,"section":62},"IoT & Smart Solutions",{"path":227},"\u002Fiot-development-smart-integration",{"children":229},{"type":67,"label":230,"url":62,"anchor_id":62,"target":85,"description":62,"page":231,"icon":233,"section":62,"links":238},"Consulting",{"path":232},"\u002Fconsulting",{"name":234,"value":234,"svg":235},"Twinflame",{"id":236,"width":62,"height":62,"title":234,"type":64,"filename_disk":237},"5c461564-acb7-4926-b30f-1ef56efb28f5","5c461564-acb7-4926-b30f-1ef56efb28f5.svg",[239,244,249,254],{"children":240},{"type":67,"label":241,"url":62,"anchor_id":62,"target":85,"description":62,"page":242,"icon":62,"section":62},"Product Consulting",{"path":243},"\u002Fproduct-strategy-and-management",{"children":245},{"type":67,"label":246,"url":62,"anchor_id":62,"target":85,"description":62,"page":247,"icon":62,"section":62},"Tech Consulting",{"path":248},"\u002Ftechnology-consulting",{"children":250},{"type":67,"label":251,"url":62,"anchor_id":62,"target":85,"description":62,"page":252,"icon":62,"section":62},"Design Consulting",{"path":253},"\u002Fux-consulting",{"children":255},{"type":67,"label":256,"url":62,"anchor_id":62,"target":85,"description":62,"page":257,"icon":62,"section":62},"Digital Marketing Consulting",{"path":258},"\u002Fdigital-marketing-consulting",{"children":260},{"type":62,"label":261,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":62,"section":62,"links":262},"Industries",[263,292,321],{"children":264},{"type":62,"label":265,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":266,"section":62,"links":271},"Industrial, Mobility & Infrastructure",{"name":267,"value":267,"svg":268},"Mountain Base",{"id":269,"width":62,"height":62,"title":267,"type":64,"filename_disk":270},"a04fdc40-8ddb-4caa-ad48-0cf2f30953e9","a04fdc40-8ddb-4caa-ad48-0cf2f30953e9.svg",[272,277,282,287],{"children":273},{"type":67,"label":274,"url":62,"anchor_id":62,"target":62,"description":62,"page":275,"icon":62,"section":62},"Manufacturing",{"path":276},"\u002Findustry\u002Fmanufacturing",{"children":278},{"type":67,"label":279,"url":62,"anchor_id":62,"target":85,"description":62,"page":280,"icon":62,"section":62},"Real Estate & Construction",{"path":281},"\u002Findustry\u002Freal-estate",{"children":283},{"type":67,"label":284,"url":62,"anchor_id":62,"target":85,"description":62,"page":285,"icon":62,"section":62},"Mobility & Automotive",{"path":286},"\u002Findustry\u002Fautomotive",{"children":288},{"type":67,"label":289,"url":62,"anchor_id":62,"target":62,"description":62,"page":290,"icon":62,"section":62},"Travel & Hospitality",{"path":291},"\u002Findustry\u002Ftravel-hospitality",{"children":293},{"type":62,"label":294,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":295,"section":62,"links":300},"Digital, Consumer & Media",{"name":296,"value":296,"svg":297},"Orchard",{"id":298,"width":62,"height":62,"title":296,"type":64,"filename_disk":299},"c21bf7e5-fb29-406c-9d42-0883c6272235","c21bf7e5-fb29-406c-9d42-0883c6272235.svg",[301,306,311,316],{"children":302},{"type":67,"label":303,"url":62,"anchor_id":62,"target":62,"description":62,"page":304,"icon":62,"section":62},"Ecommerce & Retail",{"path":305},"\u002Findustry\u002Fretail-ecommerce",{"children":307},{"type":67,"label":308,"url":62,"anchor_id":62,"target":62,"description":62,"page":309,"icon":62,"section":62},"B2B SaaS",{"path":310},"\u002Findustry\u002Fsaas",{"children":312},{"type":67,"label":313,"url":62,"anchor_id":62,"target":62,"description":62,"page":314,"icon":62,"section":62},"Telecommunications",{"path":315},"\u002Findustry\u002Ftelecommunications",{"children":317},{"type":67,"label":318,"url":62,"anchor_id":62,"target":62,"description":62,"page":319,"icon":62,"section":62},"Media & Entertainment",{"path":320},"\u002Findustry\u002Fmedia-entertainment",{"children":322},{"type":62,"label":323,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":324,"section":62,"links":329},"Regulated & Public Services",{"name":325,"value":325,"svg":326},"Crystal",{"id":327,"width":62,"height":62,"title":325,"type":64,"filename_disk":328},"276f1af8-f2fa-4229-94e7-d5ce165aa4c0","276f1af8-f2fa-4229-94e7-d5ce165aa4c0.svg",[330,335,340],{"children":331},{"type":67,"label":332,"url":62,"anchor_id":62,"target":62,"description":62,"page":333,"icon":62,"section":62},"Banking & Finance",{"path":334},"\u002Findustry\u002Fbanking-finance",{"children":336},{"type":67,"label":337,"url":62,"anchor_id":62,"target":62,"description":62,"page":338,"icon":62,"section":62},"Government & Public Sector",{"path":339},"\u002Findustry\u002Fgovernment-and-public-service",{"children":341},{"type":67,"label":342,"url":62,"anchor_id":62,"target":62,"description":62,"page":343,"icon":62,"section":62},"Healthcare & Wellness",{"path":344},"\u002Findustry\u002Fhealthcare",{"children":346},{"type":67,"label":347,"url":62,"anchor_id":62,"target":85,"description":62,"page":348,"icon":62,"section":62,"links":350},"Hire Talent",{"path":349},"\u002Ftechnologies",[351,390,434,475,519,538,552,576],{"children":352},{"type":62,"label":353,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":354,"section":62,"links":359},"Frontend",{"name":355,"value":355,"svg":356},"Eclipse",{"id":357,"width":62,"height":62,"title":355,"type":64,"filename_disk":358},"f24547ab-e85f-4d6f-894d-a375479c842e","f24547ab-e85f-4d6f-894d-a375479c842e.svg",[360,365,370,375,380,385],{"children":361},{"type":67,"label":362,"url":62,"anchor_id":62,"target":85,"description":62,"page":363,"icon":62,"section":62},"JavaScript Developers",{"path":364},"\u002Fhire-javascript-developers",{"children":366},{"type":67,"label":367,"url":62,"anchor_id":62,"target":85,"description":62,"page":368,"icon":62,"section":62},"TypeScript Developers",{"path":369},"\u002Fhire-typescript-developers",{"children":371},{"type":67,"label":372,"url":62,"anchor_id":62,"target":85,"description":62,"page":373,"icon":62,"section":62},"React Developers",{"path":374},"\u002Fhire-react-developers",{"children":376},{"type":67,"label":377,"url":62,"anchor_id":62,"target":85,"description":62,"page":378,"icon":62,"section":62},"Nuxt JS Developers",{"path":379},"\u002Fhire-nuxt-js-developers",{"children":381},{"type":67,"label":382,"url":62,"anchor_id":62,"target":85,"description":62,"page":383,"icon":62,"section":62},"Next JS Developers",{"path":384},"\u002Fhire-next-js-developers",{"children":386},{"type":67,"label":387,"url":62,"anchor_id":62,"target":85,"description":62,"page":388,"icon":62,"section":62},"Vue JS Developers",{"path":389},"\u002Fhire-vue-js-developers",{"children":391},{"type":62,"label":392,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":393,"section":62,"links":398},"Backend",{"name":394,"value":394,"svg":395},"Nestling",{"id":396,"width":62,"height":62,"title":394,"type":64,"filename_disk":397},"89928fcc-9b32-41d7-879d-2a88846cc3bb","89928fcc-9b32-41d7-879d-2a88846cc3bb.svg",[399,404,409,414,419,424,429],{"children":400},{"type":67,"label":401,"url":62,"anchor_id":62,"target":62,"description":62,"page":402,"icon":62,"section":62},"GraphQL Developers",{"path":403},"\u002Fhire-graphql-developers",{"children":405},{"type":67,"label":406,"url":62,"anchor_id":62,"target":85,"description":62,"page":407,"icon":62,"section":62},"Java Developers",{"path":408},"\u002Fhire-java-developers",{"children":410},{"type":67,"label":411,"url":62,"anchor_id":62,"target":85,"description":62,"page":412,"icon":62,"section":62},"Laravel Developers",{"path":413},"\u002Fhire-laravel-developers",{"children":415},{"type":67,"label":416,"url":62,"anchor_id":62,"target":85,"description":62,"page":417,"icon":62,"section":62},"Liferay Developers",{"path":418},"\u002Fhire-liferay-developers",{"children":420},{"type":67,"label":421,"url":62,"anchor_id":62,"target":85,"description":62,"page":422,"icon":62,"section":62},"Node JS Developers",{"path":423},"\u002Fhire-node-js-developers",{"children":425},{"type":67,"label":426,"url":62,"anchor_id":62,"target":62,"description":62,"page":427,"icon":62,"section":62},"Nest JS Developers",{"path":428},"\u002Fhire-nest-js-developers",{"children":430},{"type":67,"label":431,"url":62,"anchor_id":62,"target":85,"description":62,"page":432,"icon":62,"section":62},"PHP Developers",{"path":433},"\u002Fhire-php-developers",{"children":435},{"type":62,"label":436,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":437,"section":62,"links":442},"Mobile",{"name":438,"value":438,"svg":439},"River Stones",{"id":440,"width":62,"height":62,"title":438,"type":64,"filename_disk":441},"07d7e1f0-7112-450a-a45a-badf40495d38","07d7e1f0-7112-450a-a45a-badf40495d38.svg",[443,450,455,460,465,470],{"children":444},{"type":67,"label":445,"url":62,"anchor_id":62,"target":85,"description":62,"page":446,"icon":62,"section":448},"Flutter Developers",{"path":447},"\u002Fhire-flutter-developers",{"item":449},"0c988c05-000c-48b0-9168-7741cbb50a55",{"children":451},{"type":67,"label":452,"url":62,"anchor_id":62,"target":85,"description":62,"page":453,"icon":62,"section":62},"React Native Developers",{"path":454},"\u002Fhire-react-native-developers",{"children":456},{"type":67,"label":457,"url":62,"anchor_id":62,"target":85,"description":62,"page":458,"icon":62,"section":62},"iOS Developers",{"path":459},"\u002Fhire-ios-developers",{"children":461},{"type":67,"label":462,"url":62,"anchor_id":62,"target":85,"description":62,"page":463,"icon":62,"section":62},"Kotlin Developers",{"path":464},"\u002Fhire-kotlin-developers",{"children":466},{"type":67,"label":467,"url":62,"anchor_id":62,"target":85,"description":62,"page":468,"icon":62,"section":62},"Android Developers",{"path":469},"\u002Fhire-android-developers",{"children":471},{"type":67,"label":472,"url":62,"anchor_id":62,"target":62,"description":62,"page":473,"icon":62,"section":62},"Swift Developers",{"path":474},"\u002Fhire-swift-developers",{"children":476},{"type":62,"label":477,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":478,"section":62,"links":483},"CMS",{"name":479,"value":479,"svg":480},"Pebble & Peak",{"id":481,"width":62,"height":62,"title":479,"type":64,"filename_disk":482},"908d721e-4ab1-4a08-b42a-b93f011020a7","908d721e-4ab1-4a08-b42a-b93f011020a7.svg",[484,489,494,499,504,509,514],{"children":485},{"type":67,"label":486,"url":62,"anchor_id":62,"target":85,"description":62,"page":487,"icon":62,"section":62},"Webflow Developers",{"path":488},"\u002Fhire-webflow-developer",{"children":490},{"type":67,"label":491,"url":62,"anchor_id":62,"target":85,"description":62,"page":492,"icon":62,"section":62},"Directus Developers",{"path":493},"\u002Fhire-directus-developers",{"children":495},{"type":67,"label":496,"url":62,"anchor_id":62,"target":85,"description":62,"page":497,"icon":62,"section":62},"dotCMS Developer",{"path":498},"\u002Fhire-dotcms-developers",{"children":500},{"type":67,"label":501,"url":62,"anchor_id":62,"target":85,"description":62,"page":502,"icon":62,"section":62},"Strapi Developers",{"path":503},"\u002Fhire-strapi-developers",{"children":505},{"type":67,"label":506,"url":62,"anchor_id":62,"target":85,"description":62,"page":507,"icon":62,"section":62},"Contentful Developer",{"path":508},"\u002Fhire-contentful-developers",{"children":510},{"type":67,"label":511,"url":62,"anchor_id":62,"target":85,"description":62,"page":512,"icon":62,"section":62},"WordPress Developers",{"path":513},"\u002Fhire-wordpress-developers",{"children":515},{"type":67,"label":516,"url":62,"anchor_id":62,"target":62,"description":62,"page":517,"icon":62,"section":62},"Bubble.io Experts",{"path":518},"\u002Fhire-bubble-experts",{"children":520},{"type":62,"label":521,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":522,"section":62,"links":527},"Design",{"name":523,"value":523,"svg":524},"Starleaf",{"id":525,"width":62,"height":62,"title":523,"type":64,"filename_disk":526},"2eb01417-c486-4bed-a9f9-dd10fd3be974","2eb01417-c486-4bed-a9f9-dd10fd3be974.svg",[528,533],{"children":529},{"type":67,"label":530,"url":62,"anchor_id":62,"target":85,"description":62,"page":531,"icon":62,"section":62},"Figma Designers",{"path":532},"\u002Fhire-figma-designer",{"children":534},{"type":67,"label":535,"url":62,"anchor_id":62,"target":85,"description":62,"page":536,"icon":62,"section":62},"Framer Developers",{"path":537},"\u002Fhire-framer-developers",{"children":539},{"type":62,"label":540,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":541,"section":62,"links":546},"E-Commerce",{"name":542,"value":542,"svg":543},"Dune",{"id":544,"width":62,"height":62,"title":542,"type":64,"filename_disk":545},"dd39f9f2-1e72-4447-bf18-82d2c2576852","dd39f9f2-1e72-4447-bf18-82d2c2576852.svg",[547],{"children":548},{"type":67,"label":549,"url":62,"anchor_id":62,"target":85,"description":62,"page":550,"icon":62,"section":62},"Shopify Developers",{"path":551},"\u002Fhire-shopify-developers",{"children":553},{"type":62,"label":554,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":555,"section":62,"links":560},"Cloud",{"name":556,"value":556,"svg":557},"Rising Moon",{"id":558,"width":62,"height":62,"title":556,"type":64,"filename_disk":559},"daa3f389-edec-4105-ba2a-199d4c279b1b","daa3f389-edec-4105-ba2a-199d4c279b1b.svg",[561,566,571],{"children":562},{"type":67,"label":563,"url":62,"anchor_id":62,"target":85,"description":62,"page":564,"icon":62,"section":62},"AWS Experts",{"path":565},"\u002Fhire-aws-experts",{"children":567},{"type":67,"label":568,"url":62,"anchor_id":62,"target":85,"description":62,"page":569,"icon":62,"section":62},"Digital Ocean Experts",{"path":570},"\u002Fhire-digital-ocean-experts",{"children":572},{"type":67,"label":573,"url":62,"anchor_id":62,"target":62,"description":62,"page":574,"icon":62,"section":62},"Supabase Experts",{"path":575},"\u002Fhire-supabase-experts",{"children":577},{"type":62,"label":578,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":579,"section":62,"links":584},"ERP",{"name":580,"value":580,"svg":581},"Petal",{"id":582,"width":62,"height":62,"title":580,"type":64,"filename_disk":583},"5210c66b-db76-4000-816b-c9be9ed6660b","5210c66b-db76-4000-816b-c9be9ed6660b.svg",[585],{"children":586},{"type":67,"label":587,"url":62,"anchor_id":62,"target":85,"description":62,"page":588,"icon":62,"section":62},"Odoo Developers",{"path":589},"\u002Fhire-odoo-developer",{"link":591},{"type":67,"label":592,"url":62,"anchor_id":62,"target":62,"description":62,"page":593,"icon":62,"section":62,"links":595},"Work",{"path":594},"\u002Fwork",[],{"link":597},{"type":62,"label":598,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":62,"section":62,"links":599},"Products",[600,626,686,727,838],{"children":601},{"type":62,"label":128,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":62,"section":62,"links":602},[603,615],{"children":604},{"type":67,"label":605,"url":62,"anchor_id":62,"target":74,"description":606,"page":607,"icon":609,"section":62,"links":614},"Vepaar","\u003Cp>The all-in-one suite to run, sell, and support your business online\u003C\u002Fp>",{"path":608},"\u002Fvepaar",{"name":610,"value":62,"svg":611},"Vepaar Icon",{"id":612,"width":62,"height":62,"title":605,"type":64,"filename_disk":613},"d4bead81-d2b1-4457-bb6b-1c363f743d9d","d4bead81-d2b1-4457-bb6b-1c363f743d9d.svg",[],{"children":616},{"type":67,"label":617,"url":62,"anchor_id":62,"target":74,"description":618,"page":619,"icon":621,"section":62,"links":625},"Pagemaker","\u003Cp>Mobile First No-Code Landing Page Builder\u003C\u002Fp>",{"path":620},"\u002Fpagemaker",{"name":617,"value":62,"svg":622},{"id":623,"width":62,"height":62,"title":617,"type":64,"filename_disk":624},"d4ac2317-ff68-456d-abec-2ebc0930cd42","d4ac2317-ff68-456d-abec-2ebc0930cd42.svg",[],{"children":627},{"type":62,"label":628,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":62,"section":62,"links":629},"Mobile Apps",[630,641,652,663,675],{"children":631},{"type":67,"label":632,"url":62,"anchor_id":62,"target":74,"description":633,"page":634,"icon":636,"section":62,"links":640},"Tapomo","\u003Cp>A Digital Business Card and Networking Platform\u003C\u002Fp>",{"path":635},"\u002Ftapomo",{"name":632,"value":62,"svg":637},{"id":638,"width":62,"height":62,"title":632,"type":64,"filename_disk":639},"13cc60db-cd9e-4fff-8f13-76b6155ab95d","13cc60db-cd9e-4fff-8f13-76b6155ab95d.svg",[],{"children":642},{"type":67,"label":643,"url":62,"anchor_id":62,"target":74,"description":644,"page":645,"icon":647,"section":62,"links":651},"Voliz","\u003Cp>A Real-Time WhatsApp Polling Platform\u003C\u002Fp>",{"path":646},"\u002Fvoliz",{"name":643,"value":62,"svg":648},{"id":649,"width":62,"height":62,"title":643,"type":64,"filename_disk":650},"d79f8032-d289-4376-bdd8-84d205ae2582","d79f8032-d289-4376-bdd8-84d205ae2582.svg",[],{"children":653},{"type":67,"label":654,"url":62,"anchor_id":62,"target":74,"description":655,"page":656,"icon":658,"section":62,"links":662},"Frink","\u003Cp>A Customizable Link in Bio Tool for Creators and Brands\u003C\u002Fp>",{"path":657},"\u002Ffrink",{"name":654,"value":62,"svg":659},{"id":660,"width":62,"height":62,"title":654,"type":64,"filename_disk":661},"82f881ca-7824-482b-a9ca-16ccb5f92037","82f881ca-7824-482b-a9ca-16ccb5f92037.svg",[],{"children":664},{"type":67,"label":665,"url":62,"anchor_id":62,"target":74,"description":666,"page":667,"icon":669,"section":62,"links":674},"BakLoL","\u003Cp>A Location-Based Voice Sharing Platform\u003C\u002Fp>",{"path":668},"\u002Fbaklol",{"name":665,"value":62,"svg":670},{"id":671,"width":62,"height":62,"title":672,"type":64,"filename_disk":673},"98f3c152-6255-45f1-a81f-fcc5e3414738","Baklol","98f3c152-6255-45f1-a81f-fcc5e3414738.svg",[],{"children":676},{"type":67,"label":677,"url":62,"anchor_id":62,"target":74,"description":678,"page":679,"icon":681,"section":62,"links":685},"Mixpage","\u003Cp>Build Your Website From Your Phone\u003C\u002Fp>",{"path":680},"\u002Fmixpage",{"name":677,"value":62,"svg":682},{"id":683,"width":62,"height":62,"title":677,"type":64,"filename_disk":684},"984e1e41-5b38-4b0a-9348-204b5c74920f","984e1e41-5b38-4b0a-9348-204b5c74920f.svg",[],{"children":687},{"type":62,"label":688,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":62,"section":62,"links":689},"Odoo Apps",[690,703,715],{"children":691},{"type":67,"label":692,"url":62,"anchor_id":62,"target":74,"description":693,"page":694,"icon":696,"section":62,"links":702},"CRM Dashboard","\u003Cp>Real-Time Sales &amp; Revenue Tracking\u003C\u002Fp>",{"path":695},"\u002Fodoo-apps\u002Fcrm-dashboard",{"name":697,"value":62,"svg":698},"CRM Dashboard Icon",{"id":699,"width":62,"height":62,"title":700,"type":64,"filename_disk":701},"2cae4e0f-2f45-4f8e-8bf6-15f00ac88835","Crm","2cae4e0f-2f45-4f8e-8bf6-15f00ac88835.svg",[],{"children":704},{"type":67,"label":705,"url":62,"anchor_id":62,"target":74,"description":706,"page":707,"icon":709,"section":62,"links":714},"Cashfree Integration","\u003Cp>Payment Gateway Integration for Odoo\u003C\u002Fp>",{"path":708},"\u002Fodoo-apps\u002Fcashfree",{"name":710,"value":62,"svg":711},"Cashfree",{"id":712,"width":62,"height":62,"title":710,"type":64,"filename_disk":713},"846054ee-c8e0-4051-b561-0c1be07c51f1","846054ee-c8e0-4051-b561-0c1be07c51f1.svg",[],{"children":716},{"type":67,"label":717,"url":62,"anchor_id":62,"target":74,"description":718,"page":719,"icon":721,"section":62,"links":726},"Purchase Order","\u003Cp>Order Payment App for B2B Checkout\u003C\u002Fp>",{"path":720},"\u002Fodoo-apps\u002Fpurchase-order",{"name":717,"value":62,"svg":722},{"id":723,"width":62,"height":62,"title":724,"type":64,"filename_disk":725},"098cf550-448b-4114-91d3-fbac10b7f0d9","Purchase 2","098cf550-448b-4114-91d3-fbac10b7f0d9.svg",[],{"children":728},{"type":67,"label":729,"url":62,"anchor_id":62,"target":62,"description":62,"page":730,"icon":62,"section":62,"links":732},"Open Source",{"path":731},"\u002Fopen-source",[733,750,763,775,789,802,814,827],{"children":734},{"type":735,"label":736,"url":737,"anchor_id":738,"target":74,"description":739,"page":740,"icon":741,"section":747,"links":749},"section","VueList","https:\u002F\u002F7span.com\u002Fopen-source#124e0f59-576e-4b49-9026-7387da467b91","124e0f59-576e-4b49-9026-7387da467b91","\u003Cp>Simplified API-based list rendering for Vue\u003C\u002Fp>",{"path":731},{"name":742,"value":62,"svg":743},"Vue List Icon",{"id":744,"width":62,"height":62,"title":745,"type":64,"filename_disk":746},"049a33aa-cbf8-4b83-94d8-4a78c9faaf8a","Vue List","049a33aa-cbf8-4b83-94d8-4a78c9faaf8a.svg",{"item":748},"e5d8dfa8-b10a-4e99-8d28-7f80f9093dfa",[],{"children":751},{"type":735,"label":752,"url":62,"anchor_id":753,"target":85,"description":754,"page":755,"icon":756,"section":761,"links":762},"ReactList","ffedf96a-b43d-45aa-84b8-51110cb37a4f","\u003Cp>Simplified API-based list rendering for React\u003C\u002Fp>",{"path":731},{"name":757,"value":62,"svg":758},"React List",{"id":759,"width":62,"height":62,"title":757,"type":64,"filename_disk":760},"153b9211-ca81-4fe5-bc76-753821ee6da7","153b9211-ca81-4fe5-bc76-753821ee6da7.svg",{"item":753},[],{"children":764},{"type":735,"label":765,"url":62,"anchor_id":748,"target":74,"description":766,"page":767,"icon":768,"section":773,"links":774},"VueForm","\u003Cp>Build consistent CRUD forms, faster for Vue\u003C\u002Fp>",{"path":731},{"name":769,"value":62,"svg":770},"Vue Form",{"id":771,"width":62,"height":62,"title":769,"type":64,"filename_disk":772},"7e33276e-fc6d-438f-9c10-5d2d70ab0606","7e33276e-fc6d-438f-9c10-5d2d70ab0606.svg",{"item":748},[],{"children":776},{"type":735,"label":777,"url":62,"anchor_id":778,"target":85,"description":779,"page":780,"icon":781,"section":787,"links":788},"ReactForm","8c35e524-04a2-4d63-ab2b-9154efd92323","\u003Cp>Build consistent CRUD forms, faster for React.\u003C\u002Fp>",{"path":731},{"name":782,"value":62,"svg":783},"React Form",{"id":784,"width":62,"height":62,"title":785,"type":64,"filename_disk":786},"d49e0b78-c98f-4bda-9dc4-4f5f238cf06a","React Form 3","d49e0b78-c98f-4bda-9dc4-4f5f238cf06a.svg",{"item":778},[],{"children":790},{"type":735,"label":791,"url":62,"anchor_id":792,"target":62,"description":793,"page":794,"icon":795,"section":800,"links":801},"DashingKit","28787115-d6c9-48e9-9569-a184610e1d84","\u003Cp>A Flutter starter kit built for scalable apps\u003C\u002Fp>",{"path":731},{"name":796,"value":62,"svg":797},"Dashing Kit",{"id":798,"width":62,"height":62,"title":796,"type":64,"filename_disk":799},"c742d34d-afc2-4e89-a8fe-34f68a95c5c0","c742d34d-afc2-4e89-a8fe-34f68a95c5c0.svg",{"item":792},[],{"children":803},{"type":735,"label":804,"url":62,"anchor_id":805,"target":62,"description":806,"page":807,"icon":808,"section":812,"links":813},"Laravel Chat","34f46942-e97b-43c4-aa2a-ff34a38853ed","\u003Cp>The all-in-one Laravel chat package\u003C\u002Fp>",{"path":731},{"name":804,"value":62,"svg":809},{"id":810,"width":62,"height":62,"title":804,"type":64,"filename_disk":811},"c2558639-c78c-45a3-9a75-cc7c2bfcc250","c2558639-c78c-45a3-9a75-cc7c2bfcc250.svg",{"item":805},[],{"children":815},{"type":735,"label":816,"url":62,"anchor_id":817,"target":62,"description":818,"page":819,"icon":820,"section":825,"links":826},"Laravel Code Generator","550942dc-1760-41da-9ac6-d0305bf8ae33","\u003Cp>Automated CRUD Code\u003C\u002Fp>",{"path":731},{"name":821,"value":62,"svg":822},"Laravel Code Genrator",{"id":823,"width":62,"height":62,"title":816,"type":64,"filename_disk":824},"6a9a0b3f-987e-47b5-a98d-620db73dd3c6","6a9a0b3f-987e-47b5-a98d-620db73dd3c6.svg",{"item":817},[],{"children":828},{"type":62,"label":829,"url":62,"anchor_id":830,"target":62,"description":831,"page":62,"icon":832,"section":62,"links":837},"Laravel WhatsApp","0d6926a8-0bce-4d31-8f1d-c49de22aa674","\u003Cp>Easy WhatsApp Message API Integration\u003C\u002Fp>",{"name":833,"value":62,"svg":834},"Laravel Whatsapp",{"id":835,"width":62,"height":62,"title":833,"type":64,"filename_disk":836},"686ec747-c1d4-431a-8e94-f65b11c24067","686ec747-c1d4-431a-8e94-f65b11c24067.svg",[],{"children":839},{"type":62,"label":840,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":62,"section":62,"links":841},"Brands",[842,853],{"children":843},{"type":67,"label":844,"url":62,"anchor_id":62,"target":74,"description":845,"page":846,"icon":848,"section":62,"links":852},"Motolith","\u003Cp>A Unified Auto Parts Marketplace Platform\u003C\u002Fp>",{"path":847},"\u002Fmotolith",{"name":844,"value":62,"svg":849},{"id":850,"width":62,"height":62,"title":844,"type":64,"filename_disk":851},"7965c08f-b2e5-40cf-b51a-23c3f04b8f4e","7965c08f-b2e5-40cf-b51a-23c3f04b8f4e.svg",[],{"children":854},{"type":67,"label":855,"url":62,"anchor_id":62,"target":74,"description":856,"page":857,"icon":859,"section":62,"links":863},"Carkhana","\u003Cp>A Digital Garage and Vehicle Management Platform\u003C\u002Fp>",{"path":858},"\u002Fcarkhana",{"name":855,"value":62,"svg":860},{"id":861,"width":62,"height":62,"title":855,"type":64,"filename_disk":862},"04a7e020-1f2a-4b47-a9fe-18a0938b5ffc","04a7e020-1f2a-4b47-a9fe-18a0938b5ffc.svg",[],{"link":865},{"type":67,"label":866,"url":62,"anchor_id":62,"target":85,"description":62,"page":867,"icon":62,"section":62,"links":869},"Blog",{"path":868},"\u002Fblog",[],{"link":871},{"type":62,"label":872,"url":62,"anchor_id":62,"target":62,"description":62,"page":62,"icon":62,"section":62,"links":873},"Company",[874,880,886,892,897],{"children":875},{"type":67,"label":876,"url":62,"anchor_id":62,"target":62,"description":62,"page":877,"icon":62,"section":62,"links":879},"About",{"path":878},"\u002Fabout",[],{"children":881},{"type":67,"label":882,"url":62,"anchor_id":62,"target":62,"description":62,"page":883,"icon":62,"section":62,"links":885},"Testimonials",{"path":884},"\u002Ftestimonials",[],{"children":887},{"type":67,"label":888,"url":62,"anchor_id":62,"target":62,"description":62,"page":889,"icon":62,"section":62,"links":891},"Career",{"path":890},"\u002Fcareers",[],{"children":893},{"type":67,"label":894,"url":62,"anchor_id":62,"target":62,"description":62,"page":895,"icon":62,"section":62,"links":896},"Contact",{"path":76},[],{"children":898},{"type":67,"label":899,"url":62,"anchor_id":62,"target":74,"description":62,"page":900,"icon":62,"section":62,"links":902},"Brand Assets",{"path":901},"\u002Fbrand",[],{"id":57,"title":904,"subtitle":905,"blogs":906,"selected_blogs":62},"\u003Cdiv>\n\u003Cdiv>More\u003C\u002Fdiv>\n\u003C\u002Fdiv>","\u003Cp>An interesting read? Here is more related to it.\u003C\u002Fp>","related",{"id":46,"iso_badges":908,"logo":909,"logo_link":62,"links":910},"ISO 9001:2015 | ISO 42001:2023 Certified",{"id":61,"title":63,"filename_disk":65},[911,916,921],{"link":912},{"type":67,"label":913,"url":62,"anchor_id":62,"target":74,"description":62,"page":914,"icon":62,"section":62},"Sitemap",{"path":915},"\u002Fsitemap",{"link":917},{"type":67,"label":918,"url":62,"anchor_id":62,"target":74,"description":62,"page":919,"icon":62,"section":62},"Refund Policy",{"path":920},"\u002Frefund-policy",{"link":922},{"type":67,"label":923,"url":62,"anchor_id":62,"target":74,"description":62,"page":924,"icon":62,"section":62},"Privacy",{"path":925},"\u002Fprivacy-policy",{"address":927,"contact":943},[928,936],{"hem_addresse":929},{"country":930,"address":931,"contact_number":932},"India (HQ)","\u003Cp>201, iSquare Corporate Park, Ahmedabad-380060, Gujarat, India\u003C\u002Fp>",{"type":933,"label":934,"url":935,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"url","+91 77 97 977 977","tel:+917797977977",{"hem_addresse":937},{"country":938,"address":939,"contact_number":940},"Canada","\u003Cp>24 Merlot Court, Timberlea, NS B3T 0C2, Canada\u003C\u002Fp>",{"type":933,"label":941,"url":942,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"+1 902-333-0067","tel:+19023330067",[944,950],{"hem_contact":945},{"label":946,"contact_value":947,"link":948},"\u003Cp>For Sales\u003C\u002Fp>","YO@7SPAN.COM",{"type":933,"label":947,"url":949,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"mailto:YO@7SPAN.COM?subject=Inquiry",{"hem_contact":951},{"label":952,"contact_value":953,"link":954},"\u003Cp>Looking For Jobs\u003C\u002Fp>","Apply Now",{"type":67,"label":888,"url":62,"anchor_id":62,"target":62,"description":62,"page":955,"icon":62,"section":62},{"path":890},{"title":957,"links":958},"\u003Cp>Services\u003C\u002Fp>",[959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1016,1019,1022,1025,1028,1031],{"link":960},{"type":67,"label":103,"url":62,"anchor_id":62,"target":85,"description":62,"page":961,"icon":62,"section":62},{"path":105},{"link":963},{"type":67,"label":108,"url":62,"anchor_id":62,"target":85,"description":62,"page":964,"icon":62,"section":62},{"path":110},{"link":966},{"type":67,"label":113,"url":62,"anchor_id":62,"target":85,"description":62,"page":967,"icon":62,"section":62},{"path":115},{"link":969},{"type":67,"label":118,"url":62,"anchor_id":62,"target":85,"description":62,"page":970,"icon":62,"section":62},{"path":120},{"link":972},{"type":67,"label":123,"url":62,"anchor_id":62,"target":85,"description":62,"page":973,"icon":62,"section":62},{"path":125},{"link":975},{"type":67,"label":128,"url":62,"anchor_id":62,"target":85,"description":62,"page":976,"icon":62,"section":62},{"path":130},{"link":978},{"type":67,"label":133,"url":62,"anchor_id":62,"target":85,"description":62,"page":979,"icon":62,"section":62},{"path":135},{"link":981},{"type":67,"label":138,"url":62,"anchor_id":62,"target":85,"description":62,"page":982,"icon":62,"section":62},{"path":140},{"link":984},{"type":67,"label":143,"url":62,"anchor_id":62,"target":85,"description":62,"page":985,"icon":62,"section":62},{"path":145},{"link":987},{"type":67,"label":159,"url":62,"anchor_id":62,"target":85,"description":62,"page":988,"icon":62,"section":62},{"path":161},{"link":990},{"type":67,"label":164,"url":62,"anchor_id":62,"target":85,"description":62,"page":991,"icon":62,"section":62},{"path":166},{"link":993},{"type":67,"label":169,"url":62,"anchor_id":62,"target":85,"description":62,"page":994,"icon":62,"section":62},{"path":171},{"link":996},{"type":67,"label":174,"url":62,"anchor_id":62,"target":85,"description":62,"page":997,"icon":62,"section":62},{"path":176},{"link":999},{"type":67,"label":179,"url":62,"anchor_id":62,"target":85,"description":62,"page":1000,"icon":62,"section":62},{"path":181},{"link":1002},{"type":67,"label":184,"url":62,"anchor_id":62,"target":85,"description":62,"page":1003,"icon":62,"section":62},{"path":186},{"link":1005},{"type":67,"label":189,"url":62,"anchor_id":62,"target":85,"description":62,"page":1006,"icon":62,"section":62},{"path":191},{"link":1008},{"type":67,"label":194,"url":62,"anchor_id":62,"target":85,"description":62,"page":1009,"icon":62,"section":62},{"path":196},{"link":1011},{"type":67,"label":210,"url":62,"anchor_id":62,"target":85,"description":62,"page":1012,"icon":62,"section":62},{"path":212},{"link":1014},{"type":67,"label":215,"url":62,"anchor_id":62,"target":85,"description":62,"page":1015,"icon":62,"section":62},{"path":217},{"link":1017},{"type":67,"label":220,"url":62,"anchor_id":62,"target":85,"description":62,"page":1018,"icon":62,"section":62},{"path":222},{"link":1020},{"type":67,"label":225,"url":62,"anchor_id":62,"target":85,"description":62,"page":1021,"icon":62,"section":62},{"path":227},{"link":1023},{"type":67,"label":241,"url":62,"anchor_id":62,"target":85,"description":62,"page":1024,"icon":62,"section":62},{"path":243},{"link":1026},{"type":67,"label":246,"url":62,"anchor_id":62,"target":85,"description":62,"page":1027,"icon":62,"section":62},{"path":248},{"link":1029},{"type":67,"label":251,"url":62,"anchor_id":62,"target":85,"description":62,"page":1030,"icon":62,"section":62},{"path":253},{"link":1032},{"type":67,"label":256,"url":62,"anchor_id":62,"target":85,"description":62,"page":1033,"icon":62,"section":62},{"path":258},{"title":1035,"links":1036},"\u003Cp>Industries\u003C\u002Fp>",[1037,1040,1043,1046,1049,1052,1055,1058,1061,1064,1067],{"link":1038},{"type":67,"label":274,"url":62,"anchor_id":62,"target":62,"description":62,"page":1039,"icon":62,"section":62},{"path":276},{"link":1041},{"type":67,"label":279,"url":62,"anchor_id":62,"target":85,"description":62,"page":1042,"icon":62,"section":62},{"path":281},{"link":1044},{"type":67,"label":284,"url":62,"anchor_id":62,"target":85,"description":62,"page":1045,"icon":62,"section":62},{"path":286},{"link":1047},{"type":67,"label":342,"url":62,"anchor_id":62,"target":85,"description":62,"page":1048,"icon":62,"section":62},{"path":344},{"link":1050},{"type":67,"label":289,"url":62,"anchor_id":62,"target":62,"description":62,"page":1051,"icon":62,"section":62},{"path":291},{"link":1053},{"type":67,"label":308,"url":62,"anchor_id":62,"target":85,"description":62,"page":1054,"icon":62,"section":62},{"path":310},{"link":1056},{"type":67,"label":313,"url":62,"anchor_id":62,"target":85,"description":62,"page":1057,"icon":62,"section":62},{"path":315},{"link":1059},{"type":67,"label":332,"url":62,"anchor_id":62,"target":85,"description":62,"page":1060,"icon":62,"section":62},{"path":334},{"link":1062},{"type":67,"label":303,"url":62,"anchor_id":62,"target":85,"description":62,"page":1063,"icon":62,"section":62},{"path":305},{"link":1065},{"type":67,"label":318,"url":62,"anchor_id":62,"target":85,"description":62,"page":1066,"icon":62,"section":62},{"path":320},{"link":1068},{"type":67,"label":337,"url":62,"anchor_id":62,"target":85,"description":62,"page":1069,"icon":62,"section":62},{"path":339},{"title":1071,"icon":1072},"\u003Cp>Engineering clarity where others add complexity.&nbsp;We help businesses build, modernize, and scale with the right technology. Whatever your challenge, stage, or vision, we make IT possible.\u003C\u002Fp>",{"name":1073,"value":62,"svg":1074},"Making IT Possible | Black Font",{"id":1075,"width":62,"height":62,"title":1076,"type":64,"filename_disk":1077},"ef48a6de-e34e-400b-8de4-c5d5c1b5ff5f","Group","ef48a6de-e34e-400b-8de4-c5d5c1b5ff5f.svg",{"id":42,"links":1079},[1080,1084,1088,1092,1096,1100,1104,1108,1112],{"link":1081},{"type":933,"label":1082,"url":1083,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002F7span",{"link":1085},{"type":933,"label":1086,"url":1087,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"Instagram","https:\u002F\u002Finstagram.com\u002F7span",{"link":1089},{"type":933,"label":1090,"url":1091,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"X","https:\u002F\u002Fx.com\u002F7SpanHQ",{"link":1093},{"type":933,"label":1094,"url":1095,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"Facebook","https:\u002F\u002Ffacebook.com\u002F7span",{"link":1097},{"type":933,"label":1098,"url":1099,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"Youtube","https:\u002F\u002Fyoutube.com\u002F7span",{"link":1101},{"type":933,"label":1102,"url":1103,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"Discord","https:\u002F\u002F7span.in\u002Fclub",{"link":1105},{"type":933,"label":1106,"url":1107,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"Dribbble","https:\u002F\u002Fdribbble.com\u002F7span",{"link":1109},{"type":933,"label":1110,"url":1111,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"Behance","https:\u002F\u002Fwww.behance.net\u002F7span",{"link":1113},{"type":933,"label":1114,"url":1115,"anchor_id":62,"target":74,"description":62,"page":62,"icon":62,"section":62},"Github","https:\u002F\u002Fgithub.com\u002F7span",{"data":1117},[1118],{"id":1119,"title":1120,"date_published":1121,"summary":62,"seo_description":1122,"update_date":62,"tags":1123,"cover":1133,"sections":1136,"author":1694,"category":62,"og_image":1705,"color_primary":1706},"4e931209-4a31-47ef-881a-c99cc8b18834","Secure Google & Apple Sign-In in FlutterFlow Using Custom Actions","2026-01-21","Learn how to implement secure Google & Apple Sign-In in FlutterFlow using Custom Actions with backend token verification and REST API integration.",[1124,1128],{"bg_tags_id":1125},{"label":436,"slug":1126,"id":1127},"mobile","5fa69bcd-8c0e-4c53-b28f-ad459696bc01",{"bg_tags_id":1129},{"label":1130,"slug":1131,"id":1132},"Developer Insights","developer-insights","9b9bbc1a-a554-431f-bfab-d421484a8695",{"id":1134,"filename_disk":1135},"94648f4c-8a33-4647-b692-7a4a6c075a40","94648f4c-8a33-4647-b692-7a4a6c075a40.webp",[1137,1645],{"collection":1138,"item":1139},"bg_sections_content_blocks",{"id":1140,"name":866,"content":1141,"metadata":1639},"fc35d1d0-485a-41e0-878d-b8c59beddc49",{"time":1142,"blocks":1143,"version":1638},1769006086180,[1144,1152,1158,1164,1170,1177,1183,1189,1207,1213,1219,1235,1241,1247,1253,1259,1265,1271,1277,1283,1309,1315,1321,1327,1333,1346,1352,1358,1363,1369,1375,1381,1387,1393,1409,1415,1421,1425,1431,1437,1443,1449,1456,1462,1468,1474,1480,1502,1508,1514,1520,1539,1545,1551,1570,1576,1582,1588,1594,1610,1616,1632],{"id":1145,"data":1146,"type":1148,"tunes":1149},"OQZYRW1uXc",{"text":1147},"Modern applications cannot rely solely on frontend authentication.","paragraph",{"alignment":1150},{"alignment":1151},"left",{"id":1153,"data":1154,"type":1148,"tunes":1156},"WH_ugSO9Fy",{"text":1155},"In real-world production systems - especially SaaS, fintech, and enterprise platforms - authentication must be verified and owned by the backend, not blindly trusted from the client. This is particularly important in mobile applications where client-side logic can be tampered with and tokens can be intercepted if not handled correctly.",{"alignment":1157},{"alignment":1151},{"id":1159,"data":1160,"type":1148,"tunes":1162},"N3I_lHXSg_",{"text":1161},"If you’re building a Flutter-based product at scale, these concerns typically surface alongside broader questions around Flutter application security and backend ownership, which we’ve explored in detail in our guide on \u003Ca href=\"https:\u002F\u002F7span.com\u002Fblog\u002Fflutter-app-security-best-practices\">Flutter app security best practices\u003C\u002Fa>.",{"alignment":1163},{"alignment":1151},{"id":1165,"data":1166,"type":1148,"tunes":1168},"cO6V2qptde",{"text":1167},"While FlutterFlow provides fast UI development and Firebase-native authentication, serious production systems quickly hit limitations. This is especially true for teams building production-grade mobile products where authentication, session management, and backend verification must scale securely across platforms. These challenges typically surface once an app moves beyond prototyping into real-world \u003Ca href=\"https:\u002F\u002F7span.com\u002Fmobile-application-development\">mobile application development\u003C\u002Fa>, where backend ownership and security can no longer be treated as optional.",{"alignment":1169},{"alignment":1151},{"id":1171,"data":1172,"type":1174,"tunes":1175},"lqsvx3rs3J",{"text":1173,"level":35},"Why FlutterFlow’s Built-In Auth Is Not Enough","header",{"alignment":1176},{"alignment":1151},{"id":1178,"data":1179,"type":1148,"tunes":1181},"zUWBJsPJCl",{"text":1180},"FlutterFlow’s default Google and Apple sign-in flows are tightly coupled to Firebase.",{"alignment":1182},{"alignment":1151},{"id":1184,"data":1185,"type":1148,"tunes":1187},"L17xFao15C",{"text":1186},"This works well for prototypes, but it falls short when you need:",{"alignment":1188},{"alignment":1151},{"id":1190,"data":1191,"type":1206},"_WQodjrU7v",{"items":1192,"style":1205},[1193,1196,1199,1202],{"items":1194,"content":1195},[],"A custom backend",{"items":1197,"content":1198},[],"Server-side token verification",{"items":1200,"content":1201},[],"Platform-agnostic authentication logic",{"items":1203,"content":1204},[],"Independence from Firebase as the source of truth","unordered","nestedlist",{"id":1208,"data":1209,"type":1148,"tunes":1211},"ZDPqwkq6rG",{"text":1210},"These limitations are similar to what teams face when moving from no-code or low-code tooling to \u003Ca href=\"https:\u002F\u002F7span.com\u002Fblog\u002Fcustom-software-for-startups\">custom software architectures designed for long-term scale\u003C\u002Fa>, especially when multiple clients or platforms must share a single identity system.",{"alignment":1212},{"alignment":1151},{"id":1214,"data":1215,"type":1174,"tunes":1217},"XQg94nHbqr",{"text":1216,"level":40},"Core Limitations",{"alignment":1218},{"alignment":1151},{"id":1220,"data":1221,"type":1206},"euiBKlQJCM",{"items":1222,"style":1205},[1223,1226,1229,1232],{"items":1224,"content":1225},[],"OAuth tokens are not reliably accessible",{"items":1227,"content":1228},[],"Tokens cannot be forwarded cleanly to REST APIs",{"items":1230,"content":1231},[],"Backend cannot independently verify identity",{"items":1233,"content":1234},[],"Firebase implicitly becomes the authority",{"id":1236,"data":1237,"type":1148,"tunes":1239},"DEptWPbuk0",{"text":1238},"For production-grade systems, this creates unnecessary risk.",{"alignment":1240},{"alignment":1151},{"id":1242,"data":1243,"type":1174,"tunes":1245},"atGj3dZGGY",{"text":1244,"level":35},"Backend-First Authentication: The Correct Mental Model",{"alignment":1246},{"alignment":1151},{"id":1248,"data":1249,"type":1148,"tunes":1251},"R1H8Lit52D",{"text":1250},"In secure systems:",{"alignment":1252},{"alignment":1151},{"id":1254,"data":1255,"type":1148,"tunes":1257},"Z1ChGgdqP1",{"text":1256},"Clients authenticate. Backends verify. Backends issue sessions.",{"alignment":1258},{"alignment":1151},{"id":1260,"data":1261,"type":1148,"tunes":1263},"sCToIxi8El",{"text":1262},"Your backend - not FlutterFlow, not Firebase - must remain the single source of truth for identity, roles, and permissions.",{"alignment":1264},{"alignment":1151},{"id":1266,"data":1267,"type":1148,"tunes":1269},"95ZLfvbmjQ",{"text":1268},"This same principle applies across enterprise-grade application development, where backend-controlled authentication enables consistent security policies across mobile, web, and future clients.",{"alignment":1270},{"alignment":1151},{"id":1272,"data":1273,"type":1174,"tunes":1275},"qJGhiHaUOo",{"text":1274,"level":35},"Architecture Overview",{"alignment":1276},{"alignment":1151},{"id":1278,"data":1279,"type":1174,"tunes":1281},"eEWta9AUBS",{"text":1280,"level":40},"End-to-End Flow",{"alignment":1282},{"alignment":1151},{"id":1284,"data":1285,"type":1206},"z8c34g5XpB",{"items":1286,"style":1308},[1287,1290,1293,1296,1299,1302,1305],{"items":1288,"content":1289},[],"User signs in with Google or Apple",{"items":1291,"content":1292},[],"FlutterFlow Custom Action captures OAuth tokens",{"items":1294,"content":1295},[],"Tokens are sent to your REST API",{"items":1297,"content":1298},[],"Backend verifies tokens with Google or Apple",{"items":1300,"content":1301},[],"Backend creates or updates the user record",{"items":1303,"content":1304},[],"Backend issues its own JWT or session token",{"items":1306,"content":1307},[],"Client stores backend token and continues","ordered",{"id":1310,"data":1311,"type":1148,"tunes":1313},"zii4IHW73k",{"text":1312},"This approach mirrors how authentication is handled in \u003Ca href=\"https:\u002F\u002F7span.com\u002Fblog\u002Fenterprise-application-development\">enterprise application development\u003C\u002Fa> and regulated environments where client trust is explicitly limited.",{"alignment":1314},{"alignment":1151},{"id":1316,"data":1317,"type":1174,"tunes":1319},"WuSLIM3wR6",{"text":1318,"level":35},"Custom Action: Google Sign-In in FlutterFlow",{"alignment":1320},{"alignment":1151},{"id":1322,"data":1323,"type":1148,"tunes":1325},"iC3nJYcnCc",{"text":1324},"Google Sign-In is relatively straightforward, but FlutterFlow’s built-in abstraction hides critical token details that your backend needs.",{"alignment":1326},{"alignment":1151},{"id":1328,"data":1329,"type":1148,"tunes":1331},"f8UiYRkXZs",{"text":1330},"By implementing Google Sign-In via a Custom Action, you regain full control over:",{"alignment":1332},{"alignment":1151},{"id":1334,"data":1335,"type":1206},"IogLret_dL",{"items":1336,"style":1205},[1337,1340,1343],{"items":1338,"content":1339},[],"OAuth token handling",{"items":1341,"content":1342},[],"Backend verification",{"items":1344,"content":1345},[],"Session ownership",{"id":1347,"data":1348,"type":1148,"tunes":1350},"PzO_423Rfn",{"text":1349},"This pattern is especially useful when building Flutter-based products that integrate with existing backend systems or third-party services.",{"alignment":1351},{"alignment":1151},{"id":1353,"data":1354,"type":1174,"tunes":1356},"1IGB8RXV8W",{"text":1355,"level":40},"Google Sign-In Custom Action Code",{"alignment":1357},{"alignment":1151},{"id":1359,"data":1360,"type":1362},"Z3kc3mp9BV",{"code":1361},"import 'package:firebase_auth\u002Ffirebase_auth.dart';\n\nimport 'package:google_sign_in\u002Fgoogle_sign_in.dart';\n\nFuture\u003CGoogleUserResponseStruct?> signInWithGoogle() async {\n\n  try {\n\n    final GoogleSignInAccount? googleUser = await GoogleSignIn().signIn();\n\n    if (googleUser == null) {\n\n      return null;\n\n    }\n\n    final GoogleSignInAuthentication googleAuth =\n\n        await googleUser.authentication;\n\n    final accessToken = googleAuth.accessToken;\n\n    final idToken = googleAuth.idToken;\n\n    final credential = GoogleAuthProvider.credential(\n\n      accessToken: accessToken,\n\n      idToken: idToken,\n\n    );\n\n    UserCredential userCredential =\n\n        await FirebaseAuth.instance.signInWithCredential(credential);\n\n    User? user = userCredential.user;\n\n    return GoogleUserResponseStruct(\n\n      accessToken: accessToken ?? '',\n\n      idToken: idToken ?? '',\n\n      uid: user?.uid ?? '',\n\n      name: user?.displayName ?? googleUser.displayName ?? '',\n\n      email: user?.email ?? googleUser.email,\n\n      photoUrl: user?.photoURL ?? googleUser.photoUrl ?? '',\n\n    );\n\n  } catch (e) {\n\n    print(\"🍋 Google sign-in error: $e\");\n\n    return null;\n\n  }\n\n}","code",{"id":1364,"data":1365,"type":1148,"tunes":1367},"XbJh7xpViC",{"text":1366},"Firebase here is optional. Even when used, it should never replace backend verification - a principle that also applies when designing \u003Ca href=\"https:\u002F\u002F7span.com\u002Fblog\u002Fflutter-app-security-best-practices\">secure Flutter authentication flows\u003C\u002Fa> at scale.",{"alignment":1368},{"alignment":1151},{"id":1370,"data":1371,"type":1174,"tunes":1373},"Fyk3oj6baE",{"text":1372,"level":35},"Custom Action: Apple Sign-In in FlutterFlow",{"alignment":1374},{"alignment":1151},{"id":1376,"data":1377,"type":1148,"tunes":1379},"4Xkl9RkwKi",{"text":1378},"Apple Sign-In introduces stricter privacy and data retention constraints, making backend-first handling even more critical.",{"alignment":1380},{"alignment":1151},{"id":1382,"data":1383,"type":1148,"tunes":1385},"goJPVxvUtj",{"text":1384},"If you are building for iOS, Apple Sign-In is mandatory in many cases, and mistakes here often surface only after apps are live in production.",{"alignment":1386},{"alignment":1151},{"id":1388,"data":1389,"type":1174,"tunes":1391},"j0JOHAVgno",{"text":1390,"level":40},"Apple-Specific Constraints You Must Handle",{"alignment":1392},{"alignment":1151},{"id":1394,"data":1395,"type":1206},"0Uzo1qxfp8",{"items":1396,"style":1205},[1397,1400,1403,1406],{"items":1398,"content":1399},[],"Email and name are returned only on the first sign-in",{"items":1401,"content":1402},[],"Data must be stored immediately",{"items":1404,"content":1405},[],"Tokens must be verified using Apple public keys",{"items":1407,"content":1408},[],"Authorization codes must be exchanged server-side",{"id":1410,"data":1411,"type":1148,"tunes":1413},"mBt9TiMa4y",{"text":1412},"These requirements are similar to other regulated identity flows, such as those used in fintech or enterprise platforms where identity data cannot be re-requested later.",{"alignment":1414},{"alignment":1151},{"id":1416,"data":1417,"type":1174,"tunes":1419},"bUAn-XZvEw",{"text":1418,"level":40},"Apple Sign-In Custom Action Code",{"alignment":1420},{"alignment":1151},{"id":1422,"data":1423,"type":1362},"upfrFkE3EV",{"code":1424},"Future\u003CAppleUserResponseStruct?> signInWithApple() async {\n  try {\n    debugPrint(\"Launching Apple Sign-In...\");\n    final appleCredential =\n        await SignInWithApple.getAppleIDCredential(\n      scopes: [\n        AppleIDAuthorizationScopes.email,\n        AppleIDAuthorizationScopes.fullName,\n      ],\n    ).timeout(\n      const Duration(seconds: 20),\n      onTimeout: () {\n        throw Exception(\"Apple Sign-In timed out.\");\n      },\n    );\n    return AppleUserResponseStruct(\n      idToken: appleCredential.identityToken ?? '',\n      accessToken: appleCredential.authorizationCode,\n      uid: appleCredential.userIdentifier ?? '',\n      name:\n          \"${appleCredential.givenName ?? ''} ${appleCredential.familyName ?? ''}\"\n              .trim(),\n      email: appleCredential.email ?? '',\n    );\n  } catch (e, st) {\n    debugPrint(\"Apple sign-in error: $e\");\n    debugPrintStack(stackTrace: st);\n    return null;\n  }\n}\n",{"id":1426,"data":1427,"type":1148,"tunes":1429},"FNq5pQoaB5",{"text":1428},"This design ensures your backend - not the client - controls identity persistence, which is critical when scaling Flutter apps into multi-tenant or enterprise systems.",{"alignment":1430},{"alignment":1151},{"id":1432,"data":1433,"type":1174,"tunes":1435},"rgTOU_o-2i",{"text":1434,"level":35},"FlutterFlow Action Setup (Clean &amp; Maintainable)",{"alignment":1436},{"alignment":1151},{"id":1438,"data":1439,"type":1148,"tunes":1441},"TdbUVQOBB_",{"text":1440},"FlutterFlow’s visual action builder works best when logic remains simple.",{"alignment":1442},{"alignment":1151},{"id":1444,"data":1445,"type":1148,"tunes":1447},"Paqx_mvbJk",{"text":1446},"The recommended pattern:",{"alignment":1448},{"alignment":1151},{"id":1450,"data":1451,"type":1206},"3JmugHs1ZO",{"items":1452,"style":1205},[1453],{"items":1454,"content":1455},[],"Custom Action → Validate Response → Backend API → Navigate",{"id":1457,"data":1458,"type":1148,"tunes":1460},"DevttdGP9L",{"text":1459},"This avoids fragmented auth logic and aligns with backend-driven application architecture best practices.",{"alignment":1461},{"alignment":1151},{"id":1463,"data":1464,"type":1174,"tunes":1466},"u1J3Wm1DLc",{"text":1465,"level":35},"Backend Responsibilities (Non-Negotiable)",{"alignment":1467},{"alignment":1151},{"id":1469,"data":1470,"type":1148,"tunes":1472},"HHvxmoPI00",{"text":1471},"Your backend must treat all incoming tokens as untrusted input until verified.",{"alignment":1473},{"alignment":1151},{"id":1475,"data":1476,"type":1148,"tunes":1478},"CzNZSlMvyI",{"text":1477},"At minimum, it must:",{"alignment":1479},{"alignment":1151},{"id":1481,"data":1482,"type":1206},"ZY8QFSdd4a",{"items":1483,"style":1205},[1484,1487,1490,1493,1496,1499],{"items":1485,"content":1486},[],"Verify Google ID tokens",{"items":1488,"content":1489},[],"Verify Apple identity tokens",{"items":1491,"content":1492},[],"Exchange Apple authorization codes",{"items":1494,"content":1495},[],"Normalize user identity",{"items":1497,"content":1498},[],"Issue backend-controlled sessions",{"items":1500,"content":1501},[],"Attach roles, flags, and permissions",{"id":1503,"data":1504,"type":1148,"tunes":1506},"vTjtuKHz9I",{"text":1505},"This same backend-first approach is foundational in custom software development for startups and enterprises, where long-term maintainability matters more than speed alone.",{"alignment":1507},{"alignment":1151},{"id":1509,"data":1510,"type":1174,"tunes":1512},"FJiV-sYYBm",{"text":1511,"level":35},"Why This Pattern Is Production-Ready",{"alignment":1513},{"alignment":1151},{"id":1515,"data":1516,"type":1148,"tunes":1518},"duRoM2UQd9",{"text":1517},"This architecture:",{"alignment":1519},{"alignment":1151},{"id":1521,"data":1522,"type":1206},"tD0XMr98Kk",{"items":1523,"style":1205},[1524,1527,1530,1533,1536],{"items":1525,"content":1526},[],"Removes Firebase lock-in",{"items":1528,"content":1529},[],"Scales across platforms",{"items":1531,"content":1532},[],"Centralizes security decisions",{"items":1534,"content":1535},[],"Keeps FlutterFlow logic simple",{"items":1537,"content":1538},[],"Enables future SSO providers",{"id":1540,"data":1541,"type":1148,"tunes":1543},"zgv1w_MgW_",{"text":1542},"It’s the same model used in mature SaaS products and enterprise ecosystems.",{"alignment":1544},{"alignment":1151},{"id":1546,"data":1547,"type":1174,"tunes":1549},"WWD--5mhRW",{"text":1548,"level":35},"Common Mistakes to Avoid",{"alignment":1550},{"alignment":1151},{"id":1552,"data":1553,"type":1206},"mdTBmQZizM",{"items":1554,"style":1205},[1555,1558,1561,1564,1567],{"items":1556,"content":1557},[],"Trusting Firebase UID without backend verification",{"items":1559,"content":1560},[],"Losing Apple email\u002Fname after first login",{"items":1562,"content":1563},[],"Accepting tokens without validation",{"items":1565,"content":1566},[],"Mixing FlutterFlow auth with parallel user models",{"items":1568,"content":1569},[],"Ignoring cancelled or null sign-in flows",{"id":1571,"data":1572,"type":1148,"tunes":1574},"37aWMueZ4P",{"text":1573},"Most of these mistakes only surface after launch - when fixing them is expensive.",{"alignment":1575},{"alignment":1151},{"id":1577,"data":1578,"type":1174,"tunes":1580},"efGBzIMDT-",{"text":1579,"level":35},"Final Thoughts",{"alignment":1581},{"alignment":1151},{"id":1583,"data":1584,"type":1148,"tunes":1586},"FI9L2-N3-F",{"text":1585},"FlutterFlow is excellent for accelerating UI and feature delivery, but authentication must remain backend-owned.",{"alignment":1587},{"alignment":1151},{"id":1589,"data":1590,"type":1148,"tunes":1592},"ycWVXSWtQz",{"text":1591},"By combining:",{"alignment":1593},{"alignment":1151},{"id":1595,"data":1596,"type":1206},"iY6rB3hIzU",{"items":1597,"style":1205},[1598,1601,1604,1607],{"items":1599,"content":1600},[],"FlutterFlow Custom Actions",{"items":1602,"content":1603},[],"Native OAuth flows",{"items":1605,"content":1606},[],"Backend token verification",{"items":1608,"content":1609},[],"Your own session layer",{"id":1611,"data":1612,"type":1148,"tunes":1614},"FHtt7lkjjv",{"text":1613},"You create an authentication system that is:",{"alignment":1615},{"alignment":1151},{"id":1617,"data":1618,"type":1206},"1aiMX4TUVQ",{"items":1619,"style":1205},[1620,1623,1626,1629],{"items":1621,"content":1622},[],"Secure",{"items":1624,"content":1625},[],"Scalable",{"items":1627,"content":1628},[],"Platform-agnostic",{"items":1630,"content":1631},[],"Production-ready",{"id":1633,"data":1634,"type":1148,"tunes":1636},"7REJs9TO35",{"text":1635},"This pattern is a strong default for any FlutterFlow application that integrates with a custom backend or enterprise architecture.",{"alignment":1637},{"alignment":1151},"2.28.2",{"title":1640,"id":1641,"component":1642},"Editor Renderer","b20b790f-9bf7-4fe4-a500-220d9752c67a",{"name":1643,"id":1644},"sections-blog-editor","8f082246-494c-41a1-b796-da33c0cc1e2e",{"collection":1646,"item":1647},"bg_sections_faqs",{"id":1648,"title":1649,"subtitle":62,"status":1650,"faqs":1651},"f8266ec3-846d-4dbd-9ac4-8fad64e1e0de","\u003Cp>FAQs\u003C\u002Fp>","draft",[1652,1664,1671,1678,1686],{"id":1653,"sort":15,"bg_sections_faqs_id":1654,"faq_cards_id":1660},67,{"title":1649,"subtitle":62,"id":1648,"status":1650,"faqs":1655},[1653,1656,1657,1658,1659],68,69,70,71,{"question":1661,"answer":1662,"id":1663},"\u003Cp>Does FlutterFlow support backend authentication with Google and Apple?\u003C\u002Fp>","\u003Cp>Yes, but not out of the box. FlutterFlow&rsquo;s built-in auth works only within Firebase. For backend verification, you must use Custom Actions to extract OAuth tokens and send them to your API.\u003C\u002Fp>","2542883c-017e-46d8-8188-12ceb732a07c",{"id":1656,"sort":35,"bg_sections_faqs_id":1665,"faq_cards_id":1667},{"title":1649,"subtitle":62,"id":1648,"status":1650,"faqs":1666},[1653,1656,1657,1658,1659],{"question":1668,"answer":1669,"id":1670},"\u003Cp>Why shouldn&rsquo;t I trust Firebase UID alone?\u003C\u002Fp>","\u003Cp>Firebase UID does not prove Google or Apple identity to your backend. Server-side token verification is required to prevent spoofing and unauthorized access.\u003C\u002Fp>","0d1c2a55-5b72-4bfb-a744-9d13c76ff9bc",{"id":1657,"sort":40,"bg_sections_faqs_id":1672,"faq_cards_id":1674},{"title":1649,"subtitle":62,"id":1648,"status":1650,"faqs":1673},[1653,1656,1657,1658,1659],{"question":1675,"answer":1676,"id":1677},"\u003Cp>What tokens should be sent to the backend?\u003C\u002Fp>","\u003Cp>Google: ID Token + Access Token\u003C\u002Fp>\n\u003Cp>Apple: identityToken + authorizationCode\u003C\u002Fp>\n\u003Cp>Your backend must verify these before creating a session.\u003C\u002Fp>","34d5dd50-508c-4921-96eb-7d1729bda370",{"id":1658,"sort":1679,"bg_sections_faqs_id":1680,"faq_cards_id":1682},4,{"title":1649,"subtitle":62,"id":1648,"status":1650,"faqs":1681},[1653,1656,1657,1658,1659],{"question":1683,"answer":1684,"id":1685},"\u003Cp>Can this work without Firebase?\u003C\u002Fp>","\u003Cp>Yes. Firebase is optional. This architecture supports fully custom authentication and works across Flutter, FlutterFlow, web, and other clients.\u003C\u002Fp>","d798d103-04d6-47b2-aef1-41f85abe8aec",{"id":1659,"sort":1687,"bg_sections_faqs_id":1688,"faq_cards_id":1690},5,{"title":1649,"subtitle":62,"id":1648,"status":1650,"faqs":1689},[1653,1656,1657,1658,1659],{"question":1691,"answer":1692,"id":1693},"\u003Cp>Is this approach enterprise-ready?\u003C\u002Fp>","\u003Cp>Yes. This is the standard backend-first authentication model used in SaaS, fintech, and regulated systems.\u003C\u002Fp>","6ca44f0f-7d18-40b9-80b5-91dc84b8fef5",{"first_name":1695,"last_name":1696,"id":1697,"email":1698,"facebook_url":62,"description":1699,"x_url":62,"linkedin_url":1700,"instagram_url":62,"title":62,"slug":1701,"avatar":1702},"Nikunj","Panchal","044ec75f-09fc-492e-b662-918a6b2a9f9d","nikunj.p@7span.com","Nikunj Panchal is a Flutter expert who builds mobile apps that are fast, smooth, and user-friendly. With a strong focus on performance and clean design, Nikunj turns ideas into high-quality apps using the power of Flutter. He's always exploring new ways to create better mobile experiences.","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fnikunj-panchal-","nikunj-panchal",{"id":1703,"filename_disk":1704},"e2eb48df-870d-4954-bf3b-8df252ab084b","e2eb48df-870d-4954-bf3b-8df252ab084b.jpeg",{"id":1134,"filename_disk":1135},{"name":1707,"_100":1708,"_200":1709,"_300":1710,"_400":1711,"_500":1712,"_700":1713,"_600":1714,"_900":1715,"_800":1716,"id":1717,"status":8},"Tailwind Blue","#DBEAFE","#BFDBFE","#93C5FD","#60A5FA","#3B82F6","#1D4ED8","#2563EB","#1E3A8A","#1E40AF","3044c22b-a80a-4c77-a039-31288447e8eb",[1719,1734,1746],{"id":1720,"title":1721,"slug":1722,"date_published":1723,"tags":1724,"cover":1727,"author":1730},"7cdd8b05-b276-4994-8b24-e24c0b5a5969","Building Scalable iOS Apps for Millions of Users","scalable-ios-app-development","2026-05-13",[1725],{"bg_tags_id":1726},{"label":436,"slug":1126},{"id":1728,"filename_disk":1729},"a0beef88-7f40-4785-986d-545f53ebdbfc","a0beef88-7f40-4785-986d-545f53ebdbfc.webp",{"first_name":1731,"last_name":1732,"slug":1733},"Jaydip","Jadav","jaydip-jadav",{"id":1735,"title":1736,"slug":1737,"date_published":1738,"tags":1739,"cover":1742,"author":1745},"61c5fafa-f474-4335-9bd9-16011afcaeef","API Integration in Expo: Best Practices That Power Scalable Mobile Apps","expo-api-integration-best-practices","2026-05-11",[1740],{"bg_tags_id":1741},{"label":436,"slug":1126},{"id":1743,"filename_disk":1744},"b29395eb-2a86-4747-be62-2bc9e28d5912","b29395eb-2a86-4747-be62-2bc9e28d5912.webp",{"first_name":1731,"last_name":1732,"slug":1733},{"id":1747,"title":1748,"slug":1749,"date_published":1750,"tags":1751,"cover":1758,"author":1761},"6419baae-0fad-4b6e-a55f-b4d82494bc1a","How to Build a Real Estate App Like Zillow","how-to-build-real-estate-app-like-zillow","2026-03-09",[1752,1754],{"bg_tags_id":1753},{"label":436,"slug":1126},{"bg_tags_id":1755},{"label":1756,"slug":1757},"Business","business",{"id":1759,"filename_disk":1760},"fca6430a-f68d-4d12-baa4-28c2245e814d","fca6430a-f68d-4d12-baa4-28c2245e814d.webp",{"first_name":1762,"last_name":1763,"slug":1764},"Pratik","Butani","pratik-butani"]