Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: InventHub – Visual version control for electronics design (inventhub.io)
185 points by usamaabid 4 months ago | hide | past | web | favorite | 55 comments



The UI looks and feels very polished. Congrats on shipping. Well done! Nice work on not re-inventing the wheel and using Git as well.

> Automated BOM generator that can detect parts in a project and give you a cost estimation of how much the parts will cost.

I imported a project [1] but couldn't find anything about the BOM (though I have several in the repo). This is something I have been working on for https://kitspace.org. We may be able to collaborate on some standardisation here (e.g. the repo I imported has a kitspace.yaml file that points at the BOM - the BOM formatting is standardised as well - I can link you to the docs if you wish).

Other than that, something I'd really like to see as a user is the ability to add my SSH public key and even better would be the ability to just "sync" an existing Git repository. This is something that https://cadlab.io has and it seems to be very similar to InventHub.

Can you talk more about the technologies used to build this? What's your front-end framework of choice? Did you implement Git-hosting from scratch or did you manage to reuse an open source project like Gitea or Gogs?

[1]: https://app.inventhub.io/kaspar/sangaboard/tree/master/


Hi, Thank you so much for your kind words and appreciation. we tried our best to make the UI user friendly, glad that you liked it :)

Definitely, there was not point of making something from scratch in place of Git.

> Automated BOM generator is under-development and is not released yet. I just visited https://kitspace.org and I really like what you are doing. I totally agree there needs to be a standardization and we can definitely collaborate on this. It would be great if you can link me to the docs so we can improve the feature we are building.

Also, what will be the best way to get in touch with you I would like your feedback on BOM generator.

> SSH Keys & Sync feature with other Git repos are in development and will be out soon. It nice to see someone else doing the same thing, the more the better.

> Technologies - We implemented git from scratch because we were initially more focused on the design conversion + faster rendering. Now when we were thinking to expand on git like features it was taking us too much time so we are considering to utilize Gitea and focus more on hardware centric features.

Frontend - ReactJS Backend - NodeJS, GoLang, Python(Server-less functions for design conversion) Database - MongoDB and MYSQL

We figured the limitation of NodeJS and are now planning to migrate the infrastructure on GoLang. Gitea will come in handy for this as well. A lot of things will come off the shelf.


Nice, thanks for the honest answers about the tech. I think focusing in on what makes hardware different is definitely the right move. I have been working on using Gitea as the Kitspace back-end as well.

Regarding the BOMs, the manifest is documented on the Kitspace readme [0]. The BOMs themselves are mainly documented in the 1-click BOM readme [1]. I also put an MIT licensed parsing library on NPM [2].

The parsing library has seen a lot of feature creep, expanding what it accepts: it can now parse Excel, ODS and even .kicad_pcb. However, what it outputs may be the more useful standard. BOMs in this format have predictable headings, are tab-seperated (so you can actually just parse by splitting on \n and \t) and are always served on

    https://kitspace.org/<project>/1-click-BOM.tsv (e.g. [3])
My email is in my HN profile, always happy to talk more about it.

[0]: https://github.com/kitspace/kitspace#kitspaceyaml-format

[1]: https://github.com/kitspace/1clickBOM#all-cad-programs

[2]: https://www.npmjs.com/package/1-click-bom

[3]: https://kitspace.org/boards/gitlab.com/bath_open_instrumenta...


No problem! >I have been working on using Gitea as the Kitspace back-end as well.

That's great do let me know how was your experience. Will let you know if we plan to use gitea may be my development will of help for you as well with regards to using Gitea.

> Regarding the BOMs, the manifest is documented on the Kitspace readme [0]. The BOMs themselves are mainly documented in the 1-click BOM readme [1]. I also put an MIT licensed parsing library on NPM [2].

This is amazing and very thoughtful project. Its a really good standard for us to adopt and expand on with regards to our ideas of BOM generator and I see a very solid base line. I am going to sit and tinker with this tonight.

Thanks for sharing the contact info, will be in touch soon to share the ideas and get your feedback.


Good stuff, thanks for the kind words. If you are trying the lib, probably best to use it straight from GitHub. I got a bit sloppy about releasing it to NPM and have been using GitHub versions everywhere.

It's interesting to think about how to make BOM parsing a more universal solution. Some things I do for Kitspace definitely don't scale. Embedding a lot of header aliases into npm-1-click-bom is one of them.

Anyway, sorry to make this so much about me and my work. Great to see new platforms in this space. I am definitely going to follow along, try it out some more and see where it goes even if we don't manage to work together, but let's try and keep in touch.


My pleasure :) Great I will try it with GitHub. No worries I can understand.

>It's interesting to think about how to make BOM parsing a more universal solution. Some things I do for Kitspace definitely don't scale. Embedding a lot of header aliases into npm-1-click-bom is one of them.

May be we will be able to contribute back with some scalable strategies once we start utilizing it.

> Anyway, sorry to make this so much about me and my work. Great to see new platforms in this space. I am definitely going to follow along, try it out some more and see where it goes even if we don't manage to work together, but let's try and keep in touch.

Oh no worries I loved your work and I am glad you shared it we would have been reinventing the same thing when something sophisticated already existed out there.

It would be really great if you can use the product and keep sharing the feedback we are in it for long and we will make sure to give it the shape hardware industry needs.

Definitely I will stay in touch even if we don't work together. I am happy that I made a new friend here on HN today :)


This is a great space to be working on - I've wanted tools like this as a HW engineer for a long time. Enabling remote work as an EE seems like a powerful advantage to grant to EE contractors.

Another business I've seen pop up in this space who appears to compete with you is Allspice - they're my neighbors here in Massachusetts. What do you do that they don't?

https://www.allspice.io/


> This is a great space to be working on - I've wanted tools like this as a HW engineer for a long time. Enabling remote work as an EE seems like a powerful advantage to grant to EE contractors

Definitely its has been a huge need and as an EE contractors it makes things much easier to share and handover work to your clients. Documentation gets much easier for others who join the project or extend it later on.

> nother business I've seen pop up in this space who appears to compete with you is Allspice - they're my neighbors here in Massachusetts. What do you do that they don't?

They have done some great work and its interesting to see other people trying to solve this problem too. I really liked their simple approach.

If we make the comparison; They just offer diffing on Altium schematic file and they are download only.

Whereas, we are cloud based VCS you can view your projects and view changes on the go. But on top of that we offer visual annotation, documentation tools. Not just that we are building a part database and many other features to make it an experience for an HW engineers. So, you focus more on your designs/projects with efficient process in place and tools that take care of repetitive and time consuming stuff.

Also we have support for EagleCAD, KiCAD, Altium (schematic and layout) support is under development and will be soon rolled out.

I hope this answers your question.


It does indeed. Thanks for your reply.

As an aside - one thing I find interesting is that Altium seems to be the premier SCH/PCB format supported by companies like yours. Guessing that's because Altium is a more open SW standard, and is used by more business of the size a company like yours would prefer to target. More succinctly: Altium seems like where the money is at.

Do you have any theories as to why more companies don't choose KiCAD or other open tool in lieu of Altium? It seems to me there is a lot KiCAD can do, and there's very little Altium does that KiCAD does not. Do you choose to support KiCAD with the thought that the market will eventually move to free tools like that?


>Do you have any theories as to why more companies don't choose KiCAD or other open tool in lieu of Altium? It seems to me there is a lot KiCAD can do, and there's very little Altium does that KiCAD does not. Do you choose to support KiCAD with the thought that the market will eventually move to free tools like that?

I have two things to say about this;

First to answer your question precisely, that wasn't my theory. We supported KiCAD because it is most popular in community. We figured this based on user surveys and feedbacks while being in private beta. Though KiCAD is my personal favorite tool for ECAD designs as it gives me freedom to code tools for myself with its programmable utilities (that wasn't the criteria for choice). They two main goals of InventHub are to empower open-hardware community and help small startups build hardware products fast so we see more innovative hardware products coming out everyday.

Yes I agree the money is at Altium as all big companies use it and we are definitely working on to add support for Altium because that will help us sustain so we can empower the open-hardware community.

Second thing: My personal theory is that world is a better place when we work together. I truly believe in community and DIY GEEKS or InventHub both were started on the idea to build and empower the community. I have a hope that open source will be commercially viable soon and will get bigger than enterprises(Just the things I keep on thinking about: how will we moderate the infrastructure for security) - Well I can keep on talking about this, but I guess its a conversation for another thread.


Thanks for being so generous with your replies.

Wishing you all the success with InventHub! I hope I can get to a point where I can considering becoming a client! (Currently slugging it out in an Orcad shop. Bleck.)


No problem :) Thank you for taking out time for looking at product and asking such questions.

Thanks for your kind wishes. We will make sure to provide you support and new features that you’ll switch to Inventhub.


Kyle from AllSpice here - happy to see more people working in this space, website looks great. Good luck. Send me a PM if either of you want to chat!

Best.


Hi Kyle, Thanks for the appreciation. I would love to connect with you to talk more. Sending the PM.


"We need the legal right to do things like host Your Content, publish it, and share it. You grant us and our legal successors the right to store, parse, and display Your Content, and make incidental copies as necessary to render the Website and provide the Service. This includes the right to do things like copy it to our database and make backups; show it to you and other users; parse it into a search index or otherwise analyze it on our servers; and share it with other users."

All your designs are belong to us. They don't get copyright ownership, but they can ship the design to Shenzhen and have it made.


Hi John, I totally agree and we are inline with the mission of protecting open source projects and helping design owners maintain copyright ownership. We are even exploring avenues to work with industry leaders and lawyers to develop new open source licenses for open hardware to help protect the projects completely.

I am sorry for this language in our terms and policies, which shouldn't have been there in first place. We adapted the terms of Heroku's Terms of Service which are maintained under CC license, as engineers we were more focused on product features initially. I will get it fixed and make sure they designs stay the property of the owners and owners maintain copyright ownership, and they have explicit discretion of licensing it the way they want.


Thank you for being responsive! That said, the language quoted by the parent doesn't appear to grant "ownership" as the parent implies, unless I'm missing something? Still, it'd be nice to have it clearly stated.

Secondly, do you know if there is a place for founders to find ToS like these? Or do you just copy them from providers with CC licenses? A while back there was a project with lawyers annotating legal licenses in a wiki/git that was a great idea.


Agreed and yes its good to state it more clearly.

I wasn’t able to find any best resources of ToS. The best option was adapting these ToS covered under CC licenses.


The project would have been great. Because this one of the biggest struggle initially.


It’s valuable when fellow HN users highlight questionable details buried in User Agreements (UA). Thank you!

It would be great to hear a response from the founder on this point.

Does Github’s UA have the same requirement for all of their users software?


I agree with what John said and I have responded to his comment. These kind of terms should definitely be highlighted. I apologize that we adapted this term in our User Agreement and it was a mistake. I will make sure we fix it. I would also like to assure that we will be careful in future regarding these kind of terms so we fulfill the mission of empowering open-hardware truly.

Best, Usama - Founder of InventHub


The key point here is that those terms apply to both private and public repositories. So if you use this service, they can distribute your private designs if they so choose.

Copyright isn't an issue for hardware designs because copyright does not cover functional devices. When the PC boards of clones of your product start coming out of China, InventHub is in the clear with those terms. To be taken seriously, InventHub has to take on the obligation of protecting your trade secrets.


Thank you for highlighting this. We are working to improve the language of the terms to make sure we help protect the the designs/trade secrets.

Just to put it out as a company this is how we see the obligation to protect trade secrets.

For public projects: We are giving user leverage to share at their own discretion along with a license made by them, industry standards or the new licenses we are coming up with.

For private projects: No designs will be listed publicly, shared with anyone, they exist in complete privacy to the user who created the repository. We do not and will not list them, rank them, read them or share them in any way.

To summarize if a user makes the project public, that means user is doing that on his own will and we will fulfill the obligation by enabling them with proper licensing tools + providing better licenses which InventHub is working on. For private projects everything will be safe and secret with the project owner and doesn't need protection more than platform infrastructure security which we take very seriously considering a lot of IP's will be hosted on our platform.


But you don't commit to that contractually. "How you see it as a company" is a worthless promise.

I don't think these people get being a B2B company at all. They think they can get away with "we can do anything" consumer type terms. If you consider dealing with this company for non-toy projects, you need to have a lawyer review the contract. That's all I'm going to say.

(My public designs are on GitHub. Works fine. You don't really need these people for open source work.)


Thanks Animats. Being part of the industry I understand the importance of these policies and how much it can hurt a developer. We are working hard to improve the terms and bring more clarity in them. I would love to chat with you to get your suggestions/feedback.

Currently we are closely following GitHub's terms(adapted under CC license).

"We need the legal right to do things like host Your Content, publish it, and share it. You grant us and our legal successors the right to store, parse, and display Your Content, and make incidental copies as necessary to render the Website and provide the Service. This includes the right to do things like copy it to our database and make backups; show it to you and other users; parse it into a search index or otherwise analyze it on our servers; share it with other users; and perform it, in case Your Content is something like music or video."[0]

[0]https://help.github.com/en/github/site-policy/github-terms-o...


Also, we will definitely commit to what I said we believe as company in our terms of service. As I have said we are in process to update them with more clarity.


Interesting product as we do hardware and came from the software world. My team use git on Github. For versioning we use design names and version numbers in sequence within git, which may seem an antipattern but it is the approach we have evolved over time, as it allows us to identify a design with a short version number for mechanical engineering and integration purposes, work more effectively with outside people and processes, and sidestep more cleanly the built in RCS/VCS system in our CAM program.

We also do a lot of 3D design for mechanical parts, which is where I think this platform could really be useful. I would encourage you to consider expanding from electronics only to parts. There is definitely pain around BOMs, accounting, ordering timelines, ease of purchasing (external fabrication services as well as components), test processes (hardware equivalent CI/CD) and so on. Part files are often large and good integration with git-lfs[1] could be a killer feature.

Also, you may find this recent comment[0] interesting.

Do you have plans to monetize? I guess one option is you could offer the platform for free and then onsell fabrication and component services, which solves the 'how to get money' problem without SaaS sales challenges, as well as the 'every damn fabricator has their own (often poorly or undocumented) format preferences' (and tends to push the cost of mistakes on the customer) problem.

I believe there is a huge amount of value add possible in streamlining the learning process for new hardware designers who are as yet unfamiliar with available fabrication processes (applies mostly to parts, not PCBs) / design approaches (PCBs also) and their relative costs, timelines, and limitations. I would make this the core USP / selling point as it is unmatched globally. A flowchart like selection / comparison process for a given part based on base requirements (part volume, part material limitations, part material property targets, part cost limitations, target production speed, overall equipment budget, timeline, part lifetime and deployment environment, etc.), try to go deep and get extreme clarity on trends here, I strongly suspect it will pay dividends with new users.

[0] https://news.ycombinator.com/item?id=22370210 [1] https://git-lfs.github.com/


Hi, Interesting approach even being anti-pattern it seems a very efficient approach.

> I would encourage you to consider expanding from electronics only to parts.

This a great idea we had parts database in mind and same visual support for footprints and symbols. I forgot to mention in my initial comment we are also working to develop 3D render of PCB's, Gerber and Parts.

> Part files are often large and good integration with git-lfs[1] could be a killer feature.

Yes we realized this recently and adding Git-lfs to not only handle large files but to also offer File Locking that will enable teams to collaborate bit more efficiently.

>Also, you may find this recent comment[0] interesting. Thanks for sharing this! Looking into it.

> Do you have plans to monetize?

Yes we do, we are initially planning to charge teams for access controls and self-hosted git, once all the features I have highlighted and use have mentioned are in play so it adds value in team collaboration.

>onsell fabrication and component services This is an interesting approach for pricing. I have added for discussion with my team. Let's see where it leads us but thanks for giving this idea :)

>I believe there is a huge amount of value add possible in streamlining the learning process for new hardware designers who are as yet unfamiliar with available fabrication processes (applies mostly to parts, not PCBs) / design approaches (PCBs also) and their relative costs, timelines, and limitations. I would make this the core USP / selling point as it is unmatched globally. A flowchart like selection / comparison process for a given part based on base requirements (part volume, part material limitations, part material property targets, part cost limitations, target production speed, overall equipment budget, timeline, part lifetime and deployment environment, etc.), try to go deep and get extreme clarity on trends here, I strongly suspect it will pay dividends with new users.

I totally agree with you this, I am putting this on as a core USP for product going forward wasn't considering this use-case of the product in this way. Our part database in not out yet because of this we are trying to sort requirements for this and design interactive Ui to bring this in play, I mean narrowing down parts and then ability to look for possible projects to get off the shelf integration help would make things so much similar and quicker.

Thanks for taking out time to share such in-depth feedback. It is really helpful for us in prioritizing features for development and is giving me another perspective to think about things.


Hey!

The core features work great (albeit the schematic and board preview are a bit sluggish compared to the rest of the website). I would also like to point out that the design of the page is really eye-pleasing. The GitHub-like file browser is visually pleasant and feels familiar without being a direct ripoff of GitHub.

Unfortunately I found a few minor problems concerning authentication. Namely there is no way to use ssh keys when pushing with git. This is a real bummer since I use generated passwords which are stored in my password manager. Pasting passwords with special characters (which are a requirement in your registration form) in terminals is sometimes a bit cumbersome on some platforms. The second problem I noticed is that you cannot change your password when logged in (without using the "I Forgot My Password" option).

Cheers!


Hi, Thank you for appreciating the design. We tried to make it a GitHub like experience to avoid adoption issues and make it user-friendly.

Re- Problems: 1- We are adding the SSH keys within next two weeks along with the sync feature with GitHub/GitLab. 2- Thanks for pointing this out I will mark it as a priority fix and totally agree to your point. We will remove special characters as a requirement. 3- We added the password change option after logging in due to malfunctioning it was taken down we will be putting it back by the end of this week.

Thanks again for taking out time to use and point these problems out.


Also, we are constantly updating the design view from two angles, improving the design conversion and then compressing the design size for faster performance.

As of now we decreased the conversion + load time under 8 seconds for largest file. We will have a smoother design viewer by end of March.


It looks great and I can't wait to try it out for my first printed circuit board.

One thing I'd suggest adding are twitter card tags [1] and others. It would make it stand out more upon being shared on social media. I noticed it didn't generate a thumbnail or other extra data after I did.

1. https://developer.twitter.com/en/docs/tweets/optimize-with-c...


I am glad you liked it. Do try and share your feedback.

Yes we totally missed this aspect while focusing on to develop fast experience with conversion of designs and rendering.


I have forwarded it to the development team to be added asap.


I don't work with hardware, but this looks fantastic for viewing visual changes and sharing feedback. Looks exactly how I'd imagine it should work.


Thank you Paul :)


Nice interface. Seems very similar, if not exact to https://cadlab.io/


Yes, it's great to see others doing the same work. The more the merrier, it's a huge industry and we need more hands to solve this problem.


Hello.

I'm Usama, a two-time startup founder. Previously, I founded DIY Geeks in my home country, developing maker kits locally and creating a community of makers from the ground up. However, for the past year now, I've been working on InventHub. It is essentially a visual version control platform with a focus on real time collaboration for electronics development.

For most of my adult life, I've either been building a hardware product or helping others build their product. From what I've seen, time and time again, most people run into the same challenges:

Time-consuming research: finding parts/data-sheets, reference designs for components in consideration, and running into issues someone else already ran into but just to find the possible solution after hours of searching the internet. No effective way to collaborate: most time is wasted in sync meetings, writing reports and discussing changes...all hard to do remotely. Continuous hassle: saving files for each iteration and naming them, etc. and then sharing screenshots in reports as to what has changed.

And so, I thought to make a process oriented product just like GitHub with the following two goals: Build a connected community of hardware developers and give them a space to share and collaborate on hardware projects, which in turn will be a vast collection of hardware designs, increasing discovery and reusability while making resources accessible to everyone at one place. Make a more effective process of collaboration for engineering teams - one that allows them to focus more on product and to enable effective remote team management, revision management, issue tracking and document generation without juggling through multiple platforms.

The product features I have set out to build are: Visual Version Control for better collaboration among engineering teams, with an ability to view design files in browser, visual diffing, visual annotations, and chiefly, maintain accurate revisions. Library Management tool to help teams view, diff and manage revisions of symbols and footprints. Automated BOM generator that can detect parts in a project and give you a cost estimation of how much the parts will cost. Automated design rule checks to help with industry compliance. Gerber Generator - For generating gerbers in compliance with the drill specs of your prefered fabrication facility and get estimates. A connected marketplace of manufacturers so the developers can get cost estimation for different batch sizes and place order right from the platform.

We just came out of private beta and we are now in public beta. I am actively looking for feedback on the product. Currently we have built the first feature from the list above and we will release features 2 through 5 within the next two months.

It would be great if you could try out the product and share your feedback to help us improve the platform; if you could add to these ideas regarding product features, it would help us prioritize features in development and we would be especially grateful.


you should take a look at https://www.pcbevo.com/ I think it offers analytics that complement your visualization.


This is interesting we were thinking of bringing such analytics soon on the platform for different parts. Let me look into it in detail and see if there is a possible collaboration with them on this. Thanks for sharing!



For KiCad users, there's Eeshow: https://kicad-pcb.org/external-tools/eeshow/


Have you tried InventHub though?


When I tried out the annotate function on the home page, the finished comment had my first name as the username associated with the annotation. How did it know my name?


We have a preset names on the annotation/designs or other feature it is just a coincidence that your name is in the preset.


If you don't mind me asking, how do you implement the visual diff? Is it just based on a diff of cad files? Are they just text? Or do you have to use gerbers?


That's the magical part! We implement visual diff on the native design itself to make sure you get the most accurate diffs on your projects.


They specifically enumerate supported ECAD tools, so they must be specific to each tool.


Looks fantastic, congrats on the launch. Using git for versioning and PCB development has been nearly unworkable. So nice to see a visually-oriented solution.


Thank you :) Do try the product and share your feedback or any feature request you have.


I see you have the Altium format coming soon. How are you handling it, given that it's not an open format?


One of the open source python project helped us in understanding the format for schematic from there onwards we explored the layout files. Hopefully we will have something functional soon. In long term I see partnering up with Altium, will be a better way to go about it because its not sustainable for us to keep on reverse engineering every new update in their design formats.


This makes me want to get into creating my own PCBs.


That’s exactly why we have built InventHub please do give me your feedback :)




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: