DEV Community

Cover image for SQLite is All You Need? Why I Went DB-less and Rejected AI for a 38k Ticker Engine
Alex Vance
Alex Vance

Posted on

SQLite is All You Need? Why I Went DB-less and Rejected AI for a 38k Ticker Engine

The Tech Industry is Exhausted

If you've been monitoring the Hacker News homepage today, you've probably noticed a collective sigh of exhaustion from the developer community.

We are currently witnessing two massive, parallel debates:

  1. The DB Simplification Trend: "SQLite is all you need for durable workflows" is trending at the top of the homepage, proving that developers are desperately trying to escape the complexity of heavy cloud database clustering [obel1].
  2. The Frontend Crisis: "Is AI causing a repeat of frontend's lost decade?" is sparking furious debates. We are drowning in AI-generated "slop" and 50MB JavaScript bundles just to render basic application states.

We have over-engineered the modern web to the point of functional absurdity. We are burning millions of dollars in cloud compute and token bills to generate probabilistic "AI vibes" [obel1], all while our basic standard libraries are bloated and our frontend bundles require massive overhead.

When I set out to build DividendFlow—a tax-aware compounding engine for 38,000+ US tickers—I decided to reject this complexity entirely. Here is why I went DB-less, Auth-less, and AI-less to build a highly scalable financial utility.


1. Why Fintech Cannot Tolerate "AI Vibes"

In dividend growth investing, the calculation of future income is recursive. You take a starting principal, calculate the dividend payout, subtract the localized tax drag (Qualified vs. Ordinary rates), purchase fractional shares, and feed the new share count back into the loop for the next month.

If your "runtime" is an LLM agent or a prompt-based state machine, you are dealing with a standard deviation of accuracy.

A tiny 0.1% rounding error in your Qualified vs. Ordinary dividend tax calculation today compounds into a $50,000 shortfall over a 20-year horizon.

In FinTech, a 99% accurate model is 100% dangerous. We built our compounding engine in 100% deterministic TypeScript running on Next.js 15 Server Components (RSC).

// Strictly deterministic, zero-dependency compounding loop
export function calculateNetCompound(payout: number, taxRate: number, isQualified: boolean): number {
  const applicableRate = isQualified ? taxRate * 0.75 : taxRate; 
  return payout * (1 - applicableRate);
}
Enter fullscreen mode Exit fullscreen mode

2. SQLite is Great, But No Database is Better

While the industry is realizing that SQLite can handle durable workflows [obel1], I decided to go a step further: Zero Database.

Instead of storing user portfolios, contribution amounts, and tax brackets in a database (and dealing with connection limits, migrations, and security audits), I moved the entire application state to the URL address bar.

How the "URL-as-a-DB" Architecture Works:

  1. Stateless Execution: Every toggle change (Taxable vs. Tax-Free), monthly contribution tweak, or ticker selection instantly serializes into the URL parameters.
  2. Zero Latency: Since there is no database lookup for a user profile, every request is a pure function. Projections render in under 150ms at the Edge.
  3. Instant Portability: Users don't need a "Share" button. They copy the browser link, send it to a friend, and the engine re-runs the exact same math in under two seconds.

3. Escaping the Frontend's Lost Decade via Next.js 15

To fight the massive JS bundle bloat, we offloaded 240+ recursive compounding loops to the server.

By utilizing React Server Components (RSC), the user's browser receives zero calculation JavaScript and no heavy JSON arrays. It only receives the final coordinates required to render the chart.

It is lightweight, host-agnostic, and runs securely without requiring any private bank logins or OAuth credentials.

Conclusion

We’ve over-engineered the web. You don't always need a database. You don't always need AI. Sometimes, the most "senior" move you can make as an engineer is to say no to the cloud database tax, avoid the AI hype, and just write fast, accurate, deterministic code.

Test the deterministic Edge speed:

👉 DividendFlow.org


Are we over-complicating simple utility apps for the sake of modern tech-stack checklists? Let's discuss in the comments.

Top comments (0)