Live data from Hacker News

Show HN: InstantDB – A Modern Firebase

github.com

71–80 of 308 posts

Re: Show HN: InstantDB – A Modern Firebase

#72
post #39
post #4

What isn’t modern about Firebase and what makes this modern in comparison?

When Firebase was first built, using a document store was a great choice for building a local abstraction that enabled optimistic updates and offline mode. But the lack of relations makes it a real schlep to change your data model when you start adding new features to your app. You end up hand-rolling joins or duplicating your data to avoid complete re-writes. [1] With Instant, you get a relational Firebase. [1] http…

One of the first things I've found myself doing with the few firebase realtime database based projects I've made is some kind of abstraction to emulate joins.

I realise that this is probably a symptom of "holding it wrong" and not embracing denormalization, but it was always present and also horrifically inefficient w.r.t to firebases pricing due to the amplifying effect it had on reads - none of those projects would've been practical to take to market without reworking that significantly.

Really what I wanted was a relational database that also did the fun/flashy real time updates without the heavy lifting. At face value it sounds like you're offering exactly what I wanted so I look forward to giving it a try next time!

Re: Show HN: InstantDB – A Modern Firebase

#73
post #7

[Firebase founder] The thing I'm excited about w/Instant is the quad-fecta of offline + real-time + relational queries + open source. The amount of requests we had for relational queries was off-the-charts (and is a hard engineering problem), and, while the Firebase clients are OSS, I failed to open source a reference backend (a longer story). Good luck, Joe, Stopa and team!

Thanks for creating Firebase! It's really the definition of an managed database/datastore. Do you see InstantDB as a drop in replacement ? To be honest I don't want to have to worry about my backend. I want a place to effectively drop JSON docs and retract them later. This is more than enough for a hobbyist project, though I imagine at scale things get might not work as well.

If you only need simple dropping and collecting back, maybe you should consider about AWS S3 or Supabase storage.

Re: Show HN: InstantDB – A Modern Firebase

#74
post #65

For those looking for alternatives to the offline first model, I settled on PowerSync. Runner up was WatermelonDB (don't let the name fool you.) ElectricSQL is still too immature, they announced a rewrite this month. CouchDB / PocketDB aren't really up to date anymore. Unfortunately this area is still immature, and there aren't really great options but PowerSync was the least bad. I'll probably pair it with Supabase…

Co-founder of PowerSync here. Would love to hear what you would like to see improved in PowerSync :) Thanks!

The docs for React Native. I had to piece together how to do stuff from the code examples and a YouTube video tutorial because they're pretty sparse with information, and missing a cohesive tutorial that could get me setup with CRUD locally. Plus the initial setup process from the npm page, which itself was notable for how much was required.

I haven't attempted to setup the backend yet, so that's my feedback so far.

Re: Show HN: InstantDB – A Modern Firebase

#75
I've found triple stores to have pretty poor performance when most of your queries fetch full objects, or many fields of the same object, which in the real world seems to be very common.

Postgres also isn't terrible, but also not brilliant for that use case.

How has your experience been in that regard?

Re: Show HN: InstantDB – A Modern Firebase

#76

Interesting that this is Clojure :-) Clojure + TS seems to be a good way to go, without being hung up on CLJS.

I'm dreaming about a Next-like framework that will do React SSR in GraalVM JS engine but will do data fetching, routing and other stuff in Clojure.

Re: Show HN: InstantDB – A Modern Firebase

#77
post #62

Is the datalog engine exposed? Is there any way to cache parsed queries? Other datalog engines support recursive queries, which makes my life so much easier. Can I do that now with this? Or is it on the roadmap? I have fairly large and overlapping rules/queries. Is there any way to store parsed queries and combine them? Also, why the same name as the (Lutris) Enhydra java database? Your domain is currently listed as…

This is from me. I didn't realize the connection to Lutris + Enhydra. It should be listed as a "Acquired Company" + "Abandoned Project". Wikipedia also says that it lasted until 2001. Usage is different from development/maintenance. I will update the entry for the old InstantDB and add an entry for this new InstantDB.

I think given that the original InstantDB died over two decades okay and is not widely known/remembered, reusing the name is fine.

Re: Show HN: InstantDB – A Modern Firebase

#78
post #14
post #11

Earlier quoted context omitted.

I'm curious what a bouldering app is? As in climbing, like a route checklist type thing?

Yep. Which climbs have you attempted, at what grades. My gym uses griptonite, but it's so slow I feel like it'd be quicker overall to create my own app for logging things. I decided to use instantdb as a backend database and it's working nicely so far.

Climber Dreamer here: Former RFID Sensor stuff.

I'd love to see a smart Hold that integrates with an app where the gym cann associate holds/grips in a DB inventory - and pull them out and assign them to a boulder/wall & route. The smart holds have simple pressure sensors for knowing when they are gripped, and for how long. Advanced ones measure force/weight.

Just walk in scan the boulder's code to slurp in all the holds to the local table and then you have them all ping back to the app with every touch. and map your route and exactly telemetry applied using route. So it shows you the wall and the grips you hit as you went up and how much energy and time spend on each node.

Report climbing timings and accomplishemnets on the Gym leaderboard... have challenges - subscribe to a wall/route/buolder and set a threashold to show you when anyone beats your time etc etc

Strava for the actual climb. (The gym could then have a db of all the positions fastener locations in the facility, and then simply assign a hold to a given slot - each hold has a json of its Spec-Sheet for hold type, rating, syle/whatever metrics climbing geeks geek out on, I mean get a grip folks)

Anyway - it would allow for the local climbing app to them maintain a db history of every route and grip and difficulty you've actually touched. Rate the hold-types, routes, wall, boulder - and have that realtime update across al clients subscribed to a wall or gym. A gym can post new routes and have your app subscribers just get the new table for that route and what grips and their profiles each have.)

Then (the not eco friendly version) is epoxy a BLE tag to a routes holds in the wild and you can have the app point at the climb and ping all the BLEs and learn the route - and have ClimbGps - and it can run it locally with a dynamic table of the BLEs it can sense as checkpoints as you pass them (obviously only timing data could be saved unless you do RSSI/something to get vertical and horizontal pathing by triangulating ...

(built these features in previous varying capacities for different things - but climbing would be fun to do it with as well.

I am sure there are already smart grips out there... but this rappelled into my thoughts like Tom Cruise as soon as I read your post.

Re: Show HN: InstantDB – A Modern Firebase

#79
post #50

Is this similar to CouchDB/PouchDB? Can the backend be replaced?

Ah, sorry.

I thought this was a firebase alternative in the sense that it's an open source library that works with Postgres, but it's a cloud storage service with a nifty frontend.

Re: Show HN: InstantDB – A Modern Firebase

#80
post #7

[Firebase founder] The thing I'm excited about w/Instant is the quad-fecta of offline + real-time + relational queries + open source. The amount of requests we had for relational queries was off-the-charts (and is a hard engineering problem), and, while the Firebase clients are OSS, I failed to open source a reference backend (a longer story). Good luck, Joe, Stopa and team!

Awesome to see this launch and to see James Tamplin backing this project.
Post reply on HN