Your product team to take AI-generated apps from prototype to production
We help businesses take products started in Bolt.new or Lovable and rebuild them for production: fixing architecture, adding scalability, and turning fast prototypes into reliable platforms that support real users and real growth.
When a team has validated an idea fast but needs expert help to make it production-ready.
AI-generated apps prove concepts, but they hit limits when real users, data, and business logic enter the picture.
We take what worked in the prototype and rebuild it with the architecture, performance, and scalability a growing business needs.
<style> :root { --primary: #6061f6; --accent: #c5ef48; --dark: #111827; --body: #4b5563; --muted: #6b7280; --bg-light: #f8f9fa; --bg-white: #ffffff; --bg-tint: #fafbff; --border: rgba(0,0,0,0.06); --shadow-sm: 0 4px 24px rgba(0,0,0,0.05); --shadow-md: 0 12px 40px rgba(96,97,246,0.10); --radius-card: 20px; --radius-sm: 12px; --radius-pill: 999px; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .lca-block1 { font-family: 'Inter', sans-serif; color: var(--dark); background: var(--bg-white); } .lca-h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 400; line-height: 1.2; letter-spacing: -0.02em; color: var(--dark); } .lca-h2 strong { font-weight: 700; color: var(--primary); } .lca-lead { font-size: 1.0625rem; line-height: 1.75; color: var(--body); max-width: 600px; } .lca-card { position: relative; background: var(--bg-light); border-radius: var(--radius-card); padding: 2rem; border: 1px solid var(--border); overflow: hidden; transition: background 0.25s ease, box-shadow 0.25s ease; display: flex; flex-direction: column; gap: 1rem; } .lca-card::before { content: ''; position: absolute; left: 0; top: 0; width: 3px; height: 0; background: var(--primary); border-radius: 20px 0 0 20px; transition: height 0.25s ease; } .lca-card:hover::before { height: 100%; } .lca-card:hover { background: var(--bg-tint); box-shadow: var(--shadow-md); } .lca-card__icon { width: 44px; height: 44px; border-radius: var(--radius-sm); background: rgba(96,97,246,0.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--primary); } .lca-card__icon svg { width: 22px; height: 22px; } .lca-card__title { font-size: 1.0625rem; font-weight: 600; color: var(--dark); line-height: 1.35; } .lca-card__body { font-size: 0.9375rem; color: var(--body); line-height: 1.7; } .lca-bento-wrap { display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; align-items: start; } .lca-bento-heading { position: sticky; top: 2rem; display: flex; flex-direction: column; gap: 1.5rem; } .lca-label { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--primary); background: rgba(96,97,246,0.08); padding: 0.4rem 0.9rem; border-radius: var(--radius-pill); width: fit-content; } .lca-bento-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; } .lca-centered-header { text-align: center; max-width: 700px; margin: 0 auto 3.5rem; display: flex; flex-direction: column; gap: 1.25rem; align-items: center; } .lca-what-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } .lca-what-grid .lca-card { background: var(--bg-white); } .lca-split-wrap { display: grid; grid-template-columns: 1fr 1.4fr; gap: 4rem; align-items: start; } .lca-split-left { display: flex; flex-direction: column; gap: 1.5rem; position: sticky; top: 2rem; } .lca-split-right { display: flex; flex-direction: column; gap: 0; } .lca-numbered-item { display: grid; grid-template-columns: 3rem 1fr; gap: 1.25rem; align-items: start; padding: 1.75rem 0; border-bottom: 1px solid var(--border); transition: padding-left 0.2s ease; } .lca-numbered-item:first-child { border-top: 1px solid var(--border); } .lca-numbered-item:hover { padding-left: 0.5rem; } .lca-num { width: 3rem; height: 3rem; border-radius: 50%; background: rgba(96,97,246,0.08); display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 700; color: var(--primary); flex-shrink: 0; transition: background 0.2s ease, color 0.2s ease; } .lca-numbered-item:hover .lca-num { background: var(--primary); color: #fff; } .lca-num-content { display: flex; flex-direction: column; gap: 0.4rem; padding-top: 0.5rem; } .lca-num-title { font-size: 1rem; font-weight: 600; color: var(--dark); line-height: 1.3; } .lca-num-body { font-size: 0.9375rem; color: var(--body); line-height: 1.65; } .lca-not-fit { margin-top: 2rem; padding: 1.5rem 1.75rem; background: rgba(96,97,246,0.04); border: 1px solid rgba(96,97,246,0.12); border-radius: var(--radius-card); display: flex; flex-direction: column; gap: 0.75rem; } .lca-not-fit__label { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); } .lca-not-fit__text { font-size: 0.9375rem; color: var(--body); line-height: 1.7; } .lca-not-fit__text span { display: inline-block; background: rgba(96,97,246,0.08); color: var(--primary); font-weight: 500; border-radius: var(--radius-sm); padding: 0.15rem 0.55rem; margin: 0.15rem 0.1rem; font-size: 0.875rem; } @media (max-width: 991px) { .lca-bento-wrap { grid-template-columns: 1fr; gap: 2.5rem; } .lca-bento-heading { position: static; } .lca-split-wrap { grid-template-columns: 1fr; gap: 2.5rem; } .lca-split-left { position: static; } } @media (max-width: 767px) { .lca-bento-grid, .lca-what-grid { grid-template-columns: 1fr; } .lca-h2 { font-size: 1.75rem; } } @media (max-width: 478px) { .lca-card { padding: 1.5rem; } .lca-numbered-item { grid-template-columns: 2.5rem 1fr; gap: 1rem; } } </style> <!-- ════ SECTION 1: WHY WE WORK WITH BOLT.NEW & LOVABLE ════ --> <div class='section_why-lovable lca-block1'> <div class='padding-global padding-section-large'> <div class='container-large'> <div class='lca-bento-wrap'> <div class='lca-bento-heading'> <span class='lca-label'>Our Approach</span> <h2 class='lca-h2'>Why we work with <strong>Bolt.new & Lovable.</strong></h2> <p class='lca-lead'>At LowCode Agency, we work with Bolt.new and Lovable projects when a team has validated an idea fast but needs expert help to make it production-ready. AI-generated apps prove concepts, but they hit limits when real users, data, and business logic enter the picture.</p> </div> <div class='lca-bento-grid'> <div class='lca-card'> <div class='lca-card__icon'> <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'><path stroke-linecap='round' stroke-linejoin='round' d='M2.25 18L9 11.25l4.306 4.307a11.95 11.95 0 015.814-5.519l2.74-1.22m0 0l-5.94-2.28m5.94 2.28l-2.28 5.941'/></svg> </div> <p class='lca-card__title'>When the prototype works but the architecture doesn't scale</p> <p class='lca-card__body'>We restructure codebases, data models, and logic to handle the users, data volumes, and complexity that production demands.</p> </div> <div class='lca-card'> <div class='lca-card__icon'> <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 7.5l3 2.25-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0021 18V6a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 6v12a2.25 2.25 0 002.25 2.25z'/></svg> </div> <p class='lca-card__title'>When code quality and maintainability become critical</p> <p class='lca-card__body'>AI-generated code often works on the surface but creates technical debt underneath. We audit, refactor, and rebuild to engineering standards.</p> </div> <div class='lca-card'> <div class='lca-card__icon'> <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'><path stroke-linecap='round' stroke-linejoin='round' d='M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z'/></svg> </div> <p class='lca-card__title'>When the product needs integrations, security, and real infrastructure</p> <p class='lca-card__body'>Prototypes often lack proper authentication, API architecture, and third-party integrations. We add the backend depth production requires.</p> </div> <div class='lca-card'> <div class='lca-card__icon'> <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'><path stroke-linecap='round' stroke-linejoin='round' d='M15.59 14.37a6 6 0 01-5.84 7.38v-4.8m5.84-2.58a14.98 14.98 0 006.16-12.12A14.98 14.98 0 009.631 8.41m5.96 5.96a14.926 14.926 0 01-5.841 2.58m-.119-8.54a6 6 0 00-7.381 5.84h4.8m2.581-5.84a14.927 14.927 0 00-2.58 5.84m2.699 2.7c-.103.021-.207.041-.311.06a15.09 15.09 0 01-2.448-2.448 14.9 14.9 0 01.06-.312m-2.24 2.39a4.493 4.493 0 00-6.25 0 4.493 4.493 0 000 6.25l.003-.002l6.248-6.247z'/></svg> </div> <p class='lca-card__title'>When the business is ready to invest in a real product</p> <p class='lca-card__body'>Teams that used AI tools to validate quickly and are now ready to build properly with architecture, performance, and scalability.</p> </div> </div> </div> </div> </div> </div> <!-- ════ SECTION 2: WHAT WE BUILD FROM LOVABLE ════ --> <div class='section_what-lovable lca-block1' style='background: var(--bg-light);'> <div class='padding-global padding-section-large'> <div class='container-large'> <div class='lca-centered-header'> <span class='lca-label'>What We Build</span> <h2 class='lca-h2'>What we build from <strong>Bolt.new & Lovable.</strong></h2> <p class='lca-lead'>From AI-generated prototypes, we rebuild production-grade digital products with proper architecture, security, and scalability.</p> </div> <div class='lca-what-grid'> <div class='lca-card'> <div class='lca-card__icon'> <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 7.5l3 2.25-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0021 18V6a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 6v12a2.25 2.25 0 002.25 2.25z'/></svg> </div> <p class='lca-card__title'>Production Rebuilds</p> <p class='lca-card__body'>Full rebuilds of AI-generated prototypes into structured, maintainable products with proper codebases, data models, and engineering foundations.</p> </div> <div class='lca-card'> <div class='lca-card__icon'> <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'><path stroke-linecap='round' stroke-linejoin='round' d='M10.5 6h9.75M10.5 6a1.5 1.5 0 11-3 0m3 0a1.5 1.5 0 10-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m-9.75 0h9.75'/></svg> </div> <p class='lca-card__title'>Architecture & Code Audits</p> <p class='lca-card__body'>Technical audits that identify structural gaps, technical debt, and scalability risks with a clear roadmap to production readiness.</p> </div> <div class='lca-card'> <div class='lca-card__icon'> <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'><path stroke-linecap='round' stroke-linejoin='round' d='M6.429 9.75L2.25 12l4.179 2.25m0-4.5l5.571 3 5.571-3m-11.142 0L2.25 7.5 12 2.25l9.75 5.25-4.179 2.25m0 0L21.75 12l-4.179 2.25m0 0l4.179 2.25L12 21.75 2.25 16.5l4.179-2.25m11.142 0l-5.571 3-5.571-3'/></svg> </div> <p class='lca-card__title'>SaaS & Platform Scaling</p> <p class='lca-card__body'>Prototypes rebuilt into subscription platforms, multi-user systems, and scalable applications with backend logic and authentication.</p> </div> <div class='lca-card'> <div class='lca-card__icon'> <svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'><path stroke-linecap='round' stroke-linejoin='round' d='M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z'/></svg> </div> <p class='lca-card__title'>AI-enhanced Products</p> <p class='lca-card__body'>AI-generated apps evolved into products where AI features are properly engineered: reliable, performant, and integrated into the core experience.</p> </div> </div> </div> </div> </div> <!-- ════ SECTION 3: WHO IS LOVABLE RESCUE FOR? ════ --> <div class='section_who-lovable lca-block1'> <div class='padding-global padding-section-large'> <div class='container-large'> <div class='lca-split-wrap'> <div class='lca-split-left'> <span class='lca-label'>Ideal Fit</span> <h2 class='lca-h2'>Who is Bolt.new & Lovable rescue <strong>for?</strong></h2> <p class='lca-lead'>For teams that used AI tools to validate fast and are now ready to build properly. The prototype proved the concept but can't support what comes next.</p> <div class='lca-not-fit'> <p class='lca-not-fit__label'>Not the right fit if</p> <p class='lca-not-fit__text'> <span>Still validating the idea</span> <span>Quick feature add only</span> <span>Staying on AI platforms long-term</span> </p> </div> </div> <div class='lca-split-right'> <div class='lca-numbered-item'> <div class='lca-num'>01</div> <div class='lca-num-content'> <p class='lca-num-title'>Founders Whose Prototype Gained Real Traction</p> <p class='lca-num-body'>Paying customers or active users depending on a product that wasn't built for production. You need real engineering before something breaks.</p> </div> </div> <div class='lca-numbered-item'> <div class='lca-num'>02</div> <div class='lca-num-content'> <p class='lca-num-title'>Teams Hitting Performance or Scalability Walls</p> <p class='lca-num-body'>Your app works for 50 users but breaks at 500. Pages load slowly, the database can't handle growth, and every new feature creates bugs.</p> </div> </div> <div class='lca-numbered-item'> <div class='lca-num'>03</div> <div class='lca-num-content'> <p class='lca-num-title'>Businesses Needing Integrations the Prototype Can't Support</p> <p class='lca-num-body'>Your product needs payment systems, third-party APIs, or enterprise tools that Bolt.new or Lovable can't handle. You need real backend architecture.</p> </div> </div> <div class='lca-numbered-item'> <div class='lca-num'>04</div> <div class='lca-num-content'> <p class='lca-num-title'>Product Teams Ready to Invest in a Real Platform</p> <p class='lca-num-body'>Concept proven, funding secured. Ready to turn the prototype into a product with architecture, security, and maintainability a real business requires.</p> </div> </div> </div> </div> </div> </div> </div>
Success Stories
Case Study
Human Resources Mexico
I decided to build the app because it would be very difficult to try to explain to someone the relationships that we have between the data. I’m an expert at providing PEO services, and I’m an expert at running my company.
Is your team doing repetitive tasks? Stop wasting money, and get a custom solution that not only saves you time, but also reducesmistakes and makes your team more productive!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
<style> :root { --primary: #6061f6; --accent: #c5ef48; --dark: #111827; --body: #4b5563; --muted: #6b7280; --bg-light: #f8f9fa; --bg-white: #ffffff; --bg-tint: #fafbff; --border: rgba(0,0,0,0.06); --shadow-sm: 0 4px 24px rgba(0,0,0,0.05); --shadow-md: 0 12px 40px rgba(96,97,246,0.10); --radius-card: 20px; --radius-sm: 12px; --radius-pill: 999px; } .lca-h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 400; color: var(--dark); line-height: 1.2; margin: 0 0 1rem 0; } .lca-h2 strong { font-weight: 700; color: var(--primary); } .lca-faqs-section { background: var(--bg-white); border-top: 1px solid #f0f0f0; } .lca-faqs-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; align-items: start; } .lca-faq-list { display: flex; flex-direction: column; } .lca-faq-item { border-bottom: 1px solid #eaeaea; } .lca-faq-trigger { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 0; cursor: pointer; width: 100%; background: none; border: none; text-align: left; } .lca-faq-trigger:hover h3 { color: var(--primary); } .lca-faq-trigger h3 { font-size: 1.05rem; font-weight: 600; color: var(--dark); margin: 0; padding-right: 1.5rem; transition: color 0.2s; line-height: 1.4; } .lca-faq-arrow { width: 24px; height: 24px; flex-shrink: 0; transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); color: var(--primary); } .lca-faq-item[data-open='true'] .lca-faq-arrow { transform: rotate(180deg); } .lca-faq-collapse { overflow: hidden; height: 0; transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .lca-faq-answer { padding: 0 0 1.5rem 0; } .lca-faq-answer p { font-size: 0.975rem; color: var(--body); margin: 0; line-height: 1.7; } @media (max-width: 767px) { .lca-faqs-grid { grid-template-columns: 1fr; gap: 2rem; } } </style> <div class='section_faqs lca-faqs-section'> <div class='padding-global padding-section-large'> <div class='container-large'> <div class='lca-faqs-grid'> <div> <h2 class='lca-h2'>We get asked this <strong>all the time.</strong></h2> <p style='font-size:1.05rem;color:var(--muted);line-height:1.7;margin:1rem 0 0;'>Straightforward answers to the questions we hear most from clients with Bolt.new and Lovable projects.</p> </div> <div class='lca-faq-list'> <div class='lca-faq-item'> <button class='lca-faq-trigger' type='button'> <h3>Can you save my Bolt.new project that's barely working?</h3> <svg class='lca-faq-arrow' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' aria-hidden='true'><polyline points='6 9 12 15 18 9'></polyline></svg> </button> <div class='lca-faq-collapse'><div class='lca-faq-answer'><p>Yes. We audit the code, identify what to salvage and what to rebuild, then design a production version that preserves what works while fixing underlying problems. Most projects are worth saving if there's user traction.</p></div></div> </div> <div class='lca-faq-item'> <button class='lca-faq-trigger' type='button'> <h3>How do you decide what to keep versus rebuild?</h3> <svg class='lca-faq-arrow' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' aria-hidden='true'><polyline points='6 9 12 15 18 9'></polyline></svg> </button> <div class='lca-faq-collapse'><div class='lca-faq-answer'><p>We analyze which features users depend on, what code is maintainable, what architecture problems exist, and what integrations are needed. We preserve user-facing features and logic; we rebuild infrastructure, security, and scalability layers.</p></div></div> </div> <div class='lca-faq-item'> <button class='lca-faq-trigger' type='button'> <h3>What platforms do you rebuild into?</h3> <svg class='lca-faq-arrow' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' aria-hidden='true'><polyline points='6 9 12 15 18 9'></polyline></svg> </button> <div class='lca-faq-collapse'><div class='lca-faq-answer'><p>We rebuild into Next.js, React, Node.js, custom backends, or whatever fits the product. We assess your needs — real-time requirements, scale expectations, integration needs — and recommend the best fit, not the most fashionable.</p></div></div> </div> <div class='lca-faq-item'> <button class='lca-faq-trigger' type='button'> <h3>What happens to our Bolt.new or Lovable code?</h3> <svg class='lca-faq-arrow' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' aria-hidden='true'><polyline points='6 9 12 15 18 9'></polyline></svg> </button> <div class='lca-faq-collapse'><div class='lca-faq-answer'><p>We analyze it, extract useful logic and features, then migrate what's valuable to the new production codebase. Some code can be salvaged; some is better rewritten. We preserve what matters to your business.</p></div></div> </div> <div class='lca-faq-item'> <button class='lca-faq-trigger' type='button'> <h3>Will the rebuilt product launch faster or slower than starting over?</h3> <svg class='lca-faq-arrow' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' aria-hidden='true'><polyline points='6 9 12 15 18 9'></polyline></svg> </button> <div class='lca-faq-collapse'><div class='lca-faq-answer'><p>Rebuilding a working prototype is usually faster than starting from scratch because you already know what features users want. Validated design and business logic guide development, reducing uncertainty and iteration cycles.</p></div></div> </div> <div class='lca-faq-item'> <button class='lca-faq-trigger' type='button'> <h3>How do I start a rescue project with LowCode Agency?</h3> <svg class='lca-faq-arrow' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' aria-hidden='true'><polyline points='6 9 12 15 18 9'></polyline></svg> </button> <div class='lca-faq-collapse'><div class='lca-faq-answer'><p>Start with a conversation about your prototype, what's working, what's broken, and where you want the product to go. We perform a code audit, present findings and rebuild options, then move forward with a plan both sides understand.</p></div></div> </div> <div class='lca-faq-item'> <button class='lca-faq-trigger' type='button'> <h3>What industries does LowCode Agency serve with rescue projects?</h3> <svg class='lca-faq-arrow' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' aria-hidden='true'><polyline points='6 9 12 15 18 9'></polyline></svg> </button> <div class='lca-faq-collapse'><div class='lca-faq-answer'><p>Startups, SaaS companies, consumer app teams, marketplaces, healthcare MVPs, and EdTech platforms. If you built a prototype fast and need help taking it to production, we bring experience rebuilding across industries and use cases.</p></div></div> </div> </div> </div> </div> </div> </div> <script> (function(){var d=300;function o(i){var c=i.querySelector('.lca-faq-collapse');if(!c)return;i.dataset.open='true';c.style.overflow='hidden';c.style.height='0px';requestAnimationFrame(function(){c.style.height=c.scrollHeight+'px';setTimeout(function(){if(i.dataset.open==='true'){c.style.height='auto';}},d);});}function f(i){var c=i.querySelector('.lca-faq-collapse');if(!c)return;i.dataset.open='false';c.style.overflow='hidden';c.style.height=c.getBoundingClientRect().height+'px';requestAnimationFrame(function(){c.style.height='0px';});}var w=document.querySelectorAll('.lca-faq-list');w.forEach(function(l){var items=Array.prototype.slice.call(l.querySelectorAll('.lca-faq-item'));items.forEach(function(i){var t=i.querySelector('.lca-faq-trigger');var c=i.querySelector('.lca-faq-collapse');if(!t||!c)return;i.dataset.open='false';c.style.overflow='hidden';c.style.height='0px';c.style.transition='height '+d+'ms cubic-bezier(0.4, 0, 0.2, 1)';t.addEventListener('click',function(e){e.preventDefault();var s=i.dataset.open==='true';items.forEach(function(x){if(x!==i&&x.dataset.open==='true')f(x);});s?f(i):o(i);});});});})(); </script>