HN user

upmostly

716 karma

Building DB Pro at dbpro.app hit me up at james@dbpro.app

Posts20
Comments116
View on HN
www.dbpro.app 8d ago

SQLite Is All You Need

upmostly
46pts63
www.dbpro.app 17d ago

Solving Sudoku in Pure SQL

upmostly
3pts0
www.dbpro.app 1mo ago

Conway's Game of Life in Pure SQL

upmostly
2pts0
github.com 1mo ago

Show HN: Mira – Open-source and self-hosted AI code reviewer

upmostly
15pts2
www.dbpro.app 2mo ago

Show HN: DB Pro Studio – Self-hostable collaborative database client

upmostly
2pts0
www.dbpro.app 3mo ago

Do you even need a database?

upmostly
310pts298
www.dbpro.app 3mo ago

Chess in SQL

upmostly
187pts47
www.dbpro.app 5mo ago

Show HN: DB Pro Studio – A self-hosted, collaborative database client

upmostly
1pts0
www.dbpro.app 5mo ago

The Last of the JavaScript Frameworks

upmostly
5pts2
www.dbpro.app 5mo ago

PostgreSQL for Update Skip Locked: The One-Liner Job Queue

upmostly
1pts0
www.dbpro.app 6mo ago

Chess in Pure SQL

upmostly
3pts0
www.dbpro.app 7mo ago

SQLite JSON at full index speed using generated columns

upmostly
381pts114
www.dbpro.app 7mo ago

Show HN: Advent of SQL – A Daily SQL Puzzle Calendar Inspired by Advent of Code

upmostly
7pts0
www.dbpro.app 7mo ago

Show HN: DB Pro – A Modern Desktop Client for Postgres, MySQL, SQLite and LibSQL

upmostly
33pts15
hypership.dev 1y ago

Show HN: Deploy Next.js Apps with Auth, Analytics, Admin Dashboard and More

upmostly
1pts0
hypership.dev 1y ago

Show HN: Hypership – 1-Click Deploy Next.js Apps with Auth, Dashboard, and More

upmostly
3pts0
news.ycombinator.com 1y ago

Document.designMode = "On";

upmostly
5pts0
hypership.dev 1y ago

Show HN: Hypership – The All-in-One Platform for Deploying and Managing Web Apps

upmostly
4pts1
pixelma.com 3y ago

Show HN: Pixelma – 8bit sprites and backgrounds from any image

upmostly
1pts0
upmostly.com 8y ago

WordPress Gutenberg: Everything You Need to Know

upmostly
3pts0

Author here. This started because I read Evan Hahn's STRICT tables post [1] last week and got curious how far "just use SQLite" actually holds up under real load, not toy benchmarks.

So I built a small social app (Chirp: 50k users, 1M posts, ~2.5M follows) in one SQLite file, put it behind a plain Node server, and load tested it properly: real HTTP, real JSON serialization, autocannon hammering it over sockets. The worst query in the app (home timeline, which joins follows against posts, counts likes, sorts by time) still did 3,654 req/s on an M1 laptop, which works out to 315M requests/day.

The part I didn't expect going in: WAL vs the old rollback journal isn't a minor tuning knob, it's the whole story. Same query, same data, one pragma changed, and p99 read latency goes from 4.4ms to 133ms once you add a writer. That's the "SQLite locks and blocks everyone" reputation, and it's from a database mode most people don't even use anymore.

I also tried to be honest about where it falls over: reads stop scaling once anything writes (page cache invalidation, not lock contention), there's one write lock for the whole DB, and there's no failover if the box dies. Those are real constraints, not disclaimers.

Also benchmarked Node+better-sqlite3 vs Bun+bun:sqlite since I had the harness built anyway. Bun wins on cheap queries, Node wins on the expensive ones. Wasn't expecting a split.

Happy to answer questions on methodology, the STRICT table stuff, or why we ended up building this the way we did.

[1] https://evanhahn.com/prefer-strict-tables-in-sqlite/

If you thought that was bad, whatever you do, do NOT click the play button for the 5th step-by-step example: Expressions & Limbs.

I've never, EVER, in 18 years of being in this business, seen a software product demo of an emoji doing THAT before...

I suggest you change the demo.

1. Boys see girl 2. Boys fight over girl

Creator could have chosen literally anything else to represent their product but instead went with an animation of boy emojis fighting over a girl emoji.

Co-creator of Mira [1] here.

This is exactly what we built Mira for. It's self-hosted, bring-your-own-model/BYOK, and most importantly, open source.

You point it at your own API keys (e.g. OpenRouter or a local model) so nothing leaves your infra, and it runs as a code reviewer on PRs.

It's also ridiculously quick at reviewing (benchmarks at ~77s) because your PRs aren't sitting in a queue on a cloud somewhere (alternatives are > 5 minutes)

We're working really closely with our users to build the best possible code reviewer. Feedback and contributions are highly encouraged.

[1] https://github.com/miracodeai/mira

Building DB Pro [1]

A complete desktop app for browsing and editing your Postgres, MySQL, SQLite data, creating beautiful dashboards, and soon designing automated workflows for repeat tasks.

[1] https://dbpro.app

I've kept a devlog of the last 10 months of building DB Pro, which has been the best way to bring users to the product. I'd highly recommend folks starting a devlog if they can.

That's fine. That's not what I dislike.

What I dislike is "AI SLOP" seems to be the default response to anything remotely creative anymore.

Finished reading the article, having really enjoyed it (I grew up with Terry's books), came back to the HN comments and the top comment is someone ranting "dIS iS aye-EyE sLoP"

What a terrible, terrible timeline we live in now. Seriously. I genuinely hate it.

We're building a product [1] to compete with DataGrip, a JetBrains product.

Many people told us we were crazy to compete with such a mature product as DataGrip before we got started.

It has been fascinating to speak to people who use database apps and to learn about their experiences.

Now, we have many, many customers telling us that they have cancelled their DataGrip/JetBrains sub and have switched to using our product, mainly due to speed but also cost.

Their products are really, really slow.

[1] https://dbpro.app

One of my favourite things of being on HN is reading comments like this. Namely, devs who worked on games I played growing up. I absolutely love hearing stories from their past about little technical nuances like this comment. The more technical / specific, the better.

I'd honestly love to compile a book of "war stories" told by devs like netcoyote.

Maybe I will.

Net, if you're interested, hit me up.

I'm feel like I could write another post: Do you even need serverless/Cloud because we've also been brainwashed into thinking we need to spend hundreds/thousands a month on AWS when a tiny VPS will do.

Similar sentiment.

The irony isn’t lost on us, trust me. We spent a while debating whether to even publish this one.

But yeah, the page cache point is real and massively underappreciated. Modern infrastructure discourse skips past it almost entirely. A warm NVMe-backed file with the OS doing the caching is genuinely fast enough for most early-stage products.

We went through the exact same dilemma with our product [1]. For desktop apps, one-off with a defined support window just feels right.

Users get certainty, and you still have a clear path to future revenue when that window expires.

Subscription makes a lot more sense once you’re in cloud/collaborative territory which we've just entered. Sounds like you landed in a good place with this split.

[1] https://dbpro.app/pricing

This comment was surprising to me.

I never considered that people want to watch a video in this day and age when they can try the real thing.

Perhaps I've fallen into that trap with the product [1] I'm building. I have a "Live Demo" button on the landing page and thought that would be enough? I'm going to reconsider...

1. https://dbpro.app

Chess in SQL 4 months ago

Interesting. I'm a big fan of MMORPGs so hearing that this is how they were made is really cool.

I've always wondered what kind of stack games like EverQuest were built on.