<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sledoview - The Missing Viewer for Sled Databases</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet">
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
sans: ['Inter', 'sans-serif'],
mono: ['JetBrains Mono', 'monospace'],
},
colors: {
rust: '#E36209', // A vibrant, Rust-inspired orange
}
}
}
}
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-36KWZG6QQ8"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-36KWZG6QQ8');
</script>
</head>
<body class="bg-gray-50 text-slate-900 font-sans antialiased selection:bg-rust selection:text-white">
<header class="max-w-6xl mx-auto px-6 py-6 flex justify-between items-center">
<div class="font-bold text-2xl tracking-tight text-slate-900">
Sledoview<span class="text-rust">.</span>
</div>
<a href="https://github.com/sgchris/sledoview" target="_blank" rel="noopener noreferrer" class="flex items-center gap-2 text-sm font-semibold text-slate-600 hover:text-rust transition-colors">
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path>
</svg>
GitHub
</a>
</header>
<main class="max-w-4xl mx-auto px-6 pt-16 pb-12 text-center">
<h1 class="text-5xl md:text-6xl font-extrabold tracking-tight text-slate-900 mb-6">
The Missing Viewer <br class="hidden md:block" /> for <span class="text-transparent bg-clip-text bg-gradient-to-r from-rust to-orange-400">Sled Databases</span>
</h1>
<p class="text-lg md:text-xl text-slate-600 mb-10 max-w-2xl mx-auto leading-relaxed">
A fast, lightweight, terminal-based database browser built in Rust. Inspect keys, search values, and debug your embedded databases instantly.
</p>
<div class="flex flex-col sm:flex-row justify-center items-center gap-4">
<a href="https://github.com/sgchris/sledoview" class="w-full sm:w-auto px-8 py-3.5 bg-rust text-white font-semibold rounded-lg shadow-md hover:bg-orange-700 transition-all focus:ring-4 focus:ring-orange-200">
View Repository
</a>
<a href="#install" class="w-full sm:w-auto px-8 py-3.5 bg-white text-slate-700 border border-slate-200 font-semibold rounded-lg shadow-sm hover:bg-slate-50 transition-all focus:ring-4 focus:ring-slate-100">
Quick Install
</a>
</div>
</main>
<section class="max-w-5xl mx-auto px-6 mb-20">
<div class="rounded-xl overflow-hidden shadow-2xl bg-[#1e1e1e] border border-slate-700">
<div class="bg-[#2d2d2d] px-4 py-3 flex items-center gap-2">
<div class="w-3 h-3 rounded-full bg-red-500"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500"></div>
<div class="w-3 h-3 rounded-full bg-green-500"></div>
<div class="ml-4 text-xs text-slate-400 font-mono">user@macbook: ~/tmp</div>
</div>
<div class="p-6 text-sm font-mono text-slate-300 leading-relaxed overflow-x-auto whitespace-pre">
<span class="text-green-400">➜</span> <span class="text-blue-400">tmp</span> <span class="text-slate-100">sledoview ./grotel.db</span>
<span class="text-cyan-300 font-bold">SledoView - SLED Database Viewer</span>
<span class="text-cyan-300">═══════════════════════════════════</span>
<span class="text-yellow-400">Validating database...</span>
<span class="text-green-400">✓ Database validation passed</span>
<span class="text-green-400">✓ Successfully opened database: grotel.db</span>
<span class="text-cyan-300 font-bold">Interactive SLED Database Client</span>
<span class="text-slate-500">Type 'help' for available commands or 'exit' to quit.</span>
<span class="text-slate-500">Use TAB for completion, type partial keys and TAB to auto-complete!</span>
<span class="text-slate-100">> trees</span>
<span class="text-blue-400">Found <span class="text-yellow-300 font-bold">3</span> trees:</span>
<span class="text-cyan-300">another-service</span>
<span class="text-cyan-300">my-service</span>
<span class="text-cyan-300">settings</span>
<span class="text-slate-100">> select another-service</span>
<span class="text-green-400">✓ Selected tree: another-service</span>
<span class="text-slate-100">[another-service]> set "my-custom-key" "some custom value"</span>
<span class="text-green-400">✓ Successfully set key <span class="text-cyan-300 font-bold">my-custom-key</span> with value</span>
<span class="text-blue-400">Value:</span> <span class="text-slate-100">some custom value</span>
<span class="text-slate-100">[another-service]> list my-custom*</span>
<span class="text-blue-400">Found <span class="text-yellow-300 font-bold">1</span> keys:</span>
<span class="text-slate-500">1</span>: <span class="text-slate-100">my-custom-key</span> = <span class="text-green-400">some custom value</span>
<span class="text-slate-100">[another-service]> get my-custom-key</span>
<span class="text-cyan-300">══════════════════════════════════════════════════</span>
<span class="text-blue-400 font-bold">Key:</span> <span class="text-cyan-300 font-bold">my-custom-key</span>
<span class="text-blue-400 font-bold">Size:</span> <span class="text-yellow-300">17</span> bytes
<span class="text-blue-400 font-bold">UTF-8:</span> <span class="text-green-400">Yes</span>
<span class="text-blue-400 font-bold">Value:</span>
<span class="text-slate-500">──────────────────────────────────────────────────</span>
<span class="text-slate-100">some custom value</span>
<span class="text-cyan-300">══════════════════════════════════════════════════</span>
<span class="text-slate-100">[another-service]></span>
</div>
</div>
</section>
<section id="install" class="max-w-3xl mx-auto px-6 mb-24">
<div class="text-center mb-4">
<h2 class="text-sm font-bold uppercase tracking-widest text-slate-400">Get Started Immediately</h2>
</div>
<div class="bg-slate-900 rounded-lg p-4 flex justify-between items-center shadow-lg border border-slate-800">
<code class="font-mono text-green-400 text-sm md:text-base">$ cargo install sledoview</code>
<button onclick="navigator.clipboard.writeText('cargo install sledoview')" class="p-2 text-slate-400 hover:text-white transition-colors" title="Copy to clipboard">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3"></path>
</svg>
</button>
</div>
</section>
<section class="bg-white border-t border-slate-200 py-20">
<div class="max-w-6xl mx-auto px-6">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
<div>
<div class="w-12 h-12 bg-orange-100 text-rust rounded-lg flex items-center justify-center mb-4 text-2xl">⚡</div>
<h3 class="text-lg font-bold text-slate-900 mb-2">Blazing Fast</h3>
<p class="text-slate-600 text-sm leading-relaxed">Written entirely in Rust. Handles large Sled databases smoothly without consuming all your memory.</p>
</div>
<div>
<div class="w-12 h-12 bg-blue-100 text-blue-600 rounded-lg flex items-center justify-center mb-4 text-2xl">🔍</div>
<h3 class="text-lg font-bold text-slate-900 mb-2">Effortless Search</h3>
<p class="text-slate-600 text-sm leading-relaxed">Quickly filter through keys or payloads to find exactly what you are looking for in seconds.</p>
</div>
<div>
<div class="w-12 h-12 bg-green-100 text-green-600 rounded-lg flex items-center justify-center mb-4 text-2xl">💻</div>
<h3 class="text-lg font-bold text-slate-900 mb-2">Cross-Platform</h3>
<p class="text-slate-600 text-sm leading-relaxed">Runs natively on Linux, macOS, and Windows. If you have a terminal, you can run Sledoview.</p>
</div>
<div>
<div class="w-12 h-12 bg-purple-100 text-purple-600 rounded-lg flex items-center justify-center mb-4 text-2xl">🛠️</div>
<h3 class="text-lg font-bold text-slate-900 mb-2">Zero Config</h3>
<p class="text-slate-600 text-sm leading-relaxed">No complex setup files required. Just point the CLI at your database directory path and start browsing.</p>
</div>
</div>
</div>
</section>
<footer class="max-w-6xl mx-auto px-6 py-10 border-t border-slate-200 mt-auto flex flex-col md:flex-row justify-between items-center gap-4">
<div class="text-sm text-slate-500">
© 2026 Sledoview. Released under the MIT License.
</div>
<div class="flex gap-6 text-sm font-medium text-slate-600">
<a href="https://github.com/sgchris/sledoview/issues" class="hover:text-rust transition-colors">Report an Issue</a>
<a href="https://github.com/sgchris/sledoview/pulls" class="hover:text-rust transition-colors">Contribute</a>
</div>
</footer>
</body>
</html>