1- import { NavLink } from 'react-router-dom' ;
1+ import { NavLink } from 'react-router-dom' ;
22import { motion } from 'framer-motion' ;
3- import { Zap , Database , Globe , ArrowRight , Server , ShieldCheck } from 'lucide-react' ;
3+ import { Zap , Database , Globe , ArrowRight , Server , ShieldCheck , Cpu , Layers , Workflow } from 'lucide-react' ;
44
55export default function Home ( ) {
66 return (
7- < div className = "min-h-screen bg-background text-zinc-100 overflow-hidden" >
7+ < div className = "min-h-screen bg-background text-zinc-100 overflow-hidden font-sans " >
88 { /* Hero Section */ }
99 < section className = "relative pt-32 pb-20 px-4" >
1010 < div className = "absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-orange-900/20 via-background to-background pointer-events-none" > </ div >
@@ -20,106 +20,150 @@ export default function Home() {
2020 < span className = "animate-ping absolute inline-flex h-full w-full rounded-full bg-orange-400 opacity-75" > </ span >
2121 < span className = "relative inline-flex rounded-full h-2 w-2 bg-orange-500" > </ span >
2222 </ span >
23- v1.0.0 Now Available
23+ v1.0.0 Stable Release
2424 </ div >
2525
26- < h1 className = "text-4xl md:text-7xl font-bold tracking-tight mb-6 bg-clip-text text-transparent bg-gradient-to-br from-white via-zinc-200 to-zinc-500" >
27- The Fastest Real-Time DB < br />
28- < span className = "text-white" > in the Known Universe .</ span >
26+ < h1 className = "text-4xl md:text-7xl font-bold tracking-tight mb-6 bg-clip-text text-transparent bg-gradient-to-br from-white via-zinc-200 to-zinc-500 leading-tight " >
27+ The Unified Storage Engine < br />
28+ < span className = "text-white" > for Hyper-Scale Apps .</ span >
2929 </ h1 >
3030
31- < p className = "text-xl text-zinc-400 max-w-2xl mx-auto mb-10 leading-relaxed" >
32- Built with Rust. Zero-copy architecture. < span className = "text-zinc-100 font-semibold" > 1M+ ops/sec </ span > .
33- NyroDB bridges the gap between in- memory caches and persistent storage.
31+ < p className = "text-xl text-zinc-400 max-w-3xl mx-auto mb-10 leading-relaxed" >
32+ Stop splitting your data between slow databases and fragile caches.
33+ < span className = "text-zinc-100 font-semibold block mt-2" > NyroDB is a zero-copy, memory-mapped engine that delivers 1M+ ops/sec with persistent reliability. </ span >
3434 </ p >
3535
3636 < div className = "flex flex-col sm:flex-row items-center justify-center gap-4" >
3737 < NavLink
3838 to = "/docs/getting_started/installation"
39- className = "px-8 py-3.5 rounded-lg bg-primary hover:bg-orange-700 text-white font-semibold transition-all shadow-lg shadow-orange-500/20 flex items-center gap-2"
39+ className = "px-8 py-3.5 rounded-lg bg-orange-600 hover:bg-orange-700 text-white font-semibold transition-all shadow-lg shadow-orange-500/20 flex items-center gap-2"
4040 >
41- Get Started < ArrowRight size = { 18 } />
41+ Build Fast < ArrowRight size = { 18 } />
4242 </ NavLink >
4343 < NavLink
4444 to = "/docs"
45- className = "px-8 py-3.5 rounded-lg bg-surface border border-border hover:border-zinc-600 text-zinc-300 font-medium transition-all"
45+ className = "px-8 py-3.5 rounded-lg bg-zinc-900 border border-zinc-800 hover:border-zinc-700 text-zinc-300 font-medium transition-all"
4646 >
47- Read Documentation
47+ Explore Docs
4848 </ NavLink >
4949 </ div >
5050 </ motion . div >
5151 </ div >
5252 </ section >
5353
54+ { /* About / Vision Section */ }
55+ < section className = "py-24 px-4 bg-zinc-950/50 border-y border-white/5" >
56+ < div className = "max-w-5xl mx-auto" >
57+ < div className = "grid md:grid-cols-2 gap-16 items-center" >
58+ < div >
59+ < h2 className = "text-3xl font-bold mb-6 text-white tracking-tight" > Killing the Cache-Aside Complexity.</ h2 >
60+ < div className = "space-y-4 text-zinc-400 leading-relaxed text-lg" >
61+ < p >
62+ Modern infrastructure is broken. We store data in "slow" databases and then build massive, complex sync layers to keep "fast" caches (Redis/Memcached) updated.
63+ </ p >
64+ < p >
65+ < span className = "text-orange-400 font-medium italic" > NyroDB was born to kill this pattern.</ span > By combining memory-mapped files with zero-copy serialization, we've created a system that is as fast as your RAM but as reliable as your NVMe.
66+ </ p >
67+ < p >
68+ Whether you're building high-frequency trading platforms or massive real-time games, NyroDB gives you a single source of truth that never lags.
69+ </ p >
70+ </ div >
71+ </ div >
72+ < div className = "grid grid-cols-2 gap-4" >
73+ < div className = "p-6 rounded-xl border border-zinc-800 bg-black flex flex-col items-center text-center" >
74+ < span className = "text-3xl font-bold text-white mb-1" > 1M+</ span >
75+ < span className = "text-xs text-zinc-500 uppercase tracking-widest" > Ops/Sec</ span >
76+ </ div >
77+ < div className = "p-6 rounded-xl border border-zinc-800 bg-black flex flex-col items-center text-center" >
78+ < span className = "text-3xl font-bold text-white mb-1" > <1μs</ span >
79+ < span className = "text-xs text-zinc-500 uppercase tracking-widest" > Latency</ span >
80+ </ div >
81+ < div className = "p-6 rounded-xl border border-zinc-800 bg-black flex flex-col items-center text-center" >
82+ < span className = "text-3xl font-bold text-white mb-1" > 0</ span >
83+ < span className = "text-xs text-zinc-500 uppercase tracking-widest" > Copy Overh.</ span >
84+ </ div >
85+ < div className = "p-6 rounded-xl border border-zinc-800 bg-black flex flex-col items-center text-center" >
86+ < span className = "text-3xl font-bold text-white mb-1" > ∞</ span >
87+ < span className = "text-xs text-zinc-500 uppercase tracking-widest" > Scalability</ span >
88+ </ div >
89+ </ div >
90+ </ div >
91+ </ div >
92+ </ section >
93+
5494 { /* Features Grid */ }
55- < section className = "py-24 px-4 border-t border-white/5" >
95+ < section className = "py-24 px-4" >
96+ < div className = "text-center mb-16" >
97+ < h2 className = "text-3xl font-bold mb-4" > Core Architecture</ h2 >
98+ < p className = "text-zinc-500" > Built for the limits of modern hardware.</ p >
99+ </ div >
56100 < div className = "max-w-6xl mx-auto grid md:grid-cols-3 gap-8" >
57101 < FeatureCard
58102 icon = { Zap }
59- title = "Extreme Performance "
60- desc = "Capable of over 1,000,000 operations per second with sub-microsecond latency using mmap and atomic batching ."
103+ title = "Extreme Throughput "
104+ desc = "Utilizes asynchronous batching and wait-free data structures to saturate your I/O subsystem ."
61105 />
62106 < FeatureCard
63107 icon = { Globe }
64- title = "Native Real-Time "
65- desc = "Built -in WebSocket server pushes updates instantly. No external message queues (Redis/Kafka) required ."
108+ title = "Native WebSocket Layer "
109+ desc = "A built -in pub/sub engine allows clients to subscribe to specific JSON paths and get updates in real-time ."
66110 />
67111 < FeatureCard
68112 icon = { Database }
69- title = "Universal Indexing"
70- desc = "O(1) secondary lookups on any JSON field. Query by metadata instantly without schema migrations ."
113+ title = "O(1) Secondary Indexing"
114+ desc = "NyroDB automatically indexes your JSON fields without schema definitions or heavy migration scripts ."
71115 />
72116 < FeatureCard
73117 icon = { ShieldCheck }
74- title = "Production Ready "
75- desc = "ACID-compliant persistence with WAL recovery. Secure API Key authentication built-in ."
118+ title = "ACID Persistence "
119+ desc = "Atomic, Consistent, Isolated, and Durable. Your data is safe even during power failure via WAL recovery ."
76120 />
77121 < FeatureCard
78- icon = { Server }
79- title = "Rust Powered "
80- desc = "Memory safe, thread safe, and compiled to a single binary. Zero garbage collection pauses ."
122+ icon = { Cpu }
123+ title = "Rust & Zero-Copy "
124+ desc = "Data is accessed directly via memory pointers. No serialization overhead, no GC, no compromises ."
81125 />
82126 < FeatureCard
83- icon = { ArrowRight }
84- title = "Zero-Copy Storage "
85- desc = "Data maps directly from disk to memory, bypassing user-space copy overhead entirely ."
127+ icon = { Layers }
128+ title = "Multi-Tenant Auth "
129+ desc = "Strict API-key validation and namespace isolation for secure multi-application environments ."
86130 />
87131 </ div >
88132 </ section >
89133
90134 { /* Code Demo */ }
91- < section className = "py-20 px-4 bg-surface/30 " >
135+ < section className = "py-20 px-4 bg-zinc-950 border-t border-white/5 " >
92136 < div className = "max-w-5xl mx-auto flex flex-col md:flex-row items-center gap-12" >
93137 < div className = "flex-1 space-y-6" >
94- < h2 className = "text-3xl font-bold" > Simple yet Powerful API</ h2 >
138+ < h2 className = "text-3xl font-bold" > Simple, Declarative API</ h2 >
95139 < p className = "text-zinc-400" >
96- Interact via standard HTTP or WebSocket. Client libraries available for all major languages .
140+ NyroDB abstracts the complexity of mmap and thread-safety behind a clean REST and WebSocket interface .
97141 </ p >
98142 < div className = "space-y-4" >
99- < CheckItem text = "RESTful endpoints for CRUD" />
100- < CheckItem text = "WebSocket Pub/Sub" />
101- < CheckItem text = "JSON Native Storage" />
143+ < CheckItem text = "RESTful endpoints for instant CRUD" />
144+ < CheckItem text = "Schema-less JSON native storage" />
145+ < CheckItem text = "Instant pub/sub over WebSockets" />
146+ < CheckItem text = "Metrics endpoint for real-time monitoring" />
102147 </ div >
103148 </ div >
104149
105150 < div className = "flex-1 w-full relative" >
106- < div className = "absolute inset-0 bg-primary/20 blur-3xl rounded-full" > </ div >
107- < div className = "relative bg-[#0d0d10 ] border border-border rounded-xl p-6 shadow-2xl font-mono text-sm overflow-hidden" >
151+ < div className = "absolute inset-0 bg-orange-500/10 blur-3xl rounded-full" > </ div >
152+ < div className = "relative bg-[#09090b ] border border-zinc-800 rounded-xl p-6 shadow-2xl font-mono text-sm overflow-hidden" >
108153 < div className = "flex gap-2 mb-4" >
109154 < div className = "w-3 h-3 rounded-full bg-red-500/20 border border-red-500/50" > </ div >
110155 < div className = "w-3 h-3 rounded-full bg-yellow-500/20 border border-yellow-500/50" > </ div >
111156 < div className = "w-3 h-3 rounded-full bg-green-500/20 border border-green-500/50" > </ div >
112157 </ div >
113158 < div className = "text-zinc-400" >
114- < span className = "text-purple-400" > POST</ span > /insert/user < span className = "text-zinc-600" > HTTP/1.1</ span > < br />
159+ < span className = "text-purple-400" > POST</ span > /insert/metrics < span className = "text-zinc-600" > HTTP/1.1</ span > < br />
115160 < span className = "text-blue-400" > Content-Type:</ span > application/json< br />
116- < span className = "text-blue-400" > x-api-key:</ span > secret_key< br />
117161 < br />
118- < span className = "text-zinc-300" > { `{` } </ span > < br />
119- < span className = "text-green-400" > "id "</ span > : < span className = "text-orange-400" > 1024 </ span > ,< br />
120- < span className = "text-green-400" > "email "</ span > : < span className = "text-yellow-300" > "nyro@db.io" </ span > ,< br />
121- < span className = "text-green-400" > "role "</ span > : < span className = "text-yellow-300" > "admin "</ span > < br />
122- < span className = "text-zinc-300" > { `}` } </ span >
162+ < span className = "text-zinc-300" > { { } < / s p a n > < b r / >
163+ & nbsp ; & nbsp ; < span className = "text-green-400" > "service " < / s p a n > : < s p a n c l a s s N a m e = " t e x t - y e l l o w - 3 0 0 " > " a u t h - n o d e - 1 " < / span> , < br />
164+ & nbsp ; & nbsp ; < span className = "text-green-400" > "tps "</ span > : < span className = "text-orange-400" > 1250000 < / s p a n > , < b r / >
165+ & nbsp ; & nbsp ; < span className = "text-green-400" > "status " < / s p a n > : < s p a n c l a s s N a m e = " t e x t - y e l l o w - 3 0 0 " > " h e a l t h y " < / span> < br />
166+ < span className = "text-zinc-300" > { } } </ span >
123167 </ div >
124168 </ div >
125169 </ div >
@@ -129,23 +173,23 @@ export default function Home() {
129173 ) ;
130174}
131175
132- function FeatureCard ( { icon : Icon , title, desc } : { icon : any , title : string , desc : string } ) {
176+ function FeatureCard ( { icon : Icon , title, desc } : { icon : any , title : string , desc : string } ) {
133177 return (
134- < div className = "p-6 rounded-xl bg-surface /40 border border-white/5 hover:border-primary /50 transition-colors group" >
135- < div className = "w-12 h-12 rounded-lg bg-surface flex items-center justify-center mb-4 group-hover:bg-primary/20 transition-colors" >
136- < Icon className = "text-zinc-400 group-hover:text-primary transition-colors" size = { 24 } />
178+ < div className = "p-8 rounded-xl bg-zinc-900 /40 border border-zinc-800 hover:border-orange-500 /50 transition-all group" >
179+ < div className = "w-12 h-12 rounded-lg bg-zinc-900 flex items-center justify-center mb-6 group-hover:bg-orange-500/10 transition-colors border border-zinc-800 group-hover:border-orange-500/20 " >
180+ < Icon className = "text-zinc-500 group-hover:text-orange-400 transition-colors" size = { 24 } />
137181 </ div >
138- < h3 className = "text-lg font-bold text-white mb-2 " > { title } </ h3 >
139- < p className = "text-sm text- zinc-400 leading-relaxed" > { desc } </ p >
182+ < h3 className = "text-xl font-bold text-white mb-3 tracking-tight " > { title } </ h3 >
183+ < p className = "text-zinc-400 leading-relaxed" > { desc } </ p >
140184 </ div >
141185 ) ;
142186}
143187
144188function CheckItem ( { text } : { text : string } ) {
145189 return (
146190 < div className = "flex items-center gap-3" >
147- < div className = "w-5 h-5 rounded-full bg-green -500/20 flex items-center justify-center" >
148- < div className = "w-1.5 h-1.5 rounded-full bg-green -500" > </ div >
191+ < div className = "w-5 h-5 rounded-full bg-orange-500/10 border border-orange -500/20 flex items-center justify-center" >
192+ < div className = "w-1.5 h-1.5 rounded-full bg-orange -500" > </ div >
149193 </ div >
150194 < span className = "text-zinc-300" > { text } </ span >
151195 </ div >
0 commit comments