HACKER Q&A
📣 indieept

Dear startup founders, what have you developed in-house?


I have been discussing this topic with several founders and have come to realize that when startups develop non-core solutions in-house to address specific problems, these often present very interesting business opportunities. This is especially true if the solutions are complex and time-consuming to develop. Even if third-party software that addresses these problems is expensive, it's usually still more cost-effective than dedicating engineering resources to develop similar solutions in-house.

I want to test this thesis with the Hacker News community of startup founders by asking about solutions they have developed in-house and their reasons for doing so.


  👤 alex_lav Accepted Answer ✓
Mostly stuff born out of technical ego ("_Our_ problems require a solution that isn't off the shelf"). It's usually been a mistake. Some examples:

- Shitty worse Airflow/Step Functions (MedTech startup, FinTech startup).

- Shitty worse AWS Athena (Green Energy startup)

- Shitty worse Supergraph (FinTech startup)

- Shitty worse...idk PlayFab? We attempted to rebuild every single component of PlayFab, but custom, and before we had any users (Games startup)

Would be happy to talk about any if there's interest. Those are just the most egregious.

edit Worth noting I suppose I didn't follow your prompt exactly, as I was not a founder at any of these startups. Consistently engineer #2-3, behind a technical cofounder. So I tried and failed at steering away from building these solutions.


👤 codegeek
I developed these 3 tools internally for our B2B SAAS :

- B2B helpdesk system (supporting team of customers, not individuals. No good solution there). I might release this as a product some day :)

- Restricted access to servers to run only some commands through a web interface. Use Company SSO to login and then execute pre-selected commands only.

- Automate Staging env. creation on demand


👤 austin-cheney
I wrote this file management utility that displays in the browser but needing some help that otherwise isn’t there.

* Test automation in the browser is generally slow to execute and painful to write so I wrote a new test automation utility that is faster and more durable that is just one file in the browser, one file in Node, and doesn’t backdoor the browser.

* I needed a way to distribute files and unrestricted file system access crossOS securely over the open internet. Nobody does this because there are privacy concerns to sharing file system access to third party servers, so I wrote a new peer-to-peer security model to solve for this excluding third parties.

* I am in the process of rearchitecting the application into an OS so that anybody can their own utilities on top of the infrastructure the application provides. I am doing this for selfish reasons so that I can bolt on new features ad hoc without refactoring the application.


👤 floydnoel
I have had to build landing pages for various products of my startup, and I was annoyed that there wasn't a great way to handle the sitemap generation and SEO metadata together with the route configuration.

So, Routerino was born. It's very early still, but it works great for my needs. It is built to work together with pre-rendering, so that a client side rendered React app can have good SEO performance. I experienced this problem while working for a large blog company that faced many SEO issues from using Angular & React SPAs.

I'm working on vastly improving the documentation and hope to release that soon. Repo if interested is at https://github.com/nerds-with-keyboards/routerino


👤 maxisaurus
Work a lead data in a fintech company based in EU. I built a simple observability tool for key data assets in a data warehouse. It's a python monitor you add to a given table, it checks that table daily and tells you when there is an issue & which rows introduced that issue. We used static testing framework like great expectations but that was not enough. We did not have the budget for the big data observability players like Monte Carlo, so we kept it simple.

Repo if interested: https://github.com/data-drift/data-drift

(Disclaimer: I am focusing full time on this project to see if it's an interesting business opportunity. It's 100% open-source -- feedback welcome!)


👤 gillh
FluxNinja [0] founder here. I developed an in-house AI-based code review tool [1] that CodeRabbit is now commercializing [2].

I did it because of the increasing frustration due to the time-consuming, manual code review process. We tried several techniques to improve velocity - e.g., stacked pull requests, but the AI tool helped the most.

[0]: https://www.fluxninja.com

[1]: https://github.com/coderabbitai/ai-pr-reviewer

[2]: https://coderabbit.ai


👤 jokethrowaway
Your typical dashboard with organisations, users with multiple organisations, team management, permissions, payments

This was 10 years ago, there were some ready made solutions but they were expensive and we built all of it gradually (you don't get users on day one who need all the bells and whistles). I think it was pretty indifferent in the grand scheme of things, we failed because we couldn't sell.

Nowadays the market is even bigger for these kind of solutions


👤 saluki
Basic version of DocuSign for sales team - Team couldn't get DocuSign to work the way they wanted. Developed in a week over the summer (EdTech).

Dashboards and reporting tools - Easier to build custom.

Reminders and queues for human follow up with inactive users and potential sales - Easier to build custom.

Importing data from api and csv files - Easier to build custom.


👤 otohp
I wrote a kafka connect single message transform (SMT) to remove PII fields embedded in json messages:

https://github.com/ferozed/mask-json-field-transform


👤 janosdebugs
Gaming(-ish) startup, developed a schema-based serializer for Godot (open source) to ensure communication with various servers and the mid API is well documented and the data validated.

👤 AlexITC
We have developed a few tools, we try open sourcing these when possible, the latest being:

## 1. Vacation tracker

I used to track vacations in a spreadsheet but I had a couple of incidents where I was waiting for team members to do a task, and, I even called them just to be told that they are taking time off.

We built a vacation tracker webapp that notifies a discord channel a week before the time-off period starts (same for holidays).

I have been willing to add a feature that notifies our customers when one of our devs will be off. The site is public/free in case anyone wants to give it a try.

Why not to use existing services? The apps I found had integrations with every messaging app but discord.

## 2. Webapp preview service

It was annoying to ask devs for demo videos when they submitted PRs, it was slow to run the code locally, then, we developed a heroku-like app to automatically deploy the code from PRs to a temporal url, including backend/frontend and its dependencies.

This has been very helpful for us, we started integrating it with a few customers who love it but we haven't had much time to scale our customers base.

We did not used existing tools due to the huge pricing while considering the amount of projects we work on and the number of people, also, most of the existing services depend on dockerized services while we rarely follow this approach.

## 3. Discord scammer kicker

While I wasn't the founder, there was a time where I was involved in cryptocurrency projects, there was a common scam back them, scammers would join the discord channels and rename his nick to match one from the project maintainers, messaging the community to try stealing their coins.

I created a simple discord bot that would kick out people with nicknames similar to the ones from the team.

There is a post about this at https://wiringbits.net/wiringbits/2020/07/06/writing-a-disco...

The number of bans was surprising, eventually, people stopped trying this approach.

## 4. A simple website to restart services

In short, a 20 lines of HTML + nginx (no js, no backend) that would ssh into VMs to execute pre-defined commands (mostly to restart services) so that non-technical people could execute these.

This is described in https://wiringbits.net/general/2022/10/15/super-simple-admin...