feat: classy dark one-pager with modal, webhook, shiny gold, sticky nav

This commit is contained in:
oliver
2026-04-24 11:07:02 -03:00
commit 74aa890b5d
152 changed files with 40078 additions and 0 deletions
+855
View File
@@ -0,0 +1,855 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>my-biz.app — Professional Back-Office for Real Businesses</title>
<style>
/* ── RESET & BASE ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background: #fafafa;
color: #1a0533;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { display: block; max-width: 100%; }
/* ── NAV ── */
nav {
position: sticky;
top: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 2.5rem;
height: 72px;
background: #fafafa;
border-bottom: 2px solid #f0e8ff;
}
.nav-logo {
font-size: 1.6rem;
font-weight: 900;
letter-spacing: -0.04em;
color: #1a0533;
line-height: 1;
}
.nav-logo span {
color: #ff4f1f;
}
.nav-links {
display: flex;
align-items: center;
gap: 0.25rem;
}
.nav-links li a {
font-size: 0.9rem;
font-weight: 700;
color: #4a2570;
padding: 0.45rem 0.85rem;
border-radius: 100px;
transition: background 0.15s, color 0.15s;
}
.nav-links li a:hover {
background: #f3e8ff;
color: #7c3aed;
}
.nav-cta {
background: #ff4f1f !important;
color: #ffffff !important;
font-weight: 800 !important;
padding: 0.5rem 1.25rem !important;
border-radius: 100px !important;
box-shadow: 0 4px 16px rgba(255, 79, 31, 0.4) !important;
transition: background 0.15s, box-shadow 0.15s, transform 0.15s !important;
}
.nav-cta:hover {
background: #e03a08 !important;
box-shadow: 0 6px 24px rgba(255, 79, 31, 0.55) !important;
transform: translateY(-1px) !important;
}
/* ── HERO ── */
.hero {
position: relative;
padding: 7rem 2.5rem 6rem;
text-align: center;
overflow: hidden;
background: #1a0533;
color: #ffffff;
}
.hero::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, #7c3aed 0%, #ff4f1f 60%, #ffb347 100%);
clip-path: polygon(0 0, 100% 0, 100% 72%, 0 100%);
z-index: 0;
}
.hero::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 60% 30%, rgba(255,79,31,0.35) 0%, transparent 65%);
z-index: 0;
}
.hero > * { position: relative; z-index: 1; }
.hero-eyebrow {
display: inline-block;
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #1a0533;
background: #ffb347;
border-radius: 100px;
padding: 0.3rem 1rem;
margin-bottom: 2rem;
box-shadow: 0 2px 12px rgba(255,179,71,0.45);
}
.hero h1 {
font-size: clamp(2.4rem, 6vw, 4.5rem);
font-weight: 900;
line-height: 1.08;
letter-spacing: -0.04em;
color: #ffffff;
margin-bottom: 1.25rem;
max-width: 820px;
margin-left: auto;
margin-right: auto;
}
.hero h1 em {
font-style: normal;
color: #ffb347;
display: inline-block;
}
.hero-sub {
font-size: 1.1rem;
color: rgba(255,255,255,0.85);
max-width: 600px;
margin: 0 auto 0.75rem;
line-height: 1.75;
}
.hero-tagline {
font-size: 1rem;
color: rgba(255,255,255,0.65);
margin-bottom: 2.5rem;
font-weight: 600;
}
.hero-actions {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 1rem;
margin-bottom: 2.25rem;
}
.btn-primary {
display: inline-block;
background: #ff4f1f;
color: #ffffff;
font-size: 1rem;
font-weight: 800;
padding: 0.8rem 2rem;
border-radius: 100px;
box-shadow: 0 6px 24px rgba(255,79,31,0.55);
transition: background 0.15s, box-shadow 0.15s, transform 0.15s;
letter-spacing: 0.01em;
}
.btn-primary:hover {
background: #e03a08;
box-shadow: 0 8px 32px rgba(255,79,31,0.65);
transform: translateY(-2px);
}
.btn-secondary {
display: inline-block;
background: rgba(255,255,255,0.12);
color: #ffffff;
font-size: 1rem;
font-weight: 700;
padding: 0.8rem 2rem;
border-radius: 100px;
border: 2px solid rgba(255,255,255,0.4);
backdrop-filter: blur(4px);
transition: background 0.15s, border-color 0.15s;
}
.btn-secondary:hover {
background: rgba(255,255,255,0.22);
border-color: rgba(255,255,255,0.7);
}
.hero-trust {
font-size: 0.85rem;
color: rgba(255,255,255,0.6);
letter-spacing: 0.01em;
}
.hero-trust strong { color: rgba(255,255,255,0.9); }
/* ── SECTIONS COMMON ── */
section:not(.hero) {
padding: 5.5rem 2.5rem;
max-width: 1140px;
margin: 0 auto;
}
.section-label {
display: inline-block;
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #7c3aed;
background: #f3e8ff;
border-radius: 100px;
padding: 0.28rem 0.9rem;
margin-bottom: 1rem;
border: 2px solid #e9d5ff;
}
.section-title {
font-size: clamp(1.8rem, 3.5vw, 2.75rem);
font-weight: 900;
letter-spacing: -0.035em;
color: #1a0533;
margin-bottom: 0.75rem;
line-height: 1.12;
}
.section-sub {
font-size: 1rem;
color: #6b4fa0;
max-width: 580px;
line-height: 1.75;
margin-bottom: 2.75rem;
}
/* ── VERTICALS GRID ── */
.verticals-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1.5rem;
}
.vertical-card {
background: #ffffff;
border-radius: 16px;
padding: 1.75rem 1.5rem 1.75rem 1.75rem;
border-left: 5px solid transparent;
background-image: linear-gradient(#ffffff, #ffffff),
linear-gradient(180deg, #ff4f1f 0%, #7c3aed 100%);
background-origin: border-box;
background-clip: padding-box, border-box;
border: 5px solid transparent;
border-left-width: 5px;
box-shadow: 0 2px 12px rgba(124,58,237,0.08);
transition: box-shadow 0.2s, transform 0.2s;
}
/* Simpler left-border approach for cross-browser support */
.vertical-card {
background: #ffffff;
border-radius: 16px;
padding: 1.75rem 1.5rem 1.75rem 1.75rem;
border: none;
border-left: 5px solid #ff4f1f;
box-shadow: 0 2px 16px rgba(26,5,51,0.07);
transition: box-shadow 0.2s, transform 0.2s;
}
.vertical-card:nth-child(2) { border-left-color: #7c3aed; }
.vertical-card:nth-child(3) { border-left-color: #ff4f1f; }
.vertical-card:nth-child(4) { border-left-color: #7c3aed; }
.vertical-card:hover {
box-shadow: 0 8px 32px rgba(26,5,51,0.13);
transform: translateY(-3px);
}
.vertical-icon {
font-size: 2rem;
display: block;
margin-bottom: 0.75rem;
}
.vertical-name {
font-size: 1.05rem;
font-weight: 900;
color: #1a0533;
margin-bottom: 0.5rem;
letter-spacing: -0.02em;
}
.vertical-desc {
font-size: 0.875rem;
color: #5a3d7a;
line-height: 1.7;
margin-bottom: 1rem;
}
.vertical-tag {
font-size: 0.73rem;
font-weight: 700;
color: #7c3aed;
background: #f3e8ff;
border-radius: 100px;
padding: 0.25rem 0.7rem;
display: inline-block;
letter-spacing: 0.02em;
}
/* ── NEWS GRID ── */
.news-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
}
.news-card {
background: #ffffff;
border-radius: 16px;
padding: 1.5rem;
border-left: 5px solid #ff4f1f;
box-shadow: 0 2px 12px rgba(26,5,51,0.06);
display: flex;
flex-direction: column;
gap: 0.5rem;
transition: box-shadow 0.2s, transform 0.2s;
}
.news-card:nth-child(2) { border-left-color: #7c3aed; }
.news-card:nth-child(3) { border-left-color: #ff4f1f; }
.news-card:nth-child(4) { border-left-color: #7c3aed; }
.news-card:hover {
box-shadow: 0 8px 28px rgba(26,5,51,0.12);
transform: translateY(-3px);
}
.news-area {
font-size: 0.73rem;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #ff4f1f;
}
.news-card:nth-child(2) .news-area,
.news-card:nth-child(4) .news-area { color: #7c3aed; }
.news-title {
font-size: 0.9875rem;
font-weight: 800;
color: #1a0533;
line-height: 1.35;
letter-spacing: -0.015em;
}
.news-teaser {
font-size: 0.875rem;
color: #5a3d7a;
line-height: 1.68;
flex: 1;
}
.news-date {
font-size: 0.75rem;
color: #a084c0;
font-weight: 700;
margin-top: 0.25rem;
text-transform: uppercase;
letter-spacing: 0.06em;
}
/* ── PRICING GRID ── */
.pricing-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
gap: 1.75rem;
max-width: 720px;
}
.pricing-card {
background: #ffffff;
border-radius: 20px;
padding: 2.25rem;
border-left: 5px solid #7c3aed;
box-shadow: 0 2px 16px rgba(26,5,51,0.07);
position: relative;
transition: box-shadow 0.2s, transform 0.2s;
}
.pricing-card:hover {
box-shadow: 0 10px 36px rgba(26,5,51,0.13);
transform: translateY(-3px);
}
.pricing-card.featured {
background: linear-gradient(145deg, #ff4f1f 0%, #e03a08 55%, #c0280a 100%);
border-left-color: #ffb347;
color: #ffffff;
box-shadow: 0 8px 40px rgba(255,79,31,0.45);
}
.pricing-card.featured:hover {
box-shadow: 0 14px 52px rgba(255,79,31,0.55);
}
.pricing-badge {
display: inline-block;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.09em;
text-transform: uppercase;
background: #ffb347;
color: #1a0533;
border-radius: 100px;
padding: 0.22rem 0.7rem;
margin-bottom: 0.85rem;
}
.pricing-plan {
font-size: 0.8rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #7c3aed;
margin-bottom: 0.5rem;
}
.pricing-card.featured .pricing-plan { color: rgba(255,255,255,0.75); }
.pricing-price {
font-size: 3.25rem;
font-weight: 900;
letter-spacing: -0.05em;
color: #1a0533;
line-height: 1;
margin-bottom: 0.25rem;
}
.pricing-card.featured .pricing-price { color: #ffffff; }
.pricing-period {
font-size: 0.82rem;
color: #8b6aad;
margin-bottom: 1.1rem;
font-weight: 600;
}
.pricing-card.featured .pricing-period { color: rgba(255,255,255,0.65); }
.pricing-quote {
font-size: 0.9rem;
font-style: italic;
color: #5a3d7a;
border-left: 4px solid #e9d5ff;
padding-left: 0.85rem;
margin-bottom: 1.4rem;
line-height: 1.5;
}
.pricing-card.featured .pricing-quote {
color: rgba(255,255,255,0.8);
border-left-color: rgba(255,255,255,0.35);
}
.pricing-features {
font-size: 0.9rem;
color: #4a2570;
display: flex;
flex-direction: column;
gap: 0.55rem;
margin-bottom: 1.75rem;
}
.pricing-card.featured .pricing-features { color: rgba(255,255,255,0.88); }
.pricing-features li::before {
content: "→ ";
color: #ff4f1f;
font-weight: 900;
}
.pricing-card.featured .pricing-features li::before { color: #ffb347; }
.pricing-cta {
display: block;
text-align: center;
background: #ff4f1f;
color: #ffffff;
font-size: 0.95rem;
font-weight: 800;
padding: 0.75rem 1rem;
border-radius: 100px;
letter-spacing: 0.01em;
box-shadow: 0 4px 16px rgba(255,79,31,0.4);
transition: background 0.15s, box-shadow 0.15s, transform 0.15s;
}
.pricing-cta:hover {
background: #e03a08;
box-shadow: 0 6px 24px rgba(255,79,31,0.55);
transform: translateY(-1px);
}
.pricing-card.featured .pricing-cta {
background: #ffffff;
color: #e03a08;
box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}
.pricing-card.featured .pricing-cta:hover {
background: #fff5f0;
box-shadow: 0 6px 24px rgba(0,0,0,0.2);
}
/* ── CUSTOMIZATION GRID ── */
.custom-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
gap: 1.5rem;
}
.custom-card {
background: #ffffff;
border-radius: 16px;
padding: 2rem;
border-left: 5px solid #7c3aed;
box-shadow: 0 2px 14px rgba(26,5,51,0.06);
transition: box-shadow 0.2s, transform 0.2s;
}
.custom-card:first-child { border-left-color: #ff4f1f; }
.custom-card:hover {
box-shadow: 0 8px 32px rgba(26,5,51,0.12);
transform: translateY(-3px);
}
.custom-icon {
font-size: 2rem;
display: block;
margin-bottom: 0.85rem;
}
.custom-title {
font-size: 1.1rem;
font-weight: 900;
color: #1a0533;
margin-bottom: 0.6rem;
letter-spacing: -0.02em;
}
.custom-body {
font-size: 0.9rem;
color: #5a3d7a;
line-height: 1.72;
margin-bottom: 1.1rem;
}
.custom-body strong { color: #1a0533; }
.custom-link {
display: inline-block;
font-size: 0.9rem;
font-weight: 800;
color: #ff4f1f;
transition: color 0.15s;
letter-spacing: 0.01em;
}
.custom-link:hover { color: #e03a08; text-decoration: underline; }
.custom-rate {
display: inline-block;
font-size: 0.9rem;
font-weight: 900;
color: #ffffff;
background: linear-gradient(90deg, #7c3aed, #ff4f1f);
border-radius: 100px;
padding: 0.4rem 1rem;
letter-spacing: 0.01em;
}
/* ── FOOTER ── */
footer {
background: #1a0533;
color: #a084c0;
padding: 4rem 2.5rem 1.75rem;
}
.footer-top {
display: grid;
grid-template-columns: 2fr repeat(3, 1fr);
gap: 2.5rem;
max-width: 1140px;
margin: 0 auto 2.5rem;
}
.footer-brand p {
font-size: 0.9rem;
line-height: 1.7;
margin-top: 0.85rem;
max-width: 280px;
color: #8060a8;
}
.footer-logo {
font-size: 1.5rem;
font-weight: 900;
color: #ffffff;
letter-spacing: -0.04em;
}
.footer-logo span { color: #ff4f1f; }
.footer-col h4 {
font-size: 0.75rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.12em;
color: #ffffff;
margin-bottom: 1rem;
}
.footer-col ul { display: flex; flex-direction: column; gap: 0.55rem; }
.footer-col ul li a {
font-size: 0.9rem;
color: #8060a8;
font-weight: 500;
transition: color 0.15s;
}
.footer-col ul li a:hover { color: #ffffff; }
.footer-bottom {
max-width: 1140px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 1.75rem;
border-top: 2px solid #2d0d52;
font-size: 0.82rem;
font-weight: 500;
flex-wrap: wrap;
gap: 0.5rem;
}
.footer-legal { display: flex; gap: 1.5rem; }
.footer-legal a { color: #6a3d8a; transition: color 0.15s; }
.footer-legal a:hover { color: #a084c0; }
/* ── RESPONSIVE ── */
@media (max-width: 768px) {
nav { padding: 0 1.25rem; }
.nav-logo { font-size: 1.3rem; }
.nav-links li a { padding: 0.35rem 0.55rem; font-size: 0.82rem; }
section:not(.hero) { padding: 3.5rem 1.25rem; }
.hero { padding: 5rem 1.25rem 4rem; }
.footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
.nav-links li:not(:last-child) { display: none; }
.hero h1 { font-size: 2rem; }
.footer-top { grid-template-columns: 1fr; }
.footer-bottom { flex-direction: column; align-items: flex-start; }
}
</style>
</head>
<body>
<!-- ── NAV ── -->
<nav>
<a class="nav-logo" href="#">my-biz<span>.app</span></a>
<ul class="nav-links">
<li><a href="#verticals">Verticals</a></li>
<li><a href="#news">News</a></li>
<li><a href="#pricing">Pricing</a></li>
<li><a href="#customization">Customization</a></li>
<li><a class="nav-cta" href="#pricing">Get Started</a></li>
</ul>
</nav>
<!-- ── HERO ── -->
<section class="hero" id="home">
<div class="hero-eyebrow">✦ One Stop Shop &nbsp;·&nbsp; Built for Real Businesses</div>
<h1>Running a business is hard.<br><em>Your back-office shouldn't be.</em></h1>
<p class="hero-sub">
We eliminate the chaos behind the scenes — invoicing, HR, inventory, CRM, reports —
all in one place, set up for your exact industry, ready from day one.
</p>
<p class="hero-tagline">No duct tape. No spreadsheet nightmares. No expensive surprises.</p>
<div class="hero-actions">
<a class="btn-primary" href="#pricing">See Plans &amp; Pricing</a>
<a class="btn-secondary" href="#verticals">Find Your Vertical</a>
</div>
<p class="hero-trust">Powered by <strong>Odoo Community Edition</strong> &nbsp;·&nbsp; Specialists for every industry &nbsp;·&nbsp; From <strong>$214 / year</strong></p>
</section>
<!-- ── VERTICALS ── -->
<section id="verticals">
<span class="section-label">Our Verticals</span>
<h2 class="section-title">We speak your industry's language.</h2>
<p class="section-sub">
Every vertical has a dedicated specialist who has lived through your exact challenges.
No generalists. No guessing. Just experts who get it.
</p>
<div class="verticals-grid">
<div class="vertical-card">
<span class="vertical-icon">🌍</span>
<div class="vertical-name">NGO &amp; Non-Profit</div>
<p class="vertical-desc">
Grant tracking, donor management, project accounting, and compliance reporting —
built for organizations that answer to their mission, not just their margin.
</p>
<span class="vertical-tag">Donor CRM · Grant Accounting · Impact Reports</span>
</div>
<div class="vertical-card">
<span class="vertical-icon">🚀</span>
<div class="vertical-name">Startups</div>
<p class="vertical-desc">
Move fast without breaking your books. From your first invoice to Series A due diligence,
we set up systems that grow with you and impress every investor.
</p>
<span class="vertical-tag">Invoicing · CRM · Equity-Ready Reporting</span>
</div>
<div class="vertical-card">
<span class="vertical-icon">🏭</span>
<div class="vertical-name">Manufacturing</div>
<p class="vertical-desc">
Bills of materials, production orders, real-time inventory, and quality control —
everything on the floor finally reflected in your numbers.
</p>
<span class="vertical-tag">MRP · Inventory · Purchase · Quality</span>
</div>
<div class="vertical-card">
<span class="vertical-icon">🍽️</span>
<div class="vertical-name">Restaurants</div>
<p class="vertical-desc">
From tableside POS to supplier invoices to staff scheduling —
keep the kitchen and the books running smoothly, even on your busiest Saturday night.
</p>
<span class="vertical-tag">POS · Supplier Mgmt · Payroll · Food Cost</span>
</div>
</div>
</section>
<!-- ── NEWS ── -->
<section id="news">
<span class="section-label">News from Our Verticals</span>
<h2 class="section-title">Insights from the front lines.</h2>
<p class="section-sub">
Our specialists share what's actually working — no fluff, no vendor noise.
Real stories from real businesses in your space.
</p>
<div class="news-grid">
<div class="news-card">
<div class="news-area">NGO</div>
<div class="news-title">How a regional NGO cut grant reporting time by 70%</div>
<p class="news-teaser">
Automating donor reconciliation and project cost allocation freed up 15 hours
per week that went straight back into their mission.
</p>
<span class="news-date">June 2025</span>
</div>
<div class="news-card">
<div class="news-area">Startups</div>
<div class="news-title">Why investors love clean Odoo data rooms</div>
<p class="news-teaser">
Three founders share how a structured back-office gave them an edge
during due diligence — and closed their rounds faster.
</p>
<span class="news-date">May 2025</span>
</div>
<div class="news-card">
<div class="news-area">Manufacturing</div>
<div class="news-title">Real-time BoM costing saved a mid-size factory $40k</div>
<p class="news-teaser">
When raw material prices shifted overnight, live production cost tracking
allowed this team to reprice quotes before they lost margin.
</p>
<span class="news-date">April 2025</span>
</div>
<div class="news-card">
<div class="news-area">Restaurants</div>
<div class="news-title">Food cost under control: a chef's back-office story</div>
<p class="news-teaser">
Linking POS sales data to supplier invoices automatically flagged
a 12% food cost creep — caught in week one, fixed before it hurt.
</p>
<span class="news-date">March 2025</span>
</div>
</div>
</section>
<!-- ── PRICING ── -->
<section id="pricing">
<span class="section-label">Simple Pricing</span>
<h2 class="section-title">Transparent. Honest. No surprises.</h2>
<p class="section-sub">
Pick the plan that matches where your business is today.
You can always grow into more — on your timeline, not ours.
</p>
<div class="pricing-grid">
<div class="pricing-card">
<div class="pricing-plan">Side Hustle</div>
<div class="pricing-price">$214</div>
<div class="pricing-period">per year &nbsp;·&nbsp; billed annually</div>
<p class="pricing-quote">"No big customizations — that is all my business needs."</p>
<ul class="pricing-features">
<li>Core back-office modules</li>
<li>Invoicing &amp; basic accounting</li>
<li>Up to 3 users</li>
<li>Standard onboarding</li>
<li>Community support</li>
</ul>
<a class="pricing-cta" href="mailto:hello@my-biz.app?subject=Side Hustle Plan">Get Started</a>
</div>
<div class="pricing-card featured">
<div class="pricing-badge">Most Popular</div>
<div class="pricing-plan">On the Rise</div>
<div class="pricing-price">$395</div>
<div class="pricing-period">per year &nbsp;·&nbsp; billed annually</div>
<p class="pricing-quote">"I need some modules and professional reports."</p>
<ul class="pricing-features">
<li>Everything in Side Hustle</li>
<li>Industry-specific modules</li>
<li>Professional report templates</li>
<li>Up to 10 users</li>
<li>Priority onboarding</li>
<li>Email &amp; chat support</li>
</ul>
<a class="pricing-cta" href="mailto:hello@my-biz.app?subject=On the Rise Plan">Get Started</a>
</div>
</div>
</section>
<!-- ── CUSTOMIZATION ── -->
<section id="customization">
<span class="section-label">Customization</span>
<h2 class="section-title">Need something more bespoke?</h2>
<p class="section-sub">
Because we build on <strong>Odoo Community Edition</strong>, you are never locked in.
Choose the path that works best for your team and budget.
</p>
<div class="custom-grid">
<div class="custom-card">
<span class="custom-icon">🌐</span>
<div class="custom-title">Hire Any Odoo Developer</div>
<p class="custom-body">
Since we use Odoo CE, the world's largest open-source ERP community is at your fingertips.
Thousands of certified freelancers on <strong>Upwork</strong> and <strong>Fiverr</strong>
can extend, theme, or integrate your instance — no vendor lock-in, ever.
You own your code. You own your data.
</p>
<a class="custom-link" href="https://www.upwork.com/search/profiles/?q=odoo" target="_blank" rel="noopener">Browse Odoo Developers →</a>
</div>
<div class="custom-card">
<span class="custom-icon">🛠️</span>
<div class="custom-title">Our In-House Team</div>
<p class="custom-body">
Prefer to work with specialists who already know your setup inside-out?
Our senior Odoo developers are on call for custom modules, integrations,
data migrations, and anything else your business needs to scale.
Transparent scope, no hidden fees.
</p>
<span class="custom-rate">$65 USD / hour</span>
</div>
</div>
</section>
<!-- ── FOOTER ── -->
<footer>
<div class="footer-top">
<div class="footer-brand">
<a class="footer-logo" href="#">my-biz<span>.app</span></a>
<p>
A hassle-free all-in-one back-office built on Odoo Community Edition.
Specialists for NGOs, Startups, Manufacturing, and Restaurants.
</p>
</div>
<div class="footer-col">
<h4>Product</h4>
<ul>
<li><a href="#verticals">Verticals</a></li>
<li><a href="#pricing">Pricing</a></li>
<li><a href="#customization">Customization</a></li>
<li><a href="#news">News</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Company</h4>
<ul>
<li><a href="mailto:hello@my-biz.app">Contact Us</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Careers</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Legal</h4>
<ul>
<li><a href="#">Privacy Policy</a></li>
<li><a href="#">Terms of Service</a></li>
<li><a href="#">Cookie Policy</a></li>
<li><a href="#">Imprint</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<span>&copy; 2025 my-biz.app — All rights reserved.</span>
<div class="footer-legal">
<a href="#">Privacy</a>
<a href="#">Terms</a>
<a href="#">Imprint</a>
</div>
</div>
</footer>
</body>
</html>