Sheetal Singh
314 posts

Sheetal Singh
@sheetalssr
Dev who likes to put brain in random rabbit holes and come out enlightened | Left brain wing of @sheetal_111
127.0.0.1 Katılım Ocak 2020
229 Takip Edilen164 Takipçiler
Sabitlenmiş Tweet
Sheetal Singh retweetledi

We've raised $6.5M to kill vector databases.
Every system today retrieves context the same way: vector search that stores everything as flat embeddings and returns whatever "feels" closest.
Similar, sure. Relevant? Almost never.
Embeddings can’t tell a Q3 renewal clause from a Q1 termination notice if the language is close enough.
A friend of mine asked his AI about a contract last week, and it returned a detailed, perfectly crafted answer pulled from a completely different client’s file.
Once you’re dealing with 10M+ documents, these mix-ups happen all the time.
VectorDB accuracy goes to shit.
We built @hydra_db for exactly this.
HydraDB builds an ontology-first context graph over your data, maps relationships between entities, understands the 'why' behind documents, and tracks how information evolves over time.
So when you ask about 'Apple,' it knows you mean the company you're serving as a customer. Not the fruit.
Even when a vector DB's similarity score says 0.94.
More below ⬇️
English
Sheetal Singh retweetledi


Sheetal Singh retweetledi
Sheetal Singh retweetledi

Of course frontend has a concept of architecture. The short version is we learned what you are suggesting doesn't work well in this space.
The history of web development answers your question. There is a category of data, we refer to as "state", that is ephemeral. Now we can define ephemeral in different ways since everything persists somewhere but the key is that the ownership of this state is very much tied to the User Interface. Focus, selection state, as so on are shallow examples of this, but you can also think of this in terms of projections of those too. This category only gets larger as things become more interactive.
Early web development did not exactly understand this. And when our life began on the server we'd lose this information between actions. POST a form, bye bye state. Now we wised up to that and started serializing it back and forth. ASP.NET had it's ViewState and so on. But we hit a fork in the road in mid 2000s because keeping ephemeral UI state on the server didn't scale great.
We wanted RESTful backends, so we could spin up microservices. MVC became king. Its simple model fit: Model (persistent data), View (projection of that data), Controller (singleton that wires it up). What is missing is this non-persisted state. This worked pretty well for simple things. But sort of ignored the problem. Which was ok because people wanted quicker interactivity so more and more started moving to the client.
Dawn of SPAs recognized that a more structured approach needed to be taken on the client. So what did we do? We tried to bring our MVC there. Angular, Backbone, Ember, these frameworks followed it. But a pattern started emerging.. we had this thing that had no place. Singleton controllers didn't cut it. `$scope` in angular is the most obvious. And as any early Angular dev will attest became a huge mess, but Ember also started adding all these new concepts, It was more like MVC(insert 12 more letters here).
But this was the problem. In fact the misery that was Angular.js => Angular 2 was IMO motivated almost entirely because of this unreconcilable gap in design.
React wasn't the first to realize this though. MVVM frameworks like Knockout.js replaced Controller singletons with per View (or per Model) instance wrappers as a natural place to hold this ephemeral state. The VM standing for View Models. But I'd say React was the first to consolidate on a pattern that was already happening in the wild. For better or for worse VMs did much more tightly couple things. Pretending these things weren't coupled just made traceability very difficult. React owned it and was like there is a natural split between the Model and the VM but the VM and the V are not benefiting from the seperation. And thus Components were born.
But people early days still really liked their separation. So we built really complicated stores. So we could model all but the most ephemeral state as a sort of hoisted Client model. Early attempts were really awkward because synchronization became really buggy. So work went into making this predictable, singular so that state couldn't get out of sync. Redux comes to mind. But there was this tension. Lifecycles were clearly tied to the UI, so there was this constant issue around either holding too much state that was unnecessary or needing to like register/unregister. Obviously things like Angular had services and DI as their approach. But the problems were the same.
Around the mid 2010s... thanks largely to GraphQL it became better understood that except for where the user was the source we could basically view state as derived from the server. When people started using it, the need for Client side stores shrunk considerably. This evolved eventually into things like React Query.
Now even though the sources no longer needed management, we still have this derived state graph running through our components. It might not be as obvious because of say the way React re-runs components. But by 2018 with the introduction of Hooks you could start seeing it right in front of you. An irony not lost on me because it was like looking at 2010 Knockout.js code.
The result while not realized completely mechanically is an acknowledgement that State and UI are not easily separable, they overlap. Modeling Component === state like early React might have oversimplified things, but something like MVC categorically misses. A lot of the progress in the last 5 years around Signals is based on preserving these 2 graphs(UI, State) ability to co-exist in a way that is natural.
As projects get larger it is the only sane approach to modularity. It's arguable that patterns around strict contracts/regions should be solidified into concepts, and to be fair boundaries around errors and loading(Suspense) do contain these things. We have natural boundaries around nested route sections (tied to URL subpaths). But each graph has their own mostly homogenous primitives so those coordination points are extra concepts, and because of the fluidity of this relationship being too strict here will cause you great pain later.
So architecture is very much at the top of mind of those designing these systems and tools. However, frontend web is also the most accessible platform. So I don't expect every bootcamp dev to know, understand, or appreciate these things.
The structure we have created to allow this modularity and co-location can also be greatly abused. Partially because new devs can be "productive" within their small slice. Which is by design and generally beneficial. But doesn't bestow the same sort of architectural purity and rigor one might expect to find in such large complex systems. To me this is more cultural than an engineering.
The information is out there. We're living in it, but who needs to know? It's hard because people who know a bit more keep respinning on the same expectations of what doesn't work and take few steps in before they realize it. And I think a lot of engineers outside of frontend have no appreciation for it.
Lewis Campbell@LewisCTech
Why do frontend devs put all their logic in "components"? I came up in the winform desktop all days and knew back then, as juniors, that it was an anti pattern to couple business logic and UI so tightly. How does frontend still not have a concept of architecture?
English

me: I should build something useful !
also me: What if every photo taken in the pink trumpet blossom season is put on a map and the whole city slowly turned pink virtually 🌸 (meta verse should not be neglected in the age of AI ! 😆)
anyway it's live: blr-cherryblossom.pages.dev
Plant your area's blossom on the virtual plane.
#Bangalore #CherryBlossom #BuildInPublic #SideProject
English
Sheetal Singh retweetledi
Sheetal Singh retweetledi
Sheetal Singh retweetledi
Sheetal Singh retweetledi

Hey
Update on this.
Shipped major features and releasing the v1.
Checkout here : sheetal.me/dbsim
English

I was trying to understand the DB internals and started reading Designing Data Intensive Applications and Database Internals. Reading gets boring but will continue that.
It made me wondering how fun would it be to design and use a DB of your own for your very unique use case. Vibe coding DB Simulator. A visual tool to take DB blocks and compose them, execute and see the tradeoffs, performance and bottlenecks for yourself. Checkout here : github.com/Origin-pod/Ori…
Let's see how it goes 🚀
English
Sheetal Singh retweetledi













