the studio

a small studio that writes its own software.

vøiddo is a small independent studio. We build scrapers, command line tools and trading bots, run them in the open and write down what goes wrong. Fully remote, no investors, no office.

We do not pitch investors, we do not run waitlists for things that already exist, we do not put a credit card in front of a free tier and we do not do the "book a 30-minute discovery call" thing. If you came looking for a series-A deck, wrong studio. We have a blog, a GitHub organisation, a public team page with every address on it and an inbox that a human reads.

what we make

a short list, on purpose

The list is short because of one test. If a tool saves us time on something we actually do, we ship it and find out whether anybody else needs it. If it does not, it stays a hobby project and we move on. Most prototypes never become products, and that is the system working. Nothing in the catalogue exists because we read a market report.

When something stops being true or stops being used, it goes. Old tools, extensions and apps have been retired from npm, GitHub and this site, and the blog says what did not work. There is no graveyard of "we will get back to it" pages. The public list is the whole list.

how we think

the rules we use when we disagree

  • ship, then fix in publicCode on a laptop helps nobody. We ship when a thing is useful, even with a few rough edges showing, and improve it where people can see. The first version is usually uglier than a competitor's announcement post, and we know whether it works by the end of the week.
  • logs over opinionsMost debates end when somebody opens the logs, the test results or the backtest. The numbers are rarely flattering and they settle things faster than the loudest voice in the chat.
  • small diffs, easy rollbackChanges you can read in one sitting, deployed in a way that can be undone. If a change cannot be reverted, it gets split until it can.
  • honest about limitsWe would rather lose the job than oversell the tool. A scraper says when a site stopped it. A bot that cannot tell whether an order landed says so, and stops. People remember who did not lie to them.
  • boring infrastructure, odd ideasPlain, well understood tools in the basement, so the surprises can live in the work itself. Nobody should be paged at 3am because we wanted to try a fashionable database.
  • no dark patternsThe tools run without an account, prices are printed where you buy, and nothing sits behind a sign-up wall or a "book a call" button. None of this is a moral position. It is the product working for the user instead of the user working for the product.
how we work

remote, written down, small meetings

There is no office, and there never needed to be one. The work happens in pull requests, logs, a few chat channels and short calls that end as soon as the decision is clear. We write things down in markdown, review in English and let the time zones work for us.

Most decisions are made by whoever is closest to the problem. Nobody needs a meeting to flip a feature flag or add a fuzz test. When something is contested, two people get on a call. When something is strategic, four people get on a call and one of them mutes himself to make coffee. Engineers do not overrule designers, designers do not overrule engineers, and the design lead has, on more than one occasion, vetoed a launch because the spacing was off.

We are not hiring, and we like the size we are. If you build interesting things and want to say hello without an agenda, write to support@voiddo.com. We read everything.

technology

boring on purpose

We pick well understood tech and keep the weird for the work itself. Python for scrapers, the data API and trading software, Node.js for the command line tools, plain HTTP clients, a real browser only when a page needs one. PostgreSQL for whatever has to be true tomorrow, Redis for whatever can be wrong for thirty seconds. nginx and systemd in front of all of it, because they have been in front of everything for fifteen years and outlived several rounds of cool-kid replacements. Tests that actually fail when something is wrong.

PythonNode.jsPostgreSQLRedisnginxsystemdbashpytestPlaywright

Things we deliberately do not run: kubernetes, a service mesh, a data warehouse priced per gigabyte, a separate vector store beyond what postgres already does well enough. We have read the conference talks on why we should. We remain unconvinced. A more honest list, including what this site is made of, is on the studio page.

where we are

remote, with a mailing address

vøiddo works remotely and has no office. The mailing address, for paper letters, is on the contact page. This site is served from one server hosted by Hostinger in the United Kingdom. Credits for the data API are bought through Paddle, which acts as the merchant of record.

The legal pages are short on purpose: privacy, terms, refunds, data processing and security.

get in touch

a human reads it

There is no support queue with a fifteen business day reply target, no ticket number and no bot replying "we have received your message". Write to support@voiddo.com about the scrapers, the command line tools and this site. For the data API and the browser utilities the address is data@voiddo.com. For press, brand assets and facts, use support@, and see the press kit. There is no investor relations inbox because there are no investors.