←back to thread

19 points fdb75017 | 2 comments | | HN request time: 0.451s | source

Hello HN !

I'm Florian, and I would like to share with you a project I've been working on over the past few months: Hyper Workspace.

Before working in tech, I have been in the finance industry for more than 10 years. During this time, I've experienced using Excel+VBA and Python notebooks as main interfaces, but never felt completely satisfied. Interfacing potentially complex and nested objects that you need to consume in your applications is still a pain. Modern browsers can offer much more in terms of UI / UX, especially when coupled with JSON data representation, but they require to write and deploy specific code, use a rendering library... and I believe there is a better way: JSON deserves a fully horizontal framework, abstracting web semantics, and filling the gap between data, views and behavior.

To this end, I've been trying to shape Hyper Workspace so that it can provide no-code tools to build Documents':

   - Fields: strongly typed, deeply nested and potentially recursive, data structures (inspired by Typescript).

   - Views: drag n' drop configuration of documents' pages (ie sub-objects): layout, fields, widgets, actions, graphs.

   - Methods: visual configuration of your "business logic" using a Domain Specific Language, plugged at every layer of your data structure, with an "object-oriented programming" philosophy. Builtin "Modules" can be used to add more functionalities.
You can build "standalone" Documents (like spreadsheets) but also Collections where Records share the same Schema, like a NoSQL version of Airtable. Unstructured data (pdf, images, audio, video) are stored as "Files" that can be linked inside Documents.

All this in a multi-desktops OS-looking environment. You will find a complete documentation inside your workspace.

So far, this is a purely local application that stores everything in your IndexedDB. It can be installed locally (PWA) and will then work completely offline. No account required and nothing leaves your device.

This is more the early stage of a framework than a complete product, but I hope it can shed a light on a potential new way to "configure" interfaces or even workflows, given that Documents can be seen as stateful representations of business processes. Builtin "Modules" are the key to extending the framework's capabilities: calling APIs, using AI agents to structure or query documents, or even take action...

I'd love to read your feedbacks, questions and ideas on it, and see together what could make it useful for you !

Thanks ! Florian

1. mlisowsk ◴[] No.41960959[source]
If I understand this correctly, you are proposing to deconstruct (a priori unstructured) documents into structured data, no?

I think you need to have a demo use case in your app so people can better understand what this is about.

I tried to make an invoice document type. So far I got simple header data and line items and I created a method to add up line items to a total. It would be nice if methods could be triggered to run automatically. I can place buttons to run methods, but can I run a method at document update or field update?

Also I to speed up creation of methods you should have simple aggregation function like summing all items of a list (given a field name to sum over).

replies(1): >>41981042 #
2. fdb75017 ◴[] No.41981042[source]
Thanks for your feedback !

Well I'm proposing to have a workspace with everything structured indeed, where all the documents would be "programmable" and "queryable" and where unstructured data would simply be attachments of structured data.

At some point when uploading a new "file", I think the framework should systematically call a multimodal LLM to extract structured data from it, so that it can be queried from anywhere in the workspace. My main concern on this is that the LLM should stay local...

Yes you are right this is lacking a good and simple demo usecase, I'm working on it.

Yes, as you've seen, some field types have a limited set of "builtin methods" that I've added just for the demo, and List is clearly the one that should have much more ! (map, reduce, filter, sort, sum...).

And indeed, being able to call methods dynamically in "formulas" like Excel does, and not just when clicking on buttons (what excel calls "macros") is a must-have as well !