Faster Everything
Major infrastructure upgrade cuts load times and improves reliability across the board.
Arivu just got faster. A lot faster.
We migrated the entire frontend to React 19 and Vite, and the difference is night and day. Cold starts that used to take seconds now happen in milliseconds. The app feels instant—not “fast for a web app” instant, but actually instant.
Why We Rebuilt
Our previous build system was showing its age. Development builds took too long, hot reloads weren’t hot enough, and we were leaving performance on the table. Vite changed everything. Hot module replacement now happens before your finger leaves the keyboard. The dev server starts in under a second. And the production bundles? Leaner, meaner, faster to load.
The numbers tell the story. Our development server used to take 8-12 seconds to spin up—enough time to lose your train of thought, check email, or start questioning your career choices. Now it starts in under 400 milliseconds. That’s not an incremental improvement; that’s a different experience entirely. When your tools respond instantly, you stay in flow. When they make you wait, you drift.
Bundle sizes dropped by 40%. We’re shipping less JavaScript to your browser, which means faster initial loads on every device and network condition. The old build system bundled everything together in ways that made code-splitting awkward. Vite’s native ES modules and Rollup-based production builds give us granular control over what loads when. Your dashboard doesn’t need to download the Knowledge Graph code until you actually visit the Knowledge Graph.
React 19 brings its own magic. The new compiler eliminates entire categories of re-renders that used to slow things down. Suspense boundaries load your bookmarks progressively—you see content immediately instead of staring at spinners. Actions handle form submissions with built-in optimistic updates, so saving a bookmark feels instantaneous even before the server responds.
The React Compiler is the big story here. Previously, we relied on manual memoization—wrapping components in memo(), carefully managing useMemo and useCallback to prevent unnecessary re-renders. It worked, but it was fragile. Miss one dependency array and performance degrades silently. The new compiler analyzes your component tree and automatically optimizes render paths. Components that don’t need to re-render simply don’t. No manual intervention required.
Suspense boundaries transform how content appears. Instead of the old pattern—show a loading spinner, wait for everything, then reveal it all at once—React 19 lets us stream content as it becomes ready. Your sidebar loads first because it’s cached locally. Your bookmarks appear as they arrive from the server. The Knowledge Graph renders its nodes progressively. The psychological effect is profound: the app feels alive and responsive rather than frozen and waiting.
Actions replace our old pattern of managing loading states, error handling, and optimistic updates manually. When you click “Save Bookmark,” the UI updates immediately to show the bookmark saved. If the server confirms success, nothing changes—it already looked right. If the server fails, we roll back gracefully. This pattern used to require dozens of lines of careful state management. Now it’s built into the framework.
What You’ll Notice
Your dashboard loads faster. Search results appear quicker. Navigating between collections feels like flipping pages in a book, not waiting for web requests. The Knowledge Graph renders smoothly even with hundreds of nodes. Everything responds to your clicks without that subtle lag that makes apps feel sluggish.
The search experience received particular attention. Before, typing in the search box triggered a cascade of re-renders as results filtered in real-time. The React Compiler optimizes this automatically now, but we also restructured how search results stream from the server. Results now appear within 50-100 milliseconds of your keystroke. At that speed, search feels like an extension of your thoughts rather than a query you submit and wait for.
Collection navigation is where the Vite improvements shine brightest. Each collection view is code-split into its own chunk. When you click “Research” or “Read Later,” the code for that view is already cached from your first visit—or loads in parallel while the navigation animation plays. The result: navigation feels instantaneous, even on slower connections.
The Knowledge Graph was our stress test. With hundreds of bookmarks connected by AI-discovered relationships, the previous implementation would occasionally stutter during initial render or when panning across large graphs. React 19’s improved concurrent rendering keeps the main thread free. You can pan, zoom, and explore without the browser ever feeling like it’s struggling to keep up.
We didn’t add any new features in this update. We just made the features you already use feel like they’re running on better hardware.
That’s not false modesty—it’s a statement of priorities. Features are easy to announce. Performance is hard to communicate but impossible to ignore once you experience it. Every interaction in Arivu now happens faster: opening a bookmark, editing tags, switching views, loading the extension popup. The cumulative effect of hundreds of micro-improvements creates an app that feels fundamentally different to use.
This update is also about maintainability. The new architecture makes future features faster to build and less likely to introduce performance regressions. When your foundation is solid, everything you build on top of it benefits. The next features we ship will be faster by default because they inherit the performance characteristics of the new stack.
Other Changes
- Backend cleanup and security hardening — Tightened authentication flows, improved input validation, and removed deprecated code paths
- Marketing site SEO improvements — Better meta tags, structured data, and optimized content for search engines
- Unified branding and aesthetics — Consistent typography, spacing, and visual language across the dashboard, marketing site, and extension