Hello! We are a small team of sharp and motivated engineers working on advancing the art of data analysis and visualization for everyone from business analysts to data scientists. And we're looking for talented and interested engineers to join us.
Prospective is a professional toolchain for analyzing and visualizing data on your local machine. It's a graphical tool that runs in a web browser and is able to slice and dice gigabytes of static or realtime data. It's built on the popular OSS framework Perspective https://github.com/finos/perspective . Prospective runs as WebAssembly in modern browsers, so it's fast, portable, and memory-efficient. It has its own in-memory data store, but can also plug into any database or streaming platform with a straightforward adapter API. Prospective integrates with existing data tools like Python and Jupyter, and all the dashboards created can be shared to ease collaboration. Our goal is to expand beyond financial services and become the standard toolchain for anyone whose job is to make sense and find patterns in large datasets.
Prospective offers a great opportunity to dig into complex software. On any given day we might be optimizing how the database executes queries in C++, implementing API features in Rust, writing new language bindings for our API, speeding up our Bazel build process, or implementing new charting or query features in our graphical UI. Prospective is engineered to be fast and stable. We write good tests, and once a bug is fixed it stays fixed.
Our team has a culture of mentorship and collaboration, and we work with each other knowing that every team member is always either teaching or learning. We pair-program regularly as a way to share our thinking and get feedback on our solutions. We hold each other to a high quality bar for performance and aesthetics, a constraint that we think creates a healthy environment for creative problem-solving.
Every day has a brief "stand up" in the morning and a "stand down" in the afternoon to share what we've learned and what we're stuck on. Every Friday afternoon we demo what we're building for each other, which we call "dogfooding". And we talk regularly to our users, both paid and open-source, to create product feedback loops to understand where the rough edges are and what folks find extremely valuable.
We'd love to chat with you if you have experience in WebAssembly, Python native extensions, C++, Rust or Jupyter.
But regardless of your experience, we're very intentionally looking for people who are interested, motivated, and passionate about deeply learning WebAssembly and pushing the boundaries of what a browser can do. We believe smart, passionate people will channel that energy into learning how the tech stack works; and we believe that aligning people's work with their interests correlates with long term business success.
We're currently looking for two additional engineers to join our five-person team. We're open to more-junior and more-senior engineers, and are committed to making a competitive offer based on experience and skill level.
Not that you asked for this, but as a @flavorjones admirer I figured I'd post anyway, my favorite actually recorded talk of theirs https://www.youtube.com/watch?v=zOutXbz_7Ns
Something like https://github.com/finos/perspective ? We use an OLAP(-y) WASM engine to provide query-ability to our data visualization tool, and doing the calculations in the browser is cheaper and simpler than a server-side database for datasets that fit in browser memory.
what i learned from benchmarking Dekkai, is that simply "being in WASM" is a poor indicator of actual performance if you ever need to pull the values across that boundary into JS...especially strings.
i'll take a look and see if i can incorporate Perspective's parser into the bench, thanks!
It sounds like you have some browser/OS combination with aggressive scroll inertia enabled. A bug report on our GitHub with some of system details would be appreciated!
Not sure what specifically you are looking at - the data grid element e.g. is a well-formed, native HTML `<table>`, as recommended by the w3 [1] and renders fine AFAICT with the screen readers in Safari and Chrome (the browsers I have installed).
A specific report on the GitHub for issues you find would be much appreciated!
I was looking at the datagrid. I can't use the menus with the keyboard. I can't select columns. I can't see the currently focused element. My screen reader does not inform me of the menus, nor can I interact with them. Inputs have outline: none. Labels are not connected to the inputs.
I can't use the tree with the keyboard. From the patterns page I linked, you can see an implementation example for an accessible tree element.
I mean, I can continue. I'm not saying this to devalue your work, and I wish I had the time to go in depth and analyze all the components and give you more feedback, but I don't. So I humbly suggest you do a bit research about the topic and improve the product some.
Perhaps my original comment sounded too dismissive and therefore got many negative feedback, but I'm sincerely concerned. I wanted to hint at this as this is a tool that may be used by businesses and some people cannot do their job because of inaccessible tooling.
I do like what you are doing and the components do look cool - nothing to take away from that. Please take my comment as constructive as you can take it to be because I was trying to go for that, and perhaps my frustration in the last few years with this topic made me also whine a little bit :)
Like I said - GitHub is the preferred method of reporting issues:
* Some of these (keyboard nav, focus) we test for and sounds like a specific issue with your browser/OS setup, which we'd very much like to fix. GitHub Issues allow us to ask these followup context questions.
* Some of these are vague, I'm not aware of any label+input in the component, e.g., nor how column selection is related to accessibility. The venue for this discovery is GitHub Issues - just because they are obvious to you does not make them obvious to us such that RTFM is a suitable correction, humbly or otherwise.
The project has relatively wide financial industry usage (and some of the code was originally developed at JPMC), and we're very interested in fixing real issues!
Well, I'm sorry, I can only help so much. I also try to open source many things as I can, and I'm active on Github in many projects but I have only so much time.
> Some of these (keyboard nav, focus) we test for and sounds like a specific issue with your browser/OS setup
It's probably not (tried on another computer and browser). Please open this page: https://perspective.finos.org/blocks/superstore/index.html Try to navigate with your keyboard. There are no outlines and the tree view is not possible to interact with.
> I'm not aware of any label+input in the component
The column headers aren't possible to interact with a keyboard anyway, and the screen reader doesn't announce anything to indicate that the table can be sorted.
In my current job, we paid a lot of money for an army of auditors to hunt these down for us, and I don't expect that you do something like that for an open-source product, but if you have corporate use (I mean if people are paying for this directly or indirectly, and I hope they do!), maybe it makes sense to go for one?
Hello! We are a small team of sharp and motivated engineers working on advancing the art of data analysis and visualization for everyone from business analysts to data scientists. And we're looking for talented and interested engineers to join us.
Prospective is a professional toolchain for analyzing and visualizing data on your local machine. It's a graphical tool that runs in a web browser and is able to slice and dice gigabytes of static or realtime data. It's built on the popular OSS framework Perspective https://github.com/finos/perspective . Prospective runs as WebAssembly in modern browsers, so it's fast, portable, and memory-efficient. It has its own in-memory data store, but can also plug into any database or streaming platform with a straightforward adapter API. Prospective integrates with existing data tools like Python and Jupyter, and all the dashboards created can be shared to ease collaboration. Our goal is to expand beyond financial services and become the standard toolchain for anyone whose job is to make sense and find patterns in large datasets.
Prospective offers a great opportunity to dig into complex software. On any given day we might be optimizing how the database executes queries in C++, implementing API features in Rust, writing new language bindings for our API, speeding up our Bazel build process, or implementing new charting or query features in our graphical UI. Prospective is engineered to be fast and stable. We write good tests, and once a bug is fixed it stays fixed.
Our team has a culture of mentorship and collaboration, and we work with each other knowing that every team member is always either teaching or learning. We pair-program regularly as a way to share our thinking and get feedback on our solutions. We hold each other to a high quality bar for performance and aesthetics, a constraint that we think creates a healthy environment for creative problem-solving. Every day has a brief "stand up" in the morning and a "stand down" in the afternoon to share what we've learned and what we're stuck on. Every Friday afternoon we demo what we're building for each other, which we call "dogfooding". And we talk regularly to our users, both paid and open-source, to create product feedback loops to understand where the rough edges are and what folks find extremely valuable.
We'd love to chat with you if you have experience in WebAssembly, Python native extensions, C++, Rust or Jupyter. But regardless of your experience, we're very intentionally looking for people who are interested, motivated, and passionate about deeply learning WebAssembly and pushing the boundaries of what a browser can do. We believe smart, passionate people will channel that energy into learning how the tech stack works; and we believe that aligning people's work with their interests correlates with long term business success. We're currently looking for two additional engineers to join our five-person team. We're open to more-junior and more-senior engineers, and are committed to making a competitive offer based on experience and skill level.
Contact andrew@prospective.dev