feat(boc): Complete Business Operations Center v1.0

- Go backend API with full CRUD for all modules (CRM, Sales, Finance, HR, Legal, Marketing, Support, Purchase, Inventory, Projects, Automation, Analytics)
- Rust analytics service with parallel report generation
- C runtime with POSIX shared memory IPC
- PostgreSQL schema with 30+ tables, full migrations
- Redis cache, sessions, pub/sub
- Kafka event streaming with Zookeeper
- WebSocket hub for real-time updates
- Automation engine with cron jobs, workflows, event triggers
- JWT authentication, multi-tenant from start
- Docker Compose with all services
- Nginx reverse proxy with rate limiting
- Integration tests passing
- Feature gap analysis against Fortnox/Odoo/Visma

Refs: BOC-001
This commit is contained in:
Bernt
2026-07-12 12:41:35 +00:00
parent 4789a7fb48
commit 58ca4e68db
26666 changed files with 575891 additions and 2074516 deletions
+365
View File
@@ -0,0 +1,365 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>QUIXZOOM — Real-World Intelligence Network</title>
<meta name="description" content="QUIXZOOM turns real-world observations into verified intelligence. Earn money as a Zoomer or get field data for your organization.">
<link rel="canonical" href="https://www.landvex.com/quixzoom/">
<meta name="robots" content="index, follow">
<meta property="og:title" content="QUIXZOOM — Real-World Intelligence Network">
<meta property="og:description" content="QUIXZOOM turns real-world observations into verified intelligence. Earn money as a Zoomer or get field data for your organization.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://www.landvex.com/quixzoom/">
<meta property="og:image" content="https://www.landvex.com/og-image.png">
<meta property="og:locale" content="en_US">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="QUIXZOOM — Real-World Intelligence Network">
<meta name="twitter:description" content="QUIXZOOM turns real-world observations into verified intelligence. Earn money as a Zoomer or get field data for your organization.">
<meta name="twitter:image" content="https://www.landvex.com/og-image.png">
<link rel="alternate" hreflang="sv" href="https://www.landvex.com/quixzoom/?lang=sv">
<link rel="alternate" hreflang="en" href="https://www.landvex.com/quixzoom/">
<link rel="alternate" hreflang="x-default" href="https://www.landvex.com/quixzoom/">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebPage",
"name": "QUIXZOOM — Real-World Intelligence Network",
"description": "QUIXZOOM turns real-world observations into verified intelligence. Earn money as a Zoomer or get field data for your organization.",
"url": "https://www.landvex.com/quixzoom/",
"inLanguage": "en",
"isPartOf": {
"@id": "https://landvex.com/#organization"
}
}
</script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #333; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
/* Hero */
.hero {
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
color: white;
padding: 100px 0 80px;
text-align: center;
}
.hero h1 {
font-size: 3.5rem;
font-weight: 800;
margin-bottom: 1rem;
letter-spacing: -0.02em;
}
.hero .tagline {
font-size: 1.5rem;
opacity: 0.9;
margin-bottom: 3rem;
font-weight: 300;
}
/* Audience Cards */
.audiences {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 2rem;
padding: 4rem 0;
}
.audience-card {
background: white;
border-radius: 16px;
padding: 2.5rem;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
transition: transform 0.2s, box-shadow 0.2s;
}
.audience-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.audience-card h2 {
font-size: 1.5rem;
margin-bottom: 0.5rem;
color: #1a1a2e;
}
.audience-card .subtitle {
color: #666;
font-size: 0.95rem;
margin-bottom: 1.5rem;
}
.audience-card .benefits {
list-style: none;
margin-bottom: 2rem;
}
.audience-card .benefits li {
padding: 0.5rem 0;
padding-left: 1.5rem;
position: relative;
}
.audience-card .benefits li::before {
content: "✓";
position: absolute;
left: 0;
color: #10b981;
font-weight: bold;
}
.btn {
display: inline-block;
padding: 1rem 2rem;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
transition: all 0.2s;
width: 100%;
text-align: center;
}
.btn-primary {
background: #e94560;
color: white;
}
.btn-primary:hover {
background: #d63d56;
}
.btn-secondary {
background: #f3f4f6;
color: #1a1a2e;
}
.btn-secondary:hover {
background: #e5e7eb;
}
/* How It Works */
.how-it-works {
background: #f8f9fa;
padding: 5rem 0;
}
.how-it-works h2 {
text-align: center;
font-size: 2.5rem;
margin-bottom: 3rem;
}
.steps {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}
.step {
text-align: center;
padding: 2rem;
}
.step-number {
width: 60px;
height: 60px;
background: #e94560;
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
font-weight: bold;
margin: 0 auto 1.5rem;
}
.step h3 {
font-size: 1.25rem;
margin-bottom: 0.5rem;
}
/* Products */
.products {
padding: 5rem 0;
}
.products h2 {
text-align: center;
font-size: 2.5rem;
margin-bottom: 3rem;
}
.product-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.product-card {
border: 2px solid #e5e7eb;
border-radius: 16px;
padding: 2rem;
transition: border-color 0.2s;
}
.product-card:hover {
border-color: #e94560;
}
.product-card h3 {
font-size: 1.5rem;
margin-bottom: 0.5rem;
}
.product-card .badge {
display: inline-block;
background: #e94560;
color: white;
padding: 0.25rem 0.75rem;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 600;
margin-bottom: 1rem;
}
.product-card p {
color: #666;
margin-bottom: 1.5rem;
}
/* Footer */
footer {
background: #1a1a2e;
color: white;
padding: 3rem 0;
text-align: center;
}
footer p {
opacity: 0.7;
}
@media (max-width: 768px) {
.hero h1 { font-size: 2.5rem; }
.hero .tagline { font-size: 1.2rem; }
}
</style>
</head>
<body>
<section class="hero">
<div class="container">
<h1>QUIXZOOM</h1>
<p class="tagline">Real-world observations become verified intelligence.</p>
</div>
</section>
<section class="container">
<div class="audiences">
<div class="audience-card">
<h2>Become a Zoomer</h2>
<p class="subtitle">Get paid to document the world around you</p>
<ul class="benefits">
<li>Flexible work — choose your missions</li>
<li>Fast payments via Stripe Connect</li>
<li>No experience needed</li>
<li>Work anywhere, anytime</li>
</ul>
<a href="/zoomers" class="btn btn-primary">Start Earning →</a>
</div>
<div class="audience-card">
<h2>Book Missions</h2>
<p class="subtitle">Get verified visual data from the field</p>
<ul class="benefits">
<li>Verified contributors only</li>
<li>AI-validated submissions</li>
<li>Results in hours, not days</li>
<li>Global coverage</li>
</ul>
<a href="/missions" class="btn btn-primary">Book a Demo →</a>
</div>
<div class="audience-card">
<h2>Reality Alerts™</h2>
<p class="subtitle">Receive AI-verified crowd observations</p>
<ul class="benefits">
<li>Real-time problem detection</li>
<li>Automatic routing to you</li>
<li>No manual triage needed</li>
<li>Pay only for verified alerts</li>
</ul>
<a href="/reality-alerts" class="btn btn-primary">Talk to Sales →</a>
</div>
<div class="audience-card">
<h2>Developers</h2>
<p class="subtitle">Build on our intelligence network</p>
<ul class="benefits">
<li>REST API with webhooks</li>
<li>Real-time data streams</li>
<li>Comprehensive documentation</li>
<li>SDKs available</li>
</ul>
<a href="/developers" class="btn btn-secondary">View Docs →</a>
</div>
</div>
</section>
<section class="how-it-works">
<div class="container">
<h2>How It Works</h2>
<div class="steps">
<div class="step">
<div class="step-number">1</div>
<h3>Submit</h3>
<p>Zoomer takes photos and submits via app</p>
</div>
<div class="step">
<div class="step-number">2</div>
<h3>Verify</h3>
<p>AI validates quality and relevance</p>
</div>
<div class="step">
<div class="step-number">3</div>
<h3>Route</h3>
<p>Observation reaches the right stakeholder</p>
</div>
<div class="step">
<div class="step-number">4</div>
<h3>Reward</h3>
<p>Zoomer gets paid for verified work</p>
</div>
</div>
</div>
</section>
<section style="background: #f8f9fa; padding: 4rem 0; margin: 3rem 0;">
<div class="container">
<h2 style="text-align: center; margin-bottom: 1rem;">Why this matters</h2>
<p style="text-align: center; color: #666; max-width: 700px; margin: 0 auto 3rem;">The field intelligence market has proven what's possible. Here's what we learned from the best.</p>
<div class="product-grid">
<div class="product-card" style="border-left: 4px solid #00d4aa;">
<h3>Premise proved global crowd scaling</h3>
<p>100,000+ workers in 140+ countries. Pricing benchmark at $0.505 per task. <strong>We learned:</strong> human observation scales globally without own employees.</p>
</div>
<div class="product-card" style="border-left: 4px solid #e94560;">
<h3>What raw collection misses</h3>
<p>Premise was acquired in 2025. Raw data without analysis layer doesn't build lasting value. <strong>We built:</strong> a platform where every observation makes the next one smarter.</p>
</div>
</div>
<p style="text-align: center; margin-top: 2rem; color: #666; font-style: italic;">"Premise collected data. We turn data into decisions. That's the difference between raw material and refinery."</p>
<p style="text-align: center; margin-top: 1rem;"><a href="/position/" style="color: #e94560; text-decoration: none; font-weight: 600;">Read our full position →</a></p>
</div>
</section>
<section class="products container">
<h2>Products</h2>
<div class="product-grid">
<div class="product-card">
<span class="badge">For Organizations</span>
<h3>Scheduled Missions</h3>
<p>Plan and assign field photography missions. Get visual verification of assets without sending your own staff.</p>
<a href="/missions" class="btn btn-secondary">Learn More →</a>
</div>
<div class="product-card">
<span class="badge">For Organizations</span>
<h3>Reality Alerts™</h3>
<p>Anyone can submit infrastructure observations. AI validates and routes to responsible parties in real-time.</p>
<a href="/reality-alerts" class="btn btn-secondary">Learn More →</a>
</div>
<div class="product-card">
<span class="badge">For Organizations</span>
<h3>Reality Intelligence</h3>
<p>Analytics platform that turns observations into actionable insights. Trends, predictions, and reports.</p>
<a href="/intelligence" class="btn btn-secondary">Learn More →</a>
</div>
</div>
</section>
<footer>
<div class="container">
<p>© 2026 QUIXZOOM by Landvex. All rights reserved.</p>
</div>
</footer>
</body>
</html>