[{"data":1,"prerenderedAt":1943},["ShallowReactive",2],{"navigation":3,"/blog/software-development/a-look-at-bravelab-ios-clutch-2021-year-in-review-post":734,"/blog/software-development/a-look-at-bravelab-ios-clutch-2021-year-in-review-surround":869,"/blog/software-development/a-look-at-bravelab-ios-clutch-2021-year-in-review-related":874},[4,70,207,312,721],{"title":5,"path":6,"stem":7,"children":8,"page":69},"Case Study","/blog/case-study","blog/case-study",[9,13,17,21,25,29,33,37,41,45,49,53,57,61,65],{"title":10,"path":11,"stem":12},"Ambistream – Multi-Layer Streaming Platform","/blog/case-study/ambistream-building-a-multi-layer-streaming-platform-from-a-spark-of-an-idea","blog/case-study/ambistream-building-a-multi-layer-streaming-platform-from-a-spark-of-an-idea",{"title":14,"path":15,"stem":16},"Custom Chromecast & AirPlay Casting App","/blog/case-study/chromecast-airplay-casting-app-case-study","blog/case-study/chromecast-airplay-casting-app-case-study",{"title":18,"path":19,"stem":20},"Direct Music Licensing Platform Case Study","/blog/case-study/dlm-music-catalog-case-study","blog/case-study/dlm-music-catalog-case-study",{"title":22,"path":23,"stem":24},"Assembly Instructions App - Galeco Mobile App","/blog/case-study/galeco-mobile-app-case-study","blog/case-study/galeco-mobile-app-case-study",{"title":26,"path":27,"stem":28},"MemoSonic: Building an Audio Memory Game","/blog/case-study/how-we-built-memosonic-accessible-audio-memory-game-flutter","blog/case-study/how-we-built-memosonic-accessible-audio-memory-game-flutter",{"title":30,"path":31,"stem":32},"Loyalty Program App for Shopping Mall","/blog/case-study/loyalty-program-application-case-study","blog/case-study/loyalty-program-application-case-study",{"title":34,"path":35,"stem":36},"Mobile Application for Music Catalogs","/blog/case-study/mobile-app-for-music-catalog","blog/case-study/mobile-app-for-music-catalog",{"title":38,"path":39,"stem":40},"Universal Music Data Parser for 20+ Platforms","/blog/case-study/musicdata-lab-universal-music-data-parser-case-study","blog/case-study/musicdata-lab-universal-music-data-parser-case-study",{"title":42,"path":43,"stem":44},"Panther ML/AI Pricing Recommendation Tool","/blog/case-study/panther-pricing-recommendation-tool-case-study","blog/case-study/panther-pricing-recommendation-tool-case-study",{"title":46,"path":47,"stem":48},"4D Grupa Roofing Wholesalers Platform","/blog/case-study/roofing-wholesalers-website-case-study","blog/case-study/roofing-wholesalers-website-case-study",{"title":50,"path":51,"stem":52},"Talent Alpha HR Frontend Platform","/blog/case-study/talent-alpha-hr-platform-case-study","blog/case-study/talent-alpha-hr-platform-case-study",{"title":54,"path":55,"stem":56},"Ticketing & Events Platform Development","/blog/case-study/ticketing-events-platform-case-study","blog/case-study/ticketing-events-platform-case-study",{"title":58,"path":59,"stem":60},"Turn Fans into Superfans — Roadie.co","/blog/case-study/turn-fans-into-superfans-roadie-co","blog/case-study/turn-fans-into-superfans-roadie-co",{"title":62,"path":63,"stem":64},"Walkative 2.0 Global Booking Engine","/blog/case-study/walkative-2-booking-platform-case-study","blog/case-study/walkative-2-booking-platform-case-study",{"title":66,"path":67,"stem":68},"Why Merch Is the New Royalty Check, and How Tech Is Closing the Gap","/blog/case-study/why-merch-is-the-new-royalty-check","blog/case-study/why-merch-is-the-new-royalty-check",false,{"title":71,"path":72,"stem":73,"children":74,"page":69},"Music Data","/blog/music-data","blog/music-data",[75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203],{"title":76,"path":77,"stem":78},"13 Distributors, 5 File Formats, Zero Standards -The Reality of Music Royalty Data","/blog/music-data/13-distributors-5-file-formats-zero-standards-the-reality-of-music-royalty-data","blog/music-data/13-distributors-5-file-formats-zero-standards-the-reality-of-music-royalty-data",{"title":80,"path":81,"stem":82},"830 Ways to Say Spotify - Normalizing Music Streaming Data","/blog/music-data/830-ways-to-say-spotify-normalizing-music-streaming-data","blog/music-data/830-ways-to-say-spotify-normalizing-music-streaming-data",{"title":84,"path":85,"stem":86},"Why Music Companies Need AI-Powered Analytics (And How We Built One)","/blog/music-data/ai-powered-analytics-dashboard-django-clickhouse-ollama","blog/music-data/ai-powered-analytics-dashboard-django-clickhouse-ollama",{"title":88,"path":89,"stem":90},"AI Rehearsal: Spaced Repetition for Your Musical Ideas","/blog/music-data/ai-rehearsal-spaced-repetition-for-musical-ideas","blog/music-data/ai-rehearsal-spaced-repetition-for-musical-ideas",{"title":92,"path":93,"stem":94},"Audio Project Organization Is a Mess — Here's Why","/blog/music-data/audio-project-organization-mess","blog/music-data/audio-project-organization-mess",{"title":96,"path":97,"stem":98},"Why Audio Search Is Still Broken and How to Fix It with Embeddings","/blog/music-data/audio-search-broken-fix-with-embeddings","blog/music-data/audio-search-broken-fix-with-embeddings",{"title":100,"path":101,"stem":102},"AI Song Structure Analysis: Intro, Verse, Chorus","/blog/music-data/automatic-song-structure-analysis-how-ai-detects-intro-verse-chorus","blog/music-data/automatic-song-structure-analysis-how-ai-detects-intro-verse-chorus",{"title":104,"path":105,"stem":106},"The Broken Feedback Loop in Music Collaboration","/blog/music-data/broken-feedback-loop-music-collaboration","blog/music-data/broken-feedback-loop-music-collaboration",{"title":108,"path":109,"stem":110},"Building a Claude Skill for DDEX Validation: Automate Music Metadata Checks with AI","/blog/music-data/building-a-claude-skill-for-ddex-validation-music-metadata","blog/music-data/building-a-claude-skill-for-ddex-validation-music-metadata",{"title":112,"path":113,"stem":114},"Building a Custom Music Delivery Platform on the Revelator API","/blog/music-data/building-a-custom-music-delivery-platform-on-the-revelator-api","blog/music-data/building-a-custom-music-delivery-platform-on-the-revelator-api",{"title":116,"path":117,"stem":118},"Building a Suno AI Remix App with Nuxt & Firebase","/blog/music-data/building-a-suno-remix-app-with-nuxt-and-firebase","blog/music-data/building-a-suno-remix-app-with-nuxt-and-firebase",{"title":120,"path":121,"stem":122},"C2PA & DDEX: Authenticity Meets Rights in the Age of AI Music","/blog/music-data/c2pa-and-ddex-authenticity-meets-rights-in-the-age-of-ai-music","blog/music-data/c2pa-and-ddex-authenticity-meets-rights-in-the-age-of-ai-music",{"title":124,"path":125,"stem":126},"C2PA in Music: A Claude MCP for Reading Content Provenance","/blog/music-data/c2pa-in-music-mcp","blog/music-data/c2pa-in-music-mcp",{"title":128,"path":129,"stem":130},"Data Modeling in MongoDB Using Design Patterns","/blog/music-data/data-modeling-in-mongodb-with-the-usage-of-design-patterns","blog/music-data/data-modeling-in-mongodb-with-the-usage-of-design-patterns",{"title":132,"path":133,"stem":134},"Office Hours with MusicTech Lab's DDEX Expert","/blog/music-data/ddex-office-hours-musictech","blog/music-data/ddex-office-hours-musictech",{"title":136,"path":137,"stem":138},"DDEX Open Source Projects Review","/blog/music-data/ddex-open-source-projects-review","blog/music-data/ddex-open-source-projects-review",{"title":140,"path":141,"stem":142},"Extracting Data from Ableton .als and .asd Files","/blog/music-data/extracting-data-from-ableton-als-asd-files","blog/music-data/extracting-data-from-ableton-als-asd-files",{"title":144,"path":145,"stem":146},"Maciej Dulski on Sound Connections Podcast","/blog/music-data/from-startups-to-musictech-maciej-dulski-on-sound-connections-podcast","blog/music-data/from-startups-to-musictech-maciej-dulski-on-sound-connections-podcast",{"title":148,"path":149,"stem":150},"How to Transcribe Video to Text Using OpenAI Whisper","/blog/music-data/how-to-transcribe-video-to-text-using-whisper","blog/music-data/how-to-transcribe-video-to-text-using-whisper",{"title":152,"path":153,"stem":154},"Epidemic Sound MCP with Claude for Devs","/blog/music-data/how-to-use-epidemic-sound-mcp-with-claude","blog/music-data/how-to-use-epidemic-sound-mcp-with-claude",{"title":156,"path":157,"stem":158},"Hybrid Database Model in Django for Speed","/blog/music-data/hybrid-database-model-in-django-as-a-performance-booster","blog/music-data/hybrid-database-model-in-django-as-a-performance-booster",{"title":160,"path":161,"stem":162},"Introduction to generating DDEX file using Python","/blog/music-data/introduction-to-generating-ddex-file-using-python","blog/music-data/introduction-to-generating-ddex-file-using-python",{"title":164,"path":165,"stem":166},"Maintaining Music Tech Tools: The SLA Dilemma for Small Teams","/blog/music-data/maintaining-music-tech-tools-the-sla-dilemma-for-small-teams","blog/music-data/maintaining-music-tech-tools-the-sla-dilemma-for-small-teams",{"title":168,"path":169,"stem":170},"Querying Bandcamp Revenue Reports with Natural Language — Meet mtl-bandcamp-mcp","/blog/music-data/mtl-bandcamp-mcp-open-source-revenue-dashboard","blog/music-data/mtl-bandcamp-mcp-open-source-revenue-dashboard",{"title":172,"path":173,"stem":174},"mtl-metadata-mcp: Open Source Audio Metadata Embedding for Claude Code","/blog/music-data/mtl-metadata-mcp-open-source-audio-metadata-embedding","blog/music-data/mtl-metadata-mcp-open-source-audio-metadata-embedding",{"title":176,"path":177,"stem":178},"MusicTech Resources for Builders","/blog/music-data/musictech-resources-curated-insights-for-the-musictech-builders","blog/music-data/musictech-resources-curated-insights-for-the-musictech-builders",{"title":180,"path":181,"stem":182},"Poland's Creative Tech and MusicTech Rise","/blog/music-data/polands-creative-tech-sector-is-on-the-rise-and-musictech-is-part-of-it","blog/music-data/polands-creative-tech-sector-is-on-the-rise-and-musictech-is-part-of-it",{"title":184,"path":185,"stem":186},"Batch ISRC Enrichment That Turns Messy Catalogs Into Clean Data","/blog/music-data/scout-isrc-metadata-enrichment-spotify-musicbrainz","blog/music-data/scout-isrc-metadata-enrichment-spotify-musicbrainz",{"title":188,"path":189,"stem":190},"Music Self-Publishing: The Emuze.me Story","/blog/music-data/self-publishing-in-the-music-industry-a-tale-of-emuze-me","blog/music-data/self-publishing-in-the-music-industry-a-tale-of-emuze-me",{"title":192,"path":193,"stem":194},"Understanding the API First Approach","/blog/music-data/understanding-the-api-first-approach","blog/music-data/understanding-the-api-first-approach",{"title":196,"path":197,"stem":198},"The Voice Memo Graveyard Problem","/blog/music-data/voice-memo-graveyard-problem","blog/music-data/voice-memo-graveyard-problem",{"title":200,"path":201,"stem":202},"Which Database for Music Data? Redshift vs BigQuery vs ClickHouse and When to Use Each","/blog/music-data/which-database-for-music-data-redshift-vs-bigquery-vs-clickhouse","blog/music-data/which-database-for-music-data-redshift-vs-bigquery-vs-clickhouse",{"title":204,"path":205,"stem":206},"Why we decided to use wavesurfer.js","/blog/music-data/why-we-decided-to-use-wavesurfer","blog/music-data/why-we-decided-to-use-wavesurfer",{"title":208,"path":209,"stem":210,"children":211,"page":69},"Newsletter","/blog/newsletter","blog/newsletter",[212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308],{"title":213,"path":214,"stem":215},"Music Industry Tech Openings (April 2024 Update)","/blog/newsletter/music-industry-tech-openings-april-2024-update","blog/newsletter/music-industry-tech-openings-april-2024-update",{"title":217,"path":218,"stem":219},"Music Industry Tech Openings (April 2025 Update)","/blog/newsletter/music-industry-tech-openings-april-2025-update","blog/newsletter/music-industry-tech-openings-april-2025-update",{"title":221,"path":222,"stem":223},"Music Industry Tech Openings (August 2024 Update)","/blog/newsletter/music-industry-tech-openings-august-2024-update","blog/newsletter/music-industry-tech-openings-august-2024-update",{"title":225,"path":226,"stem":227},"Music Industry Tech Openings (December 2024 Update)","/blog/newsletter/music-industry-tech-openings-december-2024-update","blog/newsletter/music-industry-tech-openings-december-2024-update",{"title":229,"path":230,"stem":231},"Music Industry Tech Openings (February 2025 Update)","/blog/newsletter/music-industry-tech-openings-february-2025-update","blog/newsletter/music-industry-tech-openings-february-2025-update",{"title":233,"path":234,"stem":235},"Music Industry Tech Openings (January 2025 Update)","/blog/newsletter/music-industry-tech-openings-january-2025-update","blog/newsletter/music-industry-tech-openings-january-2025-update",{"title":237,"path":238,"stem":239},"Music Industry Tech Openings (July 2024 Update)","/blog/newsletter/music-industry-tech-openings-july-2024-update","blog/newsletter/music-industry-tech-openings-july-2024-update",{"title":241,"path":242,"stem":243},"Music Industry Tech Openings (June 2024 Update)","/blog/newsletter/music-industry-tech-openings-june-2024-update","blog/newsletter/music-industry-tech-openings-june-2024-update",{"title":245,"path":246,"stem":247},"Music Industry Tech Openings (March 2025 Update)","/blog/newsletter/music-industry-tech-openings-march-2025-update","blog/newsletter/music-industry-tech-openings-march-2025-update",{"title":249,"path":250,"stem":251},"Music Industry Tech Openings (May 2024 Update)","/blog/newsletter/music-industry-tech-openings-may-2024-update","blog/newsletter/music-industry-tech-openings-may-2024-update",{"title":253,"path":254,"stem":255},"Music Industry Tech Openings (May 2025 Update)","/blog/newsletter/music-industry-tech-openings-may-2025","blog/newsletter/music-industry-tech-openings-may-2025",{"title":257,"path":258,"stem":259},"Music Industry Tech Openings (November 2024 Update)","/blog/newsletter/music-industry-tech-openings-november-2024-update","blog/newsletter/music-industry-tech-openings-november-2024-update",{"title":261,"path":262,"stem":263},"Music Industry Tech Openings (October 2024 Update)","/blog/newsletter/music-industry-tech-openings-october-2024-update","blog/newsletter/music-industry-tech-openings-october-2024-update",{"title":265,"path":266,"stem":267},"Music Industry Tech Openings (September 2024 Update)","/blog/newsletter/music-industry-tech-openings-september-2024-update","blog/newsletter/music-industry-tech-openings-september-2024-update",{"title":269,"path":270,"stem":271},"MusicTech Insights #1 by Maciej Dulski","/blog/newsletter/musictech-insights-1-curated-by-maciej-dulski","blog/newsletter/musictech-insights-1-curated-by-maciej-dulski",{"title":273,"path":274,"stem":275},"Provenance, Not Detection, Is the Durable Answer","/blog/newsletter/musictech-insights-10-curated-by-jim-anderson","blog/newsletter/musictech-insights-10-curated-by-jim-anderson",{"title":277,"path":278,"stem":279},"What CMOs can teach us about innovation in uncertain times","/blog/newsletter/musictech-insights-10-curated-by-joanna-kurkowska","blog/newsletter/musictech-insights-10-curated-by-joanna-kurkowska",{"title":281,"path":282,"stem":283},"Feeling the MusicTech Momentum","/blog/newsletter/musictech-insights-2-curated-by-maciej-dulski","blog/newsletter/musictech-insights-2-curated-by-maciej-dulski",{"title":285,"path":286,"stem":287},"AI in Music: Hype, Hope, and a Human Touch","/blog/newsletter/musictech-insights-3-curated-by-drew-thurlow","blog/newsletter/musictech-insights-3-curated-by-drew-thurlow",{"title":289,"path":290,"stem":291},"The Music Metadata Conundrum","/blog/newsletter/musictech-insights-4-curated-by-amanda-schupf","blog/newsletter/musictech-insights-4-curated-by-amanda-schupf",{"title":293,"path":294,"stem":295},"7 Rounds in the First 10 Days of November 2025","/blog/newsletter/musictech-insights-5-curated-by-maciej-dulski","blog/newsletter/musictech-insights-5-curated-by-maciej-dulski",{"title":297,"path":298,"stem":299},"The End of an Era: It's All About to Crash","/blog/newsletter/musictech-insights-6-curated-by-sigurdur-arnason","blog/newsletter/musictech-insights-6-curated-by-sigurdur-arnason",{"title":301,"path":302,"stem":303},"Low-Code Magic Won't Solve MusicTech Reality","/blog/newsletter/musictech-insights-7-curated-by-mariusz-smenzyk","blog/newsletter/musictech-insights-7-curated-by-mariusz-smenzyk",{"title":305,"path":306,"stem":307},"The New Economics of Game Music","/blog/newsletter/musictech-insights-8-curated-by-kenny-vaughan","blog/newsletter/musictech-insights-8-curated-by-kenny-vaughan",{"title":309,"path":310,"stem":311},"Music Business Meets Direct-to-Fan","/blog/newsletter/musictech-insights-9-curated-by-yaw-asamani","blog/newsletter/musictech-insights-9-curated-by-yaw-asamani",{"title":313,"path":314,"stem":315,"children":316,"page":69},"Software Development","/blog/software-development","blog/software-development",[317,321,325,329,333,337,341,345,349,353,357,361,365,369,373,377,381,385,389,393,397,401,405,409,413,417,421,425,429,433,437,441,445,449,453,457,461,465,469,473,477,481,485,489,493,497,501,505,509,513,517,521,525,529,533,537,541,545,549,553,557,561,565,569,573,577,581,585,589,593,597,601,605,609,613,617,621,625,629,633,637,641,645,649,653,657,661,665,669,673,677,681,685,689,693,697,701,705,709,713,717],{"title":318,"path":319,"stem":320},"Benefits of Outsourcing Software Development","/blog/software-development/10-benefits-of-outsourcing-software-development-services","blog/software-development/10-benefits-of-outsourcing-software-development-services",{"title":322,"path":323,"stem":324},"10 Steps to Find the Best MVP Developers","/blog/software-development/10-steps-to-find-the-best-mvp-developers-for-your-startup-idea","blog/software-development/10-steps-to-find-the-best-mvp-developers-for-your-startup-idea",{"title":326,"path":327,"stem":328},"1,200 Looms Later: How Async Video Became My Development Superpower","/blog/software-development/1200-looms-how-async-video-became-our-development-superpower","blog/software-development/1200-looms-how-async-video-became-our-development-superpower",{"title":330,"path":331,"stem":332},"Communication Strategy in Outsourcing Projects","/blog/software-development/5-steps-to-implement-an-effective-communication-strategy-in-outsourcing-software-development-project","blog/software-development/5-steps-to-implement-an-effective-communication-strategy-in-outsourcing-software-development-project",{"title":334,"path":335,"stem":336},"7 Best Practices for Outsourcing Software Development","/blog/software-development/7-best-practices-for-outsourcing-software-development","blog/software-development/7-best-practices-for-outsourcing-software-development",{"title":338,"path":339,"stem":340},"9 Reasons Why Saleor.io Is Best for eCommerce","/blog/software-development/9-reasons-why-the-saleor-io-platform-is-the-best-choice-for-your-ecommerce-website","blog/software-development/9-reasons-why-the-saleor-io-platform-is-the-best-choice-for-your-ecommerce-website",{"title":342,"path":343,"stem":344},"A Look at Bravelab.io’s Clutch 2021 Year In Review","/blog/software-development/a-look-at-bravelab-ios-clutch-2021-year-in-review","blog/software-development/a-look-at-bravelab-ios-clutch-2021-year-in-review",{"title":346,"path":347,"stem":348},"A quick introduction to profit sharing implementation","/blog/software-development/a-quick-introduction-to-profit-sharing-implementation","blog/software-development/a-quick-introduction-to-profit-sharing-implementation",{"title":350,"path":351,"stem":352},"AI Audio Similarity Search: The Future of Sound Library Discovery","/blog/software-development/ai-audio-similarity-search-for-sound-libraries","blog/software-development/ai-audio-similarity-search-for-sound-libraries",{"title":354,"path":355,"stem":356},"Automate Repetitive Tasks for Better Results","/blog/software-development/automate-repetitive-tasks-to-improve-your-business-performance","blog/software-development/automate-repetitive-tasks-to-improve-your-business-performance",{"title":358,"path":359,"stem":360},"Automating Success: The Art of Unified Documentation","/blog/software-development/automating-success-the-art-of-unified-documentation","blog/software-development/automating-success-the-art-of-unified-documentation",{"title":362,"path":363,"stem":364},"Brave 3.0 Website Redesign, Part 2: Solution","/blog/software-development/brave-3-0-how-we-conducted-website-redesign-part-2-solution","blog/software-development/brave-3-0-how-we-conducted-website-redesign-part-2-solution",{"title":366,"path":367,"stem":368},"Brave 3.0, Part 4: Tech Stack and Recap","/blog/software-development/brave-3-0-part-4-technologies-behind-and-final-series-recap","blog/software-development/brave-3-0-part-4-technologies-behind-and-final-series-recap",{"title":370,"path":371,"stem":372},"Brave 3.0 – redesign process part 1. The Challenge","/blog/software-development/brave-3-0-redesign-process-part-1-challenge","blog/software-development/brave-3-0-redesign-process-part-1-challenge",{"title":374,"path":375,"stem":376},"Brave 3.0 – redesign process, part 3. Lesson learned","/blog/software-development/brave-3-0-redesign-process-part-3-lesson-learned","blog/software-development/brave-3-0-redesign-process-part-3-lesson-learned",{"title":378,"path":379,"stem":380},"Bravelab.io: Top Software Developer by Clutch","/blog/software-development/bravelab-io-is-recognized-as-a-top-custom-software-developer-by-clutch","blog/software-development/bravelab-io-is-recognized-as-a-top-custom-software-developer-by-clutch",{"title":382,"path":383,"stem":384},"Bravelab.io: Top Developer in Poland by Clutch","/blog/software-development/bravelab-io-named-top-software-developer-in-poland-by-clutch","blog/software-development/bravelab-io-named-top-software-developer-in-poland-by-clutch",{"title":386,"path":387,"stem":388},"MusicTech Lab Partners with LALAL.AI","/blog/software-development/bravelab-partners-with-the-audio-lalal-ai","blog/software-development/bravelab-partners-with-the-audio-lalal-ai",{"title":390,"path":391,"stem":392},"MusicTech Lab Partners with The Audio Programmer","/blog/software-development/bravelab-partners-with-the-audio-programmer","blog/software-development/bravelab-partners-with-the-audio-programmer",{"title":394,"path":395,"stem":396},"Bravelab's team about productivity","/blog/software-development/bravelabs-team-about-productivity","blog/software-development/bravelabs-team-about-productivity",{"title":398,"path":399,"stem":400},"Braveloper","/blog/software-development/braveloper","blog/software-development/braveloper",{"title":402,"path":403,"stem":404},"Bravely App: Boost Productivity with Django","/blog/software-development/bravely-app-how-to-be-more-productive-with-django-quick","blog/software-development/bravely-app-how-to-be-more-productive-with-django-quick",{"title":406,"path":407,"stem":408},"DIY MIDI Controller for Ableton with Arduino","/blog/software-development/building-a-diy-midi-controller-for-ableton-live-with-arduino","blog/software-development/building-a-diy-midi-controller-for-ableton-live-with-arduino",{"title":410,"path":411,"stem":412},"C2PA in Ableton: Making AI Music Provenance Visible Inside Your DAW","/blog/software-development/c2pa-in-ableton-max-for-live","blog/software-development/c2pa-in-ableton-max-for-live",{"title":414,"path":415,"stem":416},"Change Detection mechanism in Angular","/blog/software-development/change-detection-mechanism-in-angular","blog/software-development/change-detection-mechanism-in-angular",{"title":418,"path":419,"stem":420},"Communication Channels in Remote Work","/blog/software-development/comparison-of-the-communication-channels-in-remote-work","blog/software-development/comparison-of-the-communication-channels-in-remote-work",{"title":422,"path":423,"stem":424},"Connecting Your Max for Live Device to a Cloud API","/blog/software-development/connecting-your-max-for-live-device-to-a-cloud-api","blog/software-development/connecting-your-max-for-live-device-to-a-cloud-api",{"title":426,"path":427,"stem":428},"From Voice Memo to Studio: The Cross-Platform Problem for Creators","/blog/software-development/cross-platform-problem-for-creators","blog/software-development/cross-platform-problem-for-creators",{"title":430,"path":431,"stem":432},"Cultural transformation through the pandemic era","/blog/software-development/cultural-transformation-through-the-pandemic-era","blog/software-development/cultural-transformation-through-the-pandemic-era",{"title":434,"path":435,"stem":436},"D-Commerce Decoded: Cutting Through the Hype","/blog/software-development/d-commerce-decoded-cutting-through-the-hype","blog/software-development/d-commerce-decoded-cutting-through-the-hype",{"title":438,"path":439,"stem":440},"Dev Meeting 002: Intro to DDD","/blog/software-development/dev-meeting-002-introduction-to-domain-driven-design-ddd","blog/software-development/dev-meeting-002-introduction-to-domain-driven-design-ddd",{"title":442,"path":443,"stem":444},"Dev Meeting 003: Web3 Primer","/blog/software-development/dev-meeting-003-web3-primer","blog/software-development/dev-meeting-003-web3-primer",{"title":446,"path":447,"stem":448},"Dev Meeting 004: Introduction to Event Storming","/blog/software-development/dev-meeting-004-introduction-to-event-storming","blog/software-development/dev-meeting-004-introduction-to-event-storming",{"title":450,"path":451,"stem":452},"Dev Meeting 001: Kubernetes is a Framework","/blog/software-development/dev-meeting-kubernetes-is-a-framework","blog/software-development/dev-meeting-kubernetes-is-a-framework",{"title":454,"path":455,"stem":456},"Did You Know? 10 Developer Tips from Real Codebases","/blog/software-development/did-you-know-dev-tips-part-1","blog/software-development/did-you-know-dev-tips-part-1",{"title":458,"path":459,"stem":460},"10 Surprising MusicTech Facts (Part 2)","/blog/software-development/did-you-know-musictech-facts-part-2","blog/software-development/did-you-know-musictech-facts-part-2",{"title":462,"path":463,"stem":464},"Django-cms and GraphQL","/blog/software-development/django-cms-and-graphql","blog/software-development/django-cms-and-graphql",{"title":466,"path":467,"stem":468},"Does Zappa make it super easy?","/blog/software-development/does-zappa-make-it-super-easy","blog/software-development/does-zappa-make-it-super-easy",{"title":470,"path":471,"stem":472},"Establishing cooperation between Netlify and Bravelab","/blog/software-development/establishing-cooperation-between-netlify-and-bravelab","blog/software-development/establishing-cooperation-between-netlify-and-bravelab",{"title":474,"path":475,"stem":476},"Export Ableton Locators to JSON via Max for Live","/blog/software-development/exporting-ableton-live-locators-to-json-with-max-for-live","blog/software-development/exporting-ableton-live-locators-to-json-with-max-for-live",{"title":478,"path":479,"stem":480},"IT Outsourcing: Success and Failure Factors","/blog/software-development/factors-that-contribute-to-the-success-or-failure-of-an-it-outsourcing-project","blog/software-development/factors-that-contribute-to-the-success-or-failure-of-an-it-outsourcing-project",{"title":482,"path":483,"stem":484},"Flutter 2022 Strategy: Analyzing the Roadmap","/blog/software-development/flutter-strategy-for-2022-analyzing-the-new-flutter-roadmap","blog/software-development/flutter-strategy-for-2022-analyzing-the-new-flutter-roadmap",{"title":486,"path":487,"stem":488},"Git Better #1 — Commit Message Convention","/blog/software-development/git-better-1-see-more-with-a-commit-message-convention","blog/software-development/git-better-1-see-more-with-a-commit-message-convention",{"title":490,"path":491,"stem":492},"Hasura in action. How to use it with Django","/blog/software-development/hasura-in-action","blog/software-development/hasura-in-action",{"title":494,"path":495,"stem":496},"Holacracy why and where we are","/blog/software-development/holacracy-why-and-where-we-are","blog/software-development/holacracy-why-and-where-we-are",{"title":498,"path":499,"stem":500},"How does JavaScript work","/blog/software-development/how-does-javascript-work","blog/software-development/how-does-javascript-work",{"title":502,"path":503,"stem":504},"How important is good UX/UI design?","/blog/software-development/how-important-is-good-ux-ui-design","blog/software-development/how-important-is-good-ux-ui-design",{"title":506,"path":507,"stem":508},"How repetitive tasks impact your business","/blog/software-development/how-repetitive-tasks-impact-your-business","blog/software-development/how-repetitive-tasks-impact-your-business",{"title":510,"path":511,"stem":512},"Becoming a Vue.js Dev: Do Paid Trials Work?","/blog/software-development/how-to-become-a-vue-js-developer-and-whether-paid-trials-in-it-work-out","blog/software-development/how-to-become-a-vue-js-developer-and-whether-paid-trials-in-it-work-out",{"title":514,"path":515,"stem":516},"How to Build an MVP in 6 Steps","/blog/software-development/how-to-build-a-minimum-viable-product-mvp-in-6-steps","blog/software-development/how-to-build-a-minimum-viable-product-mvp-in-6-steps",{"title":518,"path":519,"stem":520},"How to conduct workshops for creative industry?","/blog/software-development/how-to-conduct-workshops-for-creative-industry","blog/software-development/how-to-conduct-workshops-for-creative-industry",{"title":522,"path":523,"stem":524},"How to easily create form in Angular","/blog/software-development/how-to-easily-create-form-in-angular","blog/software-development/how-to-easily-create-form-in-angular",{"title":526,"path":527,"stem":528},"How to export orders in Saleor.io to XLSX file","/blog/software-development/how-to-export-orders-in-saleor-io-to-xlsx-file","blog/software-development/how-to-export-orders-in-saleor-io-to-xlsx-file",{"title":530,"path":531,"stem":532},"Handling High Loads on E-Commerce Platforms","/blog/software-development/how-to-handle-high-loads-on-e-commerce-platform-with-ease","blog/software-development/how-to-handle-high-loads-on-e-commerce-platform-with-ease",{"title":534,"path":535,"stem":536},"How to launch Saleor.io shop instance within 40h","/blog/software-development/how-to-launch-saleor-io-shop-instance-within-40h","blog/software-development/how-to-launch-saleor-io-shop-instance-within-40h",{"title":538,"path":539,"stem":540},"First Steps to Build a Business Relationship","/blog/software-development/how-to-make-the-first-step-to-establish-a-business-relationship","blog/software-development/how-to-make-the-first-step-to-establish-a-business-relationship",{"title":542,"path":543,"stem":544},"Multi-Tenant Apps with Django and Saleor.io","/blog/software-development/how-to-manage-tenants-in-the-multitenant-app-based-on-django-tenants-and-saleor-io-platform","blog/software-development/how-to-manage-tenants-in-the-multitenant-app-based-on-django-tenants-and-saleor-io-platform",{"title":546,"path":547,"stem":548},"Notion Backup Tool Built in 3 Days with Python","/blog/software-development/how-we-built-a-notion-backup-tool-in-3-days-with-pythonvue-and-why","blog/software-development/how-we-built-a-notion-backup-tool-in-3-days-with-pythonvue-and-why",{"title":550,"path":551,"stem":552},"Important new features in Python 3.8","/blog/software-development/important-new-features-in-python-3-8","blog/software-development/important-new-features-in-python-3-8",{"title":554,"path":555,"stem":556},"Installing Proxmox on dedicated server from OVH","/blog/software-development/installing-proxmox-on-dedicated-server-from-ovh","blog/software-development/installing-proxmox-on-dedicated-server-from-ovh",{"title":558,"path":559,"stem":560},"Integrating SignNow E-Signatures into Your Django Application","/blog/software-development/integrating-signnow-e-signatures-into-your-django-application","blog/software-development/integrating-signnow-e-signatures-into-your-django-application",{"title":562,"path":563,"stem":564},"Tempus Metronome and GetSongBPM API","/blog/software-development/integrating-tempus-metronome-with-the-getsongbpm-api-what-bpm-really-means-and-how-to-use-it","blog/software-development/integrating-tempus-metronome-with-the-getsongbpm-api-what-bpm-really-means-and-how-to-use-it",{"title":566,"path":567,"stem":568},"Introducing MusicTech Poland","/blog/software-development/introducing-musictech-poland","blog/software-development/introducing-musictech-poland",{"title":570,"path":571,"stem":572},"Vue.js as a Frontend for Saleor.io","/blog/software-development/is-it-possible-to-use-vue-js-as-a-frontend-for-saleor-io-platform","blog/software-development/is-it-possible-to-use-vue-js-as-a-frontend-for-saleor-io-platform",{"title":574,"path":575,"stem":576},"Is your business ready for the cashless era?","/blog/software-development/is-your-business-ready-for-the-cashless-era","blog/software-development/is-your-business-ready-for-the-cashless-era",{"title":578,"path":579,"stem":580},"Is your face ready to buy?","/blog/software-development/is-your-face-ready-to-buy","blog/software-development/is-your-face-ready-to-buy",{"title":582,"path":583,"stem":584},"JS Frameworks: Trends and Opportunities","/blog/software-development/javascript-trending-frameworks-and-market-opportunities","blog/software-development/javascript-trending-frameworks-and-market-opportunities",{"title":586,"path":587,"stem":588},"Kanban Board: Boost Your Team Productivity","/blog/software-development/kanban-board-methodology-hack-your-companys-productivity","blog/software-development/kanban-board-methodology-hack-your-companys-productivity",{"title":590,"path":591,"stem":592},"Verified Human Cert MCP Server: Prove Your Music Is Human-Made, Right from the Terminal","/blog/software-development/mcp-verified-human-cert-open-source","blog/software-development/mcp-verified-human-cert-open-source",{"title":594,"path":595,"stem":596},"Migrating from TravisCI to Github Actions","/blog/software-development/migrating-from-travisci-to-github-actions","blog/software-development/migrating-from-travisci-to-github-actions",{"title":598,"path":599,"stem":600},"MusicTech Lab: Top Software Developer by Clutch","/blog/software-development/musictechlab-is-recognized-as-a-top-custom-software-developer-by-clutch","blog/software-development/musictechlab-is-recognized-as-a-top-custom-software-developer-by-clutch",{"title":602,"path":603,"stem":604},"MusicTech Lab x Verified Human: Building a Trust Layer for Human-Made Music","/blog/software-development/musictechlab_blog_verified_human_partnership","blog/software-development/musictechlab_blog_verified_human_partnership",{"title":606,"path":607,"stem":608},"MusicXML: Standard for Music Notation","/blog/software-development/musicxml-standard-for-music-notation-and-education","blog/software-development/musicxml-standard-for-music-notation-and-education",{"title":610,"path":611,"stem":612},"Only a few books but dozens of ideas","/blog/software-development/only-a-few-books-but-dozens-of-ideas","blog/software-development/only-a-few-books-but-dozens-of-ideas",{"title":614,"path":615,"stem":616},"Overdue Invoices and Issue Tracker Integration","/blog/software-development/overdue-invoices-integration-with-the-issue-tracking-system","blog/software-development/overdue-invoices-integration-with-the-issue-tracking-system",{"title":618,"path":619,"stem":620},"Performing SAML SSO using JWT in Django","/blog/software-development/performing-saml-sso-using-jwt-in-django","blog/software-development/performing-saml-sso-using-jwt-in-django",{"title":622,"path":623,"stem":624},"Progressive Web Apps for Mobile Development","/blog/software-development/progressive-web-apps-a-new-way-of-creating-mobile-application","blog/software-development/progressive-web-apps-a-new-way-of-creating-mobile-application",{"title":626,"path":627,"stem":628},"Recruitment System: Gmail, Jira, and CRM","/blog/software-development/recruitment-system-integrating-gmail-bravely-jira-slack-and-copper-crm","blog/software-development/recruitment-system-integrating-gmail-bravely-jira-slack-and-copper-crm",{"title":630,"path":631,"stem":632},"Scratch Me: Chrome Extension for Leads","/blog/software-development/scratch-me-a-simple-chrome-extension-which-will-increase-your-productivity","blog/software-development/scratch-me-a-simple-chrome-extension-which-will-increase-your-productivity",{"title":634,"path":635,"stem":636},"Scratch Me – integration with the Copper CRM","/blog/software-development/scratch-me-integration-with-the-copper-crm","blog/software-development/scratch-me-integration-with-the-copper-crm",{"title":638,"path":639,"stem":640},"SignNow MCP Server: E-Signatures Straight from Claude Code","/blog/software-development/signnow-mcp-server-e-signatures-from-claude-code","blog/software-development/signnow-mcp-server-e-signatures-from-claude-code",{"title":642,"path":643,"stem":644},"Music Industry Tech Openings (March 2024 Update)","/blog/software-development/technical-job-opportunities-in-the-music-industry","blog/software-development/technical-job-opportunities-in-the-music-industry",{"title":646,"path":647,"stem":648},"Thanks app – a Management 3.0 solution","/blog/software-development/thanks-app-a-management-3-0-solution","blog/software-development/thanks-app-a-management-3-0-solution",{"title":650,"path":651,"stem":652},"Colonial Pipeline Case: 7 Security Reminders","/blog/software-development/the-case-of-colonial-pipeline-and-7-security-reminders","blog/software-development/the-case-of-colonial-pipeline-and-7-security-reminders",{"title":654,"path":655,"stem":656},"The Evolution and Future of E-commerce Platforms","/blog/software-development/the-evolution-and-future-of-e-commerce-platforms","blog/software-development/the-evolution-and-future-of-e-commerce-platforms",{"title":658,"path":659,"stem":660},"The Gender Gap in the Tech Industry","/blog/software-development/the-gender-gap-in-the-tech-industry","blog/software-development/the-gender-gap-in-the-tech-industry",{"title":662,"path":663,"stem":664},"First Attempt to Implement 4DX at Bravelab.io","/blog/software-development/the-very-first-attempt-to-implement-4dx-in-bravelab-io","blog/software-development/the-very-first-attempt-to-implement-4dx-in-bravelab-io",{"title":666,"path":667,"stem":668},"The WTF Scale: IT Project Complexity","/blog/software-development/the-wtf-programming-scale-measuring-it-project-complexity","blog/software-development/the-wtf-programming-scale-measuring-it-project-complexity",{"title":670,"path":671,"stem":672},"Top 10 articles through the eyes of our developers","/blog/software-development/top-10-articles-through-the-eyes-of-our-developers","blog/software-development/top-10-articles-through-the-eyes-of-our-developers",{"title":674,"path":675,"stem":676},"Top 6 apps made with Flutter","/blog/software-development/top-6-apps-made-with-flutter","blog/software-development/top-6-apps-made-with-flutter",{"title":678,"path":679,"stem":680},"Uber 101: How Uber Made It to the Top","/blog/software-development/uber-101-how-this-ride-sharing-behemoth-made-it-to-the-top","blog/software-development/uber-101-how-this-ride-sharing-behemoth-made-it-to-the-top",{"title":682,"path":683,"stem":684},"MusicTech Lab Partners with Music Glue","/blog/software-development/unifying-artists-and-audiences-exploring-music-glue","blog/software-development/unifying-artists-and-audiences-exploring-music-glue",{"title":686,"path":687,"stem":688},"Why AI Will Defeat Traditional HR","/blog/software-development/warning-why-artificial-intelligence-will-defeat-traditional-hr","blog/software-development/warning-why-artificial-intelligence-will-defeat-traditional-hr",{"title":690,"path":691,"stem":692},"What is a Discovery Document?","/blog/software-development/what-is-discovery-document","blog/software-development/what-is-discovery-document",{"title":694,"path":695,"stem":696},"What is Flutter, and Why is it Worth Considering?","/blog/software-development/what-is-flutter-and-why-is-it-worth-considering","blog/software-development/what-is-flutter-and-why-is-it-worth-considering",{"title":698,"path":699,"stem":700},"What is a Watermarked Song?","/blog/software-development/what-is-watermarked-song","blog/software-development/what-is-watermarked-song",{"title":702,"path":703,"stem":704},"Choosing a Frontend Framework for the Web","/blog/software-development/which-framework-should-you-choose-for-the-frontend-web-platform-development","blog/software-development/which-framework-should-you-choose-for-the-frontend-web-platform-development",{"title":706,"path":707,"stem":708},"Why DAWs Are the Wrong Tool for Starting a Song","/blog/software-development/why-daws-wrong-tool-for-starting-song","blog/software-development/why-daws-wrong-tool-for-starting-song",{"title":710,"path":711,"stem":712},"Why the Programming World Loves Python","/blog/software-development/why-the-programming-world-loves-python","blog/software-development/why-the-programming-world-loves-python",{"title":714,"path":715,"stem":716},"Why We Don't Build Chat From Scratch (And Neither Should You)","/blog/software-development/why-we-dont-build-chat-from-scratch","blog/software-development/why-we-dont-build-chat-from-scratch",{"title":718,"path":719,"stem":720},"Why we use Sanity.io","/blog/software-development/why-we-use-sanity-io","blog/software-development/why-we-use-sanity-io",{"title":722,"path":723,"stem":724,"children":725,"page":69},"Sportstech","/blog/sportstech","blog/sportstech",[726,730],{"title":727,"path":728,"stem":729},"BeatBuddy Replay: Video Analysis App Challenges","/blog/sportstech/beatbuddy-replay-video-analysis-app-for-swimmers-flutter","blog/sportstech/beatbuddy-replay-video-analysis-app-for-swimmers-flutter",{"title":731,"path":732,"stem":733},"How to Create a Watch Face App for Garmin Watch","/blog/sportstech/how-to-create-watch-face-app-for-garmin-watch","blog/sportstech/how-to-create-watch-face-app-for-garmin-watch",{"id":735,"title":342,"authors":736,"badge":741,"body":742,"category":846,"client":741,"date":847,"description":848,"extension":849,"faq":741,"featured":69,"featuredOrder":741,"hidden":850,"image":851,"keyTakeaways":853,"meta":864,"navigation":850,"path":343,"seo":865,"status":741,"stem":344,"tags":866,"teaser":741,"__hash__":868},"posts/blog/software-development/a-look-at-bravelab-ios-clutch-2021-year-in-review.md",[737],{"name":738,"avatar":739},"Krystyna Zabiega",{"src":740},"/images/people/krystyna-zabiega.webp",null,{"type":743,"value":744,"toc":841},"minimark",[745,749,752,763,778,787,796,801,804,807,821,824,827,830,838],[746,747,748],"p",{},"hidden: true",[746,750,751],{},"Whatever your business may be, you can’t deny how much technology can help. Since our inception back in 2010, Bravelab.io has been helping small and mid-sized businesses scale through bespoke technology solutions. We deliver sophisticated and top-of-the-line solutions because of our expertise in Python, JavaScript, Vue.js, GraphQL, Jamstack, and more.",[746,753,754,755,762],{},"Company financial stability and profit which significantly exceeded set goals (4 mln PLN) helped Bravelab to expand! We successfully acquired new talents to the Development, HR, and Design teams and we are constantly searching for more, especially new Python and Vue.js developers (see more here: ",[756,757,761],"a",{"href":758,"rel":759},"https://bravelab.recruitee.com/",[760],"nofollow","Careers - Jobs - Bravelab.io",")!",[746,764,765,766,771,772,777],{},"Throughout the whole year, our teams have been developing modern Web Platforms using the latest technologies such as ",[756,767,770],{"href":768,"rel":769},"https://saleor.io/",[760],"Saleor.io"," - an e-commerce platform and ",[756,773,776],{"href":774,"rel":775},"https://sanity.io/",[760],"The Unified Content Platform – Sanity.io"," - a unified content platform.",[746,779,780,781,786],{},"Together with ",[756,782,785],{"href":783,"rel":784},"https://www.wearewundr.com/",[760],"Wundr Commerce Limited",", we’ve been implementing a revolutionary embedded e-commerce platform with lots of integrations with external data providers (Farfetch, BDroppy, Zendesk, Avalara, Beautyfort, Fragrance, Expansys, STC Pay, and more). From a long-term perspective, the platform will be a multi-tenant platform to manage millions of orders.",[746,788,789,790,795],{},"With ",[756,791,794],{"href":792,"rel":793},"https://pagepro.co/",[760],"Pagepro",", one of our key business partners, we’ve been working on a backend of a restaurant management application based on the Saleor platform. The application required the expansion and modification of the Saleor’s elements to suit the specificity of the restaurant industry, adding integration with external systems (Hubrise, Ikentoo) and enabling multi-tenant operations.",[797,798,800],"h2",{"id":799},"bravelabio-core-technology-stack","Bravelab.io core technology stack",[746,802,803],{},"Our core competencies are still in Python and JavaScript, with a strong focus on Vue.js, GraphQL, and Jamstack solutions. This tech stack helps us to deliver tailor-made services for e-commerce.",[746,805,806],{},"For more than a decade, we’ve delivered over 90 successful projects to our appreciative clients. It’s because of their trust that we celebrate our memorable 2021 journey. Today, we’re taking a moment to pay homage and share with all of you our Clutch Year In Review!",[746,808,809,814,815,820],{},[756,810,813],{"href":811,"rel":812},"https://clutch.co/",[760],"Clutch"," is a B2B review and market research platform that provides in-depth insights into various industries and locations. Last year, the Bravelab.io team was ",[756,816,819],{"href":817,"rel":818},"https://clutch.co/pl/developers/nodejs/krakow",[760],"recognised as"," one of Krakow’s leading Python & Vue.js developers thanks to our ever-supportive partners!",[746,822,823],{},"Firms that want to rank highly on the platform must earn top-notch reviews from clients to show their expertise and the quality of their work.** In 2021, we earned 5 comprehensive reviews that took a deeper dive into our partnerships. All of the reviews we’ve received average 5-star ratings and perfect NPS scores.**",[746,825,826],{},"NPS score is a metric that gauges how willing a client is to refer a vendor to colleagues and friends. Considering how crucial word of mouth is, it’s truly humbling to see how much our clients appreciate us. For them to say that are willing to recommend us shows that they trust our team’s capabilities.",[746,828,829],{},"Thank you to all our partners who took the time out of their busy schedules to review us. It’s because of your trust that we can achieve such feats. We owe you so much.",[831,832,834],"h4",{"id":833},"ready-to-take-on-2022-with-a-tried-and-tested-partner",[835,836,837],"strong",{},"Ready to take on 2022 with a tried and tested partner?",[746,839,840],{},"‍",{"title":842,"searchDepth":843,"depth":843,"links":844},"",2,[845],{"id":799,"depth":843,"text":800},"software-development","2022-01-25T00:00:00.000Z","A look at Bravelab.io's Clutch 2021 highlights: key achievements, client reviews, and milestones in custom software development.","md",true,{"src":852},"/images/blog/musictechlab_blog_a-look-at-musictechlab-ios-clutch-2021-year-in-review.webp",{"enabled":850,"items":854},[855,858,861],{"text":856,"icon":857},"Earned 5 comprehensive Clutch reviews in 2021, all averaging 5-star ratings.","i-lucide-trending-up",{"text":859,"icon":860},"Revenue exceeded the 4 million PLN target, enabling team expansion.","i-lucide-dollar-sign",{"text":862,"icon":863},"Delivered 90+ successful projects over more than a decade of operation.","i-lucide-rocket",{},{"title":342,"description":848},[867],"outsourcing","zzLxfOO1TgKyVHv8d8Ln8oNTa8X7j1UTsYeIshNOUls",[870,872],{"title":338,"path":339,"stem":340,"description":871,"children":-1},"Discover why the Saleor headless eCommerce platform is making waves. Nine key reasons it delivers incredible online shopping experiences.",{"title":346,"path":347,"stem":348,"description":873,"children":-1},"A practical guide to implementing profit sharing in your company. Learn how dividing net profit among employees boosts ownership and motivation.",[875,1169,1506,1794],{"id":876,"title":518,"authors":877,"badge":741,"body":882,"category":846,"client":741,"date":1149,"description":1150,"extension":849,"faq":741,"featured":69,"featuredOrder":741,"hidden":69,"image":1151,"keyTakeaways":1153,"meta":1164,"navigation":850,"path":519,"seo":1165,"status":741,"stem":520,"tags":1166,"teaser":741,"__hash__":1168,"score":1134},"posts/blog/software-development/how-to-conduct-workshops-for-creative-industry.md",[878],{"name":879,"avatar":880},"Adam Golański",{"src":881},"/images/people/adam-golanski.webp",{"type":743,"value":883,"toc":1129},[884,892,895,898,902,905,910,913,935,939,954,958,961,970,974,977,981,984,997,1001,1016,1020,1023,1038,1042,1045,1056,1060,1063,1067,1070,1073,1077,1080,1083,1086,1089,1094,1097,1102,1105,1110,1113,1116,1120,1123],[746,885,886,887,891],{},"Imagine a room filled with people, gathered around a table covered with laptops and sketches. The atmosphere is charged with anticipation and creativity as they begin a workshop to develop the ",[888,889,890],"em",{},"next big thing"," in music technology. This isn’t a typical corporate meeting – it's a workshop tailored for the innovative minds from creative industries.",[746,893,894],{},"In this setting, traditional requirement gathering methods are set aside. Instead, participants dive into brainstorming sessions, sketching ideas, and quickly prototyping new concepts. The goal is to capture the raw creativity and technical insights of these professionals. The facilitator guides the flow of ideas, adapting the workshop to fit the dynamic nature of creative processes.",[746,896,897],{},"This article explores how to conduct software requirement gathering workshops for the creative industries. We’ll discuss why traditional methods of formal analytical workshops often fail with creative professionals and how flexibility, visual engagement, and collaboration can lead to better outcomes. Whether you're a project manager, business analyst, or facilitator, these insights will help you unlock the potential of your creative teams and make your workshops something much more fruitful.",[797,899,901],{"id":900},"understanding-creative-professionals","Understanding Creative Professionals",[746,903,904],{},"Creative professionals often blend artistic vision with technical skill. Their approach to projects is driven by innovation, user experience, and a desire to push boundaries. Understanding their mindset and work style is crucial for conducting effective software requirement gathering workshops.",[906,907,909],"h3",{"id":908},"unique-traits-and-work-styles","Unique Traits and Work Styles",[746,911,912],{},"Creative professionals thrive in environments that allow for flexibility and exploration:",[914,915,922,927,931],"div",{"className":916},[917,918,919,920,921],"grid","grid-cols-1","md:grid-cols-3","gap-4","my-8",[923,924],"spotlight-card",{"description":925,"title":926},"Rigid processes stifle creativity. Creative individuals prefer fluid approaches that let ideas evolve organically.","Value Flexibility",[923,928],{"description":929,"title":930},"They communicate through sketches, diagrams, and prototypes. Visual tools make abstract ideas tangible and easier to discuss.","Visual Thinking",[923,932],{"description":933,"title":934},"They value diverse perspectives and excel in team settings where ideas flow freely, leading to greater innovation.","Collaborative Nature",[906,936,938],{"id":937},"scientific-insights-on-creativity","Scientific Insights on Creativity",[914,940,942,946,950],{"className":941},[917,918,919,920,921],[923,943],{"description":944,"title":945},"Spending time in nature boosts attention and promotes mind-wandering. Consider running part of the workshop outdoors.","Nature & Creativity",[923,947],{"description":948,"title":949},"Preparation → incubation → illumination → verification. Support each stage with relaxed spaces and quiet zones for focused thinking.","Stages of Creativity",[923,951],{"description":952,"title":953},"Creative professionals generate multiple solutions (divergent) vs. finding one answer (convergent). Workshops should encourage exploring many possibilities.","Divergent Thinking",[906,955,957],{"id":956},"challenges-with-traditional-methods","Challenges with Traditional Methods",[746,959,960],{},"Traditional requirement gathering methods often fail with creative professionals:",[962,963,964],"warning",{},[746,965,966,969],{},[835,967,968],{},"Common pitfalls:"," Miscommunication from rigid documentation, stifled innovation from inflexible processes, and participant disengagement from overly formal environments. Creative professionals thrive in open, dynamic, less hierarchical settings.",[797,971,973],{"id":972},"tailoring-the-workshop-approach","Tailoring the Workshop Approach",[746,975,976],{},"To effectively engage creative professionals, it's essential to tailor the workshop approach to their unique needs and working styles. This involves incorporating flexibility, using creative tools, and designing dynamic activities that stimulate innovation and collaboration.",[906,978,980],{"id":979},"flexible-and-dynamic-activities","Flexible and Dynamic Activities",[746,982,983],{},"Creative professionals thrive in environments that allow their ideas to flow freely and evolve organically. Traditional, rigid structures can inhibit their creative processes, so workshops should incorporate flexible and dynamic activities.",[985,986,987,991,994],"ul",{},[988,989,990],"li",{},"Brainstorming Sessions: Encourage open-ended brainstorming sessions where all ideas are welcomed without immediate critique. This approach helps generate a broad range of possibilities and fosters an inclusive environment. For example, start with a \"brain dump\" session where participants quickly jot down any idea that comes to mind on sticky notes. Then, group similar ideas together and discuss each cluster to explore potential directions.",[988,992,993],{},"Design Sprints: Implement short, time-boxed design sprints that focus on developing and testing ideas quickly. For instance, dedicate one day to ideation, the next to prototyping, and the third to testing with real users. This rapid cycle allows participants to see their ideas in action and make quick adjustments based on feedback.",[988,995,996],{},"Ideation Workshops: Organize workshops dedicated to ideation, where participants can explore and develop new concepts collaboratively. Structure the session with phases: start with individual idea generation, move to small group discussions to refine ideas, and then reconvene as a larger group to share and further develop the best concepts.",[906,998,1000],{"id":999},"creative-tools-and-techniques","Creative Tools and Techniques",[914,1002,1004,1008,1012],{"className":1003},[917,918,919,920,921],[923,1005],{"description":1006,"title":1007},"Provide blank templates — participants draw 6-8 frames showing how a user interacts with their proposed solution. Visualises the user journey and explores different scenarios.","Storyboarding",[923,1009],{"description":1010,"title":1011},"Start with a central concept, branch into ideas and details. For a music app: \"Features\" → \"UI,\" \"Library,\" \"Social Sharing,\" \"Customisation.\" Explores connections systematically.","Mind Mapping",[923,1013],{"description":1014,"title":1015},"Create low-fidelity prototypes with paper mock-ups or digital tools like Figma. Invite a UX designer to help participants build clickable prototypes for testing user flows.","Prototyping",[906,1017,1019],{"id":1018},"engaging-the-senses","Engaging the Senses",[746,1021,1022],{},"Creative professionals respond well to multi-sensory engagement:",[914,1024,1026,1030,1034],{"className":1025},[917,918,919,920,921],[923,1027],{"description":1028,"title":1029},"Use Miro or similar tools for real-time collaborative drawing and annotation. Visual collaboration clarifies complex ideas.","Visual Aids",[923,1031],{"description":1032,"title":1033},"Create a \"user journey wall\" with moveable sticky notes. Participants rearrange steps to visualise and improve user flows.","Interactive Elements",[923,1035],{"description":1036,"title":1037},"Comfortable seating, natural lighting, colourful posters, and breakout areas for small groups. The right environment amplifies creativity.","Ambience",[906,1039,1041],{"id":1040},"encouraging-participation-and-collaboration","Encouraging Participation and Collaboration",[746,1043,1044],{},"Creating a collaborative environment is essential for harnessing the potential of creative professionals. Facilitators should employ techniques that encourage active participation and idea sharing.",[985,1046,1047,1050,1053],{},[988,1048,1049],{},"Role-Playing and Scenario Planning: Use role-playing and scenario planning to help participants explore different perspectives and test ideas in various contexts. For example, participants could role-play as different user personas interacting with a new music app, identifying potential pain points and areas for improvement. This technique fosters empathy and a deeper understanding of user needs.",[988,1051,1052],{},"Gamification: Incorporate gamification elements to make workshops more engaging and fun. For instance, set up a \"design challenge\" where teams compete to come up with the most innovative solution to a given problem within a limited time frame. Offer small rewards for the most creative ideas or the best teamwork to motivate participants.",[988,1054,1055],{},"Open Dialogue: Foster an atmosphere of open dialogue where all participants feel comfortable sharing their thoughts and ideas. Encourage active listening and constructive feedback by using techniques like \"round-robin\" discussions, where each participant takes a turn to speak without interruption. This ensures everyone has a voice and contributes to the collective brainstorming process.",[797,1057,1059],{"id":1058},"facilitation-techniques-for-success","Facilitation Techniques for Success",[746,1061,1062],{},"Facilitating workshops for creative professionals requires an adaptive and engaging approach to foster innovation and participation. Here are some effective techniques tailored for this audience:",[906,1064,1066],{"id":1065},"adaptive-facilitation","Adaptive Facilitation",[746,1068,1069],{},"Effective facilitation starts with flexibility. Rather than rigidly sticking to a pre-set agenda, be prepared to adjust based on the flow of ideas. For example, if a brainstorming session sparks particularly innovative discussions, allow more time for them to unfold. This approach encourages participants to delve deeper into their creative processes without feeling constrained by time limits.",[746,1071,1072],{},"Creating an environment that encourages spontaneity is equally important. It may not be easy due to space constraints, but at least try to compensate for things with activities like real-time sketching sessions where participants can immediately visualize their ideas. This not only captures the creative spark but also helps in refining concepts collaboratively.",[906,1074,1076],{"id":1075},"managing-time-creatively","Managing Time Creatively",[746,1078,1079],{},"Dynamic time management involves setting flexible time blocks that can be adjusted based on the group’s engagement. Allocate more time for discussions that yield rich ideas and shorten periods where creativity seems to stall. This ensures that the workshop remains productive and responsive to the participants' needs.",[746,1081,1082],{},"Incorporating regular breaks is essential. These breaks give participants time to reflect and process information. For example, short, frequent breaks where individuals can step outside, with a coffee, a cigarette or just stretching the legs and engaging in informal conversations can lead to deeper insights and more innovative solutions once the group reconvenes.",[906,1084,1041],{"id":1085},"encouraging-participation-and-collaboration-1",[746,1087,1088],{},"Inclusive activities are crucial for gathering a wide range of ideas amongst participants. Here are some methods fostering participation and collaboration that can be used at the beginning, during and at the end of the workshop – so no one will be left behind.",[985,1090,1091],{},[988,1092,1093],{},"Picture Tales: The Picture Sorts technique is an engaging method used to uncover deeper insights and stimulate creative thinking in workshops. To arrange this activity, facilitators provide participants scissors and a variety of color magazines and other visual materials. Participants are then asked to cut out images that they feel represent specific themes or concepts related to the workshop’s objectives, such as customer experiences, desired outcomes, or emotional responses to a new product. For example, in a musictech workshop, participants might select images that they associate with user satisfaction or innovative features of a new music app. This visual and hands-on approach helps participants articulate abstract ideas and emotions that might be difficult to express through words alone.",[746,1095,1096],{},"Conducting the Picture Sorts activity involves several steps. First, facilitators introduce the task and explain the themes or questions participants should consider while selecting images. Participants are given time to browse through the visual materials and create their collages. Once completed, they present their selections to the group, explaining why they chose each image and what it represents. This often leads to rich discussions and a deeper understanding of the underlying motivations and desires of users or stakeholders. The visual nature of this technique helps break down complex concepts and promotes a more intuitive and creative exploration of the workshop topic,",[985,1098,1099],{},[988,1100,1101],{},"As an alternative to unstructured group discussion/brainstorming, a quite engaging Parallel Lines method can be used. It involves arranging participants into two lines facing each other, ensuring everyone has a partner. Each participant is assigned a specific role or perspective related to the workshop topic, such as different user personas or stakeholders in a project. For instance, one line might represent musicians while the other represents users. The pairs then engage in focused, one-on-one discussions on predefined scenarios or questions, like \"How would this new feature improve enjoyment of music?\" or \"What challenges do you anticipate with this technology?\"",[746,1103,1104],{},"After a set time, typically 5-10 minutes, one line shifts to the next partner, creating new pairs for each round and allowing diverse perspectives to emerge. This one-on-one interaction can reveal insights that might be overlooked in a larger group setting.",[985,1106,1107],{},[988,1108,1109],{},"For a summary of the results, you can use techniques like the Gallery Walk. To arrange this activity, participants are divided into small groups, each tasked with discussing a particular aspect of the workshop topic and creating a visual summary of their discussion on a flipchart or poster. These visual summaries, often including diagrams, charts, and key points, are then displayed around the room like an art gallery. For instance, in a musictech workshop, groups might explore different user interface designs or feature sets for a new music app, visually presenting their ideas for others to review.",[746,1111,1112],{},"Conducting a Gallery Walk involves several steps to ensure effectiveness. First, facilitators explain the objectives and divide participants into groups, providing them with the necessary materials and a clear timeline. After creating their visual summaries, groups post their flipcharts around the room. Participants then circulate, reviewing each group's work at their own pace. This setup allows for deeper engagement as individuals can discuss and ask questions with the group members who created the displays. One person from each group might stay with their flipchart to answer questions and provide further insights.",[746,1114,1115],{},"These methods encourage everyone to contribute and learn from different perspectives, helping even shy people present their ideas and do not allow the most extroverted participants to dominate the workshop.",[797,1117,1119],{"id":1118},"instead-of-a-summary","Instead of a Summary",[746,1121,1122],{},"Imagine the end of the workshop — the room filled with sketches, mind maps, and prototypes made of paper clips and duct tape. This wasn’t a typical meeting. It was a workshop tailored for creative minds, transforming abstract visions into something tangible.",[1124,1125,1126],"tip",{},[746,1127,1128],{},"The key ingredients: adaptive facilitation, visual tools, and collaborative techniques like Gallery Walk, Parallel Lines, and Picture Sorts. These methods foster diverse perspectives and drive user-centred outcomes that solve real problems.",{"title":842,"searchDepth":843,"depth":843,"links":1130},[1131,1137,1143,1148],{"id":900,"depth":843,"text":901,"children":1132},[1133,1135,1136],{"id":908,"depth":1134,"text":909},3,{"id":937,"depth":1134,"text":938},{"id":956,"depth":1134,"text":957},{"id":972,"depth":843,"text":973,"children":1138},[1139,1140,1141,1142],{"id":979,"depth":1134,"text":980},{"id":999,"depth":1134,"text":1000},{"id":1018,"depth":1134,"text":1019},{"id":1040,"depth":1134,"text":1041},{"id":1058,"depth":843,"text":1059,"children":1144},[1145,1146,1147],{"id":1065,"depth":1134,"text":1066},{"id":1075,"depth":1134,"text":1076},{"id":1085,"depth":1134,"text":1041},{"id":1118,"depth":843,"text":1119},"2024-06-07T00:00:00.000Z","Learn how to run effective software requirement workshops for creative professionals. Tips on flexibility, visual engagement, and collaborative facilitation.",{"src":1152},"/images/blog/musictechlab_blog_how-to-conduct-workshops-for-creative-industry.webp",{"enabled":850,"items":1154},[1155,1158,1161],{"text":1156,"icon":1157},"Creative professionals need flexible, visual workshops instead of rigid requirement-gathering formats.","i-lucide-palette",{"text":1159,"icon":1160},"Techniques like Gallery Walk and Parallel Lines ensure even shy participants contribute ideas.","i-lucide-users",{"text":1162,"icon":1163},"Multi-sensory engagement and adaptive facilitation unlock better outcomes than formal agendas.","i-lucide-lightbulb",{},{"title":518,"description":1150},[1167,867],"musictech","6OmE_Lrk-IHwxhQ4NFP9L6TdIyeC6E4G6aQB_Qobfx4",{"id":1170,"title":690,"authors":1171,"badge":741,"body":1177,"category":846,"client":741,"date":1489,"description":1490,"extension":849,"faq":741,"featured":69,"featuredOrder":741,"hidden":69,"image":1491,"keyTakeaways":1493,"meta":1502,"navigation":850,"path":691,"seo":1503,"status":741,"stem":692,"tags":1504,"teaser":741,"__hash__":1505,"score":1134},"posts/blog/software-development/what-is-discovery-document.md",[1172],{"name":1173,"to":1174,"avatar":1175},"Mariusz Smenżyk","https://www.linkedin.com/in/mariusz-smenzyk/",{"src":1176},"/images/people/mariusz-smenzyk2.webp",{"type":743,"value":1178,"toc":1473},[1179,1182,1207,1210,1214,1218,1235,1239,1257,1261,1279,1283,1300,1304,1322,1326,1344,1348,1366,1370,1388,1392,1406,1410,1423,1425,1429,1434,1441,1446,1448,1452],[746,1180,1181],{},"A Discovery Document gathers and documents essential information so that the project team, stakeholders, and relevant parties share a clear, common understanding of what needs to be accomplished — and how to get there.",[914,1183,1187,1192,1197,1202],{"className":1184},[917,1185,1186,920,921],"grid-cols-2","md:grid-cols-4",[923,1188],{"description":1189,"icon":1190,"title":1191},"Get everyone on the same page before a single line of code is written.","i-lucide-compass","Align",[923,1193],{"description":1194,"icon":1195,"title":1196},"Surface unknowns, constraints, and dependencies early.","i-lucide-shield-check","De-risk",[923,1198],{"description":1199,"icon":1200,"title":1201},"Define scope boundaries so the team builds the right thing.","i-lucide-target","Focus",[923,1203],{"description":1204,"icon":1205,"title":1206},"Create a shared artifact that stakeholders can sign off on.","i-lucide-handshake","Commit",[1208,1209],"hr",{},[797,1211,1213],{"id":1212},"what-goes-into-a-discovery-document","What Goes Into a Discovery Document?",[906,1215,1217],{"id":1216},"_1-introduction","1. Introduction",[914,1219,1221,1226,1231],{"className":1220},[917,918,919,920,921],[923,1222],{"description":1223,"icon":1224,"title":1225},"A brief overview of the document's intent and what the discovery process aims to achieve.","i-lucide-file-text","Purpose",[923,1227],{"description":1228,"icon":1229,"title":1230},"Define the boundaries and limitations of the discovery process.","i-lucide-scan","Scope",[923,1232],{"description":1233,"icon":1160,"title":1234},"List the key individuals or groups involved in the project.","Stakeholders",[906,1236,1238],{"id":1237},"_2-projectproduct-overview","2. Project/Product Overview",[914,1240,1242,1247,1252],{"className":1241},[917,918,919,920,921],[923,1243],{"description":1244,"icon":1245,"title":1246},"Provide a concise history or context for the project/product.","i-lucide-book-open","Background",[923,1248],{"description":1249,"icon":1250,"title":1251},"Clearly state the primary objectives and desired outcomes.","i-lucide-flag","Goals & Objectives",[923,1253],{"description":1254,"icon":1255,"title":1256},"Define the metrics or criteria that will determine project success.","i-lucide-check-circle","Success Criteria",[906,1258,1260],{"id":1259},"_3-stakeholder-analysis","3. Stakeholder Analysis",[914,1262,1264,1269,1274],{"className":1263},[917,918,919,920,921],[923,1265],{"description":1266,"icon":1267,"title":1268},"Identify all individuals, teams, or organizations with a vested interest.","i-lucide-user-check","Key Stakeholders",[923,1270],{"description":1271,"icon":1272,"title":1273},"Describe the roles and responsibilities of each stakeholder.","i-lucide-clipboard-list","Roles & Responsibilities",[923,1275],{"description":1276,"icon":1277,"title":1278},"Outline how and when stakeholders will be engaged and updated.","i-lucide-mail","Communication Plan",[906,1280,1282],{"id":1281},"_4-problem-statement","4. Problem Statement",[914,1284,1286,1291,1295],{"className":1285},[917,918,919,920,921],[923,1287],{"description":1288,"icon":1289,"title":1290},"Identify the issues or problems that the project aims to address.","i-lucide-alert-triangle","Current Challenges",[923,1292],{"description":1293,"icon":1163,"title":1294},"Highlight the opportunities that can be leveraged.","Opportunities",[923,1296],{"description":1297,"icon":1298,"title":1299},"Specify any limitations or constraints that need to be considered.","i-lucide-lock","Constraints",[906,1301,1303],{"id":1302},"_5-user-needs-requirements","5. User Needs & Requirements",[914,1305,1307,1312,1317],{"className":1306},[917,918,919,920,921],[923,1308],{"description":1309,"icon":1310,"title":1311},"Create detailed user personas that represent the target audience.","i-lucide-user","User Personas",[923,1313],{"description":1314,"icon":1315,"title":1316},"Describe specific scenarios to understand user needs and behavior.","i-lucide-message-square","User Stories",[923,1318],{"description":1319,"icon":1320,"title":1321},"List the essential functionalities and features required.","i-lucide-list-checks","Functional Requirements",[906,1323,1325],{"id":1324},"_6-technical-requirements","6. Technical Requirements",[914,1327,1329,1334,1339],{"className":1328},[917,918,919,920,921],[923,1330],{"description":1331,"icon":1332,"title":1333},"Document the technical infrastructure, platforms, and tools to be used.","i-lucide-server","Infrastructure",[923,1335],{"description":1336,"icon":1337,"title":1338},"Specify security and compliance requirements.","i-lucide-shield","Security",[923,1340],{"description":1341,"icon":1342,"title":1343},"Identify external systems or services that need to be integrated.","i-lucide-plug","Integration Points",[906,1345,1347],{"id":1346},"_7-project-timeline","7. Project Timeline",[914,1349,1351,1356,1361],{"className":1350},[917,918,919,920,921],[923,1352],{"description":1353,"icon":1354,"title":1355},"Define key project milestones and their estimated dates.","i-lucide-milestone","Milestones",[923,1357],{"description":1358,"icon":1359,"title":1360},"List any dependencies that could impact the project timeline.","i-lucide-git-branch","Dependencies",[923,1362],{"description":1363,"icon":1364,"title":1365},"Describe the allocation of team members and budget over time.","i-lucide-calendar","Resource Allocation",[906,1367,1369],{"id":1368},"_8-risk-assessment","8. Risk Assessment",[914,1371,1373,1378,1383],{"className":1372},[917,918,919,920,921],[923,1374],{"description":1375,"icon":1376,"title":1377},"Identify potential risks that could affect the project.","i-lucide-search","Risk Identification",[923,1379],{"description":1380,"icon":1381,"title":1382},"Evaluate the impact and likelihood of each risk.","i-lucide-bar-chart-3","Risk Analysis",[923,1384],{"description":1385,"icon":1386,"title":1387},"Outline strategies to mitigate or manage identified risks.","i-lucide-life-buoy","Risk Mitigation",[906,1389,1391],{"id":1390},"_9-budget-resources","9. Budget & Resources",[914,1393,1396,1401],{"className":1394},[917,918,1395,920,921],"md:grid-cols-2",[923,1397],{"description":1398,"icon":1399,"title":1400},"Detail the budget allocation for the project, including cost estimates.","i-lucide-coins","Budget Plan",[923,1402],{"description":1403,"icon":1404,"title":1405},"Specify the human and material resources needed.","i-lucide-briefcase","Resource Plan",[906,1407,1409],{"id":1408},"_10-next-steps-sign-off","10. Next Steps & Sign-off",[914,1411,1413,1418],{"className":1412},[917,918,1395,920,921],[923,1414],{"description":1415,"icon":1416,"title":1417},"A step-by-step plan for moving forward after the discovery phase, including key deliverables.","i-lucide-arrow-right","Action Plan",[923,1419],{"description":1420,"icon":1421,"title":1422},"Obtain approval or feedback from relevant stakeholders to proceed to development.","i-lucide-pen-tool","Sign-off",[1208,1424],{},[797,1426,1428],{"id":1427},"why-discovery-documents-matter","Why Discovery Documents Matter",[962,1430,1431],{},[746,1432,1433],{},"Discovery Documents are particularly important for complex projects. Understanding requirements and constraints at the outset can significantly impact success — reducing misunderstandings, scope creep, and risk.",[746,1435,1436,1437,1440],{},"Discovery Documents are ",[835,1438,1439],{},"living documents"," — they may be updated as the project progresses and more information becomes available. They help ensure that all stakeholders share a vision of the project from day one.",[1124,1442,1443],{},[746,1444,1445],{},"At MusicTech Lab, we use Discovery Documents at the start of every major project to align expectations, reduce risk, and set teams up for success.",[1208,1447],{},[797,1449,1451],{"id":1450},"get-the-template","Get the Template",[914,1453,1458,1467],{"className":1454},[1455,1456,1457,921],"flex","flex-wrap","gap-3",[1459,1460],"u-button",{"color":1461,"icon":1462,"label":1463,"to":1464,"variant":1465,"target":1466},"primary","i-lucide-download","Download Discovery Doc Template","/images/blog/musictechlab_blog_discovery-doc-template.pdf","subtle","_blank",[1459,1468],{"color":1461,"icon":1469,"label":1470,"to":1471,"variant":1472},"i-lucide-message-circle","Run a Discovery with Us","/contact","outline",{"title":842,"searchDepth":843,"depth":843,"links":1474},[1475,1487,1488],{"id":1212,"depth":843,"text":1213,"children":1476},[1477,1478,1479,1480,1481,1482,1483,1484,1485,1486],{"id":1216,"depth":1134,"text":1217},{"id":1237,"depth":1134,"text":1238},{"id":1259,"depth":1134,"text":1260},{"id":1281,"depth":1134,"text":1282},{"id":1302,"depth":1134,"text":1303},{"id":1324,"depth":1134,"text":1325},{"id":1346,"depth":1134,"text":1347},{"id":1368,"depth":1134,"text":1369},{"id":1390,"depth":1134,"text":1391},{"id":1408,"depth":1134,"text":1409},{"id":1427,"depth":843,"text":1428},{"id":1450,"depth":843,"text":1451},"2023-10-30T00:00:00.000Z","What is a Discovery Document and why it matters. Learn how to structure project requirements, define scope, and align stakeholders before development begins.",{"src":1492},"/images/blog/musictechlab_blog_what-is-discovery-document.webp",{"enabled":850,"items":1494},[1495,1497,1500],{"text":1496,"icon":1205},"A Discovery Document aligns all stakeholders on scope, risks, and goals before coding starts.",{"text":1498,"icon":1499},"It covers 10 sections from problem statement and user personas to risk assessment and sign-off.","i-lucide-layers",{"text":1501,"icon":1163},"Discovery Documents are living artifacts that reduce scope creep and misunderstandings.",{},{"title":690,"description":1490},[867],"7QTn0udgudjiOTrBp-xldFi4cyIGiplMmkMe5MsVei8",{"id":1507,"title":514,"authors":1508,"badge":741,"body":1513,"category":846,"client":741,"date":1777,"description":1778,"extension":849,"faq":741,"featured":69,"featuredOrder":741,"hidden":69,"image":1779,"keyTakeaways":1781,"meta":1789,"navigation":850,"path":515,"seo":1790,"status":741,"stem":516,"tags":1791,"teaser":741,"__hash__":1793,"score":1134},"posts/blog/software-development/how-to-build-a-minimum-viable-product-mvp-in-6-steps.md",[1509],{"name":1510,"avatar":1511},"Mariusz Raczyński",{"src":1512},"/images/people/mariusz-raczynski.webp",{"type":743,"value":1514,"toc":1768},[1515,1522,1525,1554,1556,1563,1567,1570,1592,1594,1598,1601,1617,1623,1625,1629,1632,1649,1652,1654,1658,1661,1678,1680,1686,1690,1693,1710,1715,1717,1721,1724,1741,1744,1746,1750,1753,1758,1761],[746,1516,1517,1518,1521],{},"Starting a new product can be an exciting and daunting prospect. It's a chance to bring a new idea to life — but it can also be risky and time-consuming to build a fully-featured product, especially if it doesn't succeed in the market. That's where the concept of a ",[835,1519,1520],{},"minimum viable product (MVP)"," comes in.",[746,1523,1524],{},"An MVP is a stripped-down version of a product that includes only the most essential features. The goal is to validate an idea quickly and inexpensively, gathering feedback from users and making iterative improvements along the way.",[914,1526,1528,1532,1536,1540,1545,1550],{"className":1527},[917,918,919,920,921],[923,1529],{"description":1530,"icon":1200,"title":1531},"Identify the core problem, target audience, and essential features.","1. Define",[923,1533],{"description":1534,"icon":1376,"title":1535},"Conduct market research, talk to users, test prototypes.","2. Research & Validate",[923,1537],{"description":1538,"icon":1160,"title":1539},"Designers, developers, marketers — the skills you need.","3. Assemble Your Team",[923,1541],{"description":1542,"icon":1543,"title":1544},"Choose your stack, version control, and team workflow.","i-lucide-settings","4. Set Up Dev Environment",[923,1546],{"description":1547,"icon":1548,"title":1549},"Iterate fast — test early, fix bugs, gather feedback.","i-lucide-hammer","5. Build & Test",[923,1551],{"description":1552,"icon":863,"title":1553},"Ship it, collect user feedback, keep improving.","6. Launch & Iterate",[1208,1555],{},[746,1557,1558],{},[1559,1560],"img",{"alt":1561,"src":1562},"Team planning product features on a whiteboard with sticky notes","/images/blog/musictechlab_blog_mvp-whiteboard-planning.webp",[797,1564,1566],{"id":1565},"step-1-define-your-mvp","Step 1: Define Your MVP",[746,1568,1569],{},"Defining your MVP is critical to the success of your product. It helps you focus on the most important aspects and avoid unnecessary features that distract from the core value proposition.",[914,1571,1573,1578,1582,1587],{"className":1572},[917,918,1395,920,921],[923,1574],{"description":1575,"icon":1576,"title":1577},"Identify the core problem your product will address. Be specific — vague problems lead to vague products.","i-lucide-help-circle","What Problem Do You Solve?",[923,1579],{"description":1580,"icon":1267,"title":1581},"Define your ideal user. The more you know about them, the better you can prioritize features.","Who Is Your Target Audience?",[923,1583],{"description":1584,"icon":1585,"title":1586},"List the minimum features needed to solve the problem and meet your audience's needs.","i-lucide-check-square","What's Essential?",[923,1588],{"description":1589,"icon":1590,"title":1591},"Identify non-essential features that can be deferred to later iterations.","i-lucide-clock","What Can Wait?",[1208,1593],{},[797,1595,1597],{"id":1596},"step-2-research-and-validate","Step 2: Research and Validate",[746,1599,1600],{},"Before you start building, ensure there is market demand for your product and that it addresses a real need.",[914,1602,1604,1608,1612],{"className":1603},[917,918,919,920,921],[923,1605],{"description":1606,"icon":1381,"title":1607},"Analyze the competitive landscape, identify gaps, and understand what already exists.","Market Research",[923,1609],{"description":1610,"icon":1469,"title":1611},"Conduct interviews with potential customers to validate assumptions about their needs.","Talk to Users",[923,1613],{"description":1614,"icon":1615,"title":1616},"Build mockups or wireframes and test them with a small group to gather early feedback.","i-lucide-layout-template","Test Prototypes",[1618,1619,1620],"note",{},[746,1621,1622],{},"By conducting research and gathering feedback from potential users, you can make informed decisions and increase the chances of success once your MVP is launched.",[1208,1624],{},[797,1626,1628],{"id":1627},"step-3-assemble-your-team","Step 3: Assemble Your Team",[746,1630,1631],{},"Depending on the complexity of your MVP, you may need a team of professionals to help you build and launch it.",[914,1633,1635,1639,1644],{"className":1634},[917,918,919,920,921],[923,1636],{"description":1637,"icon":1157,"title":1638},"Create the look and feel of your product — UI, UX, and brand identity.","Designers",[923,1640],{"description":1641,"icon":1642,"title":1643},"Build the software — frontend, backend, infrastructure, and integrations.","i-lucide-code","Developers",[923,1645],{"description":1646,"icon":1647,"title":1648},"Promote and sell your MVP once it's launched — positioning, messaging, and growth.","i-lucide-megaphone","Marketers",[746,1650,1651],{},"This might involve hiring full-time employees, contracting freelancers, or working with a development agency. Whatever approach you take, have a clear idea of what roles and responsibilities are needed.",[1208,1653],{},[797,1655,1657],{"id":1656},"step-4-set-up-your-development-environment","Step 4: Set Up Your Development Environment",[746,1659,1660],{},"Setting up your development environment ensures that your team can work efficiently and effectively.",[914,1662,1664,1669,1673],{"className":1663},[917,918,919,920,921],[923,1665],{"description":1666,"icon":1667,"title":1668},"Choose a language suitable for your needs — Python, JavaScript, Dart, Rust, or others depending on the product type.","i-lucide-file-code","Programming Language",[923,1670],{"description":1671,"icon":1359,"title":1672},"Set up Git (or similar) to track changes to your code and collaborate with your team.","Version Control",[923,1674],{"description":1675,"icon":1676,"title":1677},"Establish how code is reviewed and merged, how bugs are tracked, and how releases are managed.","i-lucide-workflow","Team Workflow",[1208,1679],{},[746,1681,1682],{},[1559,1683],{"alt":1684,"src":1685},"Two developers collaborating on code at their workstations","/images/blog/musictechlab_blog_mvp-team-collaboration.webp",[797,1687,1689],{"id":1688},"step-5-build-and-test","Step 5: Build and Test",[746,1691,1692],{},"Building and testing your MVP is an iterative process that involves trial and error.",[914,1694,1696,1700,1705],{"className":1695},[917,918,919,920,921],[923,1697],{"description":1698,"icon":1250,"title":1699},"Define what you want to accomplish and what features are needed to achieve those goals. Track your progress against milestones.","Set Clear Goals",[923,1701],{"description":1702,"icon":1703,"title":1704},"Don't wait until your MVP is complete. Test frequently to identify and fix issues as they arise.","i-lucide-test-tubes","Test Early and Often",[923,1706],{"description":1707,"icon":1708,"title":1709},"Use feedback from users to iterate and improve. Don't be afraid to pivot if needed.","i-lucide-refresh-cw","Gather Feedback & Iterate",[962,1711,1712],{},[746,1713,1714],{},"Don't fall into the trap of building in silence. The longer you go without user feedback, the higher the risk of building something nobody wants.",[1208,1716],{},[797,1718,1720],{"id":1719},"step-6-launch-and-iterate","Step 6: Launch and Iterate",[746,1722,1723],{},"Launching your MVP is an exciting and nerve-wracking experience. It's a chance to bring your product to market and see how it performs.",[914,1725,1727,1731,1736],{"className":1726},[917,918,919,920,921],[923,1728],{"description":1729,"icon":1272,"title":1730},"Ask users structured questions about their experience, pain points, and feature requests.","Conduct Surveys",[923,1732],{"description":1733,"icon":1734,"title":1735},"Track how users interact with your product — what they use, what they ignore, where they drop off.","i-lucide-activity","Analyze Usage Data",[923,1737],{"description":1738,"icon":1739,"title":1740},"Direct conversations reveal insights that analytics alone can't capture.","i-lucide-phone","Talk to Customers",[746,1742,1743],{},"Use this feedback to iterate on your MVP and continue improving over time. Don't be afraid to make changes and pivot — the goal of an MVP is to learn from your users and make iterative improvements.",[1208,1745],{},[797,1747,1749],{"id":1748},"conclusion","Conclusion",[746,1751,1752],{},"Building an MVP is a powerful way to validate a product idea quickly and inexpensively. The key takeaway:",[1124,1754,1755],{},[746,1756,1757],{},"The goal of an MVP is to learn from your users and make iterative improvements. Don't be afraid to pivot — the beauty of an MVP is that it allows you to test and learn before investing too much time and resources into a full-scale product.",[746,1759,1760],{},"At MusicTech Lab, we've helped teams go from idea to MVP across music tech, creative industries, and beyond. The key is starting small, validating fast, and iterating with real user feedback.",[914,1762,1764],{"className":1763},[1455,1456,1457,921],[1459,1765],{"color":1461,"label":1766,"target":1466,"to":1767,"variant":1465},"Build Your MVP with Us","https://musictechlab.io/contact",{"title":842,"searchDepth":843,"depth":843,"links":1769},[1770,1771,1772,1773,1774,1775,1776],{"id":1565,"depth":843,"text":1566},{"id":1596,"depth":843,"text":1597},{"id":1627,"depth":843,"text":1628},{"id":1656,"depth":843,"text":1657},{"id":1688,"depth":843,"text":1689},{"id":1719,"depth":843,"text":1720},{"id":1748,"depth":843,"text":1749},"2022-12-11T00:00:00.000Z","Starting a new product can be an exciting and daunting prospect. On one hand, it's a chance to bring a new idea to life and potentially change the world.",{"src":1780},"/images/blog/musictechlab_blog_how-to-build-a-minimum-viable-product-mvp-in-6-steps.webp",{"enabled":850,"items":1782},[1783,1785,1787],{"text":1784,"icon":863},"An MVP includes only essential features to validate a product idea quickly and cheaply.",{"text":1786,"icon":1320},"Six steps: define, research, assemble team, set up dev environment, build and test, launch.",{"text":1788,"icon":1469},"Testing early and gathering user feedback prevents building features nobody wants.",{},{"title":514,"description":1778},[867,1792],"development","Fg39Lkr-qnDe3Hg_B0D2vd6yXNzY7R2CW2C9k9o2ffA",{"id":1795,"title":354,"authors":1796,"badge":741,"body":1801,"category":846,"client":741,"date":1922,"description":1923,"extension":849,"faq":741,"featured":69,"featuredOrder":741,"hidden":69,"image":1924,"keyTakeaways":1926,"meta":1938,"navigation":850,"path":355,"seo":1939,"status":741,"stem":356,"tags":1940,"teaser":741,"__hash__":1942,"score":1134},"posts/blog/software-development/automate-repetitive-tasks-to-improve-your-business-performance.md",[1797],{"name":1798,"avatar":1799},"Jurek Skowron",{"src":1800},"/images/people/jurek-skowron.webp",{"type":743,"value":1802,"toc":1915},[1803,1806,1810,1813,1824,1827,1830,1834,1837,1852,1855,1858,1862,1876,1880,1883,1886,1889,1903,1907,1910],[746,1804,1805],{},"As it was presented in the previous article, people and organizations benefit from repetition because of its importance in learning. But there is also a negative kind of repetition, hurting individuals and organizations. You can deal with dull repetitive tasks by reorganizing them. Nowadays, digital work and processes are ubiquitous for many of us, therefore, automation of digital tasks is also a powerful tool. There are services, like Zapier, which provide you a way to create automation workflows and integrate various computer tools, with no programming required.",[797,1807,1809],{"id":1808},"dealing-with-repetitive-tasks","Dealing with repetitive tasks",[746,1811,1812],{},"There are some ways to deal with tasks, which turn us, or our employees into mindless zombies. Some of the solutions are:",[985,1814,1815,1818,1821],{},[988,1816,1817],{},"altering routines,",[988,1819,1820],{},"delegating tasks to contractors and virtual assistants,",[988,1822,1823],{},"recycling projects using templates, organizing flows for such tasks, with setting daily reminders, milestones, and deadlines.",[746,1825,1826],{},"Some essential tasks can’t be delegated, then the only way is to figure out how to make them more enjoyable.",[746,1828,1829],{},"But in today’s digital world, we are also equipped with a powerful tool, or better to say, the wide range of tools provided by automation.\nArtificial intelligence is the present, and businesses are adopting it. But it is not just AI. There are many more ways to benefit from automation.\nAutomation is an example of how technology has fundamentally changed the way we live and work. We use it every day, e.g., when using auto-paying bills, creating calendar notifications, even setting a washing machine or coffee pot.\nFor work, nowadays, there are many code boilerplates, scripts, applications, macros, etc., which are convenient solutions for many monotonous jobs.",[797,1831,1833],{"id":1832},"automation-of-digital-tasks-on-your-own","Automation of digital tasks on your own",[746,1835,1836],{},"Not always, there is a ready solution for the automation of digital tasks. Then, in many cases, we can construct our own. If you think “code!” programming your solution - yes. But wait! Only sometimes.",[746,1838,1839,1840,1845,1846,1851],{},"I am sure you are acquainted with ",[756,1841,1844],{"href":1842,"rel":1843},"https://en.wikipedia.org/wiki/Jeff_Atwood",[760],"Jeff Atwood’s"," quote ",[756,1847,1850],{"href":1848,"rel":1849},"https://news.ycombinator.com/item?id=10979240",[760],"“the best code is no code at all”",". Reinventing the wheel is a good idea when you are learning how the wheel works or trying to disrupt the wheel technology. But for productivity, whenever possible, it is better to use a wheel already made, well tested in various scenarios. And to focus on this part of our job that adds value, changes/ saves the world, earns money (whatever your reasons and motivation). Thus, getting back to automating tasks before coding your solution, you should consider an easier and faster way.",[746,1853,1854],{},"It brings us to automation tools that connect different applications and services without coding or relying on developers to build the integration. Using these tools resembles building with Lego bricks. They provide us functional blocks that you can join and combine into your integration workflows. Among these services are Zapier, Automate.io, Integromat, IFTTT, and many more.",[746,1856,1857],{},"In the next article, I will show a use case of an automation task I solved for MusicTech Lab. After research, I decided to use Zapier to integrate Slack with Google Drive/Docs/Sheets. Let me briefly introduce the tool.",[797,1859,1861],{"id":1860},"what-is-zapier","What is Zapier?",[746,1863,1864,1865,1870,1871,1875],{},"In my research on how to automate the task I was given (I will elaborate on it in the next article), I found that the most common solution is to use ",[756,1866,1869],{"href":1867,"rel":1868},"https://zapier.com/",[760],"Zapier",". As you can read on ",[756,1872,1874],{"href":1867,"rel":1873},[760],"its website",",* \"Zapier is an online automation tool that connects your apps and services. You can connect two or more apps to automate repetitive tasks without coding or relying on developers to build the integration.\"*\nI have also found Zapier as easy to use and experiment with. What is more, it offers a free plan and gives us a 14-day trial of the premium plan, which enables us to check whether it is the right tool for our needs.",[797,1877,1879],{"id":1878},"creating-a-zap","Creating a Zap",[746,1881,1882],{},"In Zapier, you create Zaps, which are workflows containing two or more steps. You can create your Zaps or use some already predefined in Zapier.",[746,1884,1885],{},"Here you can see the overview of Zap I created:",[746,1887,1888],{},"As you can see on the screenshot, steps are visually represented as boxes, representing functional blocks, which you join to create a workflow. Every phase is configurable, with options specific to its type and application it handles. You can use actions related to specific applications (e.g., Google Docs, Slack, Todoist) or special helpers (for actions like conditions, delays, changing how data is formatted, or even adding your Python or JavaScript code).",[914,1890,1892,1895,1899],{"className":1891},[917,918,919,920,921],[923,1893],{"description":1894,"title":1869},"The most popular no-code automation tool. Connects 5,000+ apps.",[923,1896],{"description":1897,"title":1898},"Simple \"if this, then that\" automation. Great for personal workflows.","IFTTT",[923,1900],{"description":1901,"title":1902},"Advanced visual workflows with branching logic and error handling.","Make (Integromat)",[797,1904,1906],{"id":1905},"a-use-case-at-musictech-lab","A Use Case at MusicTech Lab",[746,1908,1909],{},"Zapier is not the only automation service for digital tasks, but it was a great fit for the Slack + Google Drive/Docs/Sheets integration we built at MusicTech Lab.",[1124,1911,1912],{},[746,1913,1914],{},"Automate to have more time for people and things that matter. The best automation is the one you set up once and forget about.",{"title":842,"searchDepth":843,"depth":843,"links":1916},[1917,1918,1919,1920,1921],{"id":1808,"depth":843,"text":1809},{"id":1832,"depth":843,"text":1833},{"id":1860,"depth":843,"text":1861},{"id":1878,"depth":843,"text":1879},{"id":1905,"depth":843,"text":1906},"2020-09-18T00:00:00.000Z","Repetitive work may negatively impact your business performance. By improving business performance management, you can automate tasks and increase productivity.",{"src":1925},"/images/blog/musictechlab_blog_automate-repetitive-tasks-to-improve-your-business-performance.webp",{"enabled":850,"items":1927},[1928,1931,1934,1936],{"text":1929,"icon":1930},"No-code tools like Zapier connect 5,000+ apps without writing any code.","i-lucide-wrench",{"text":1932,"icon":1933},"Automation frees time for high-value work instead of repetitive digital tasks.","i-lucide-zap",{"text":1935,"icon":860},"Zapier offers a free plan and 14-day premium trial to test your workflows.",{"text":1937,"icon":1163},"Before coding a custom solution, check if an existing integration already exists.",{},{"title":354,"description":1923},[867,1941],"devops","H2Jc2Rn6O331reRfA8Os8TbRIxs6HZFRoPVxaPuFPbc",1780305252106]