COBENIANFREEBUILD

SOFTWARE PRACTICES

How Cobenian builds software

Applies to every Cobenian project, paid or free.

This document describes how Cobenian designs, writes, checks and delivers software. It applies to every project, paid or free, and is referenced in our agreements.

Who does the work

The work is done by Cobenian, its employees and contractors. Occasionally a specialist partner helps with a specialized component, always under Cobenian's direction and bound by Cobenian's confidentiality obligations.

Cobenian FREE Build projects are done by Bryan Weber, Cobenian's founder, who has more than 25 years of professional software experience. He writes the specification with you, builds the project and hands it over himself.

Process

We write down what the software must do before we write any code, and every later step is checked against that document.

  1. Specification. We write a specification with you in plain, testable statements of what the software must, should and may do. You approve it before work starts.
  2. Plan. We turn the specification into mockups of the key screens, which you review, and an implementation plan, broken into phases, which we check against our quality criteria.
  3. Build. We write the code from the plan, in small changes, and show you working software as we go so we can iterate on your feedback.
  4. Test. We write automated tests from the specification, so each requirement has a test that proves it.
  5. Triage. Anything that fails or surprises us is traced back to the specification, the plan or the code, and fixed at the source.

Technology

We use the right tool for the job. For web applications our default is the stack below, because tools we know deeply keep a short build fast and low-risk. When a project calls for something else, such as Python, Go or Rust, we use it and say why in the specification.

LayerWhat we useWhy
Language and runtimeElixir on the Erlang VMReliable under load, and recovers from faults by design
Web frameworkPhoenix and LiveViewInteractive pages with very little JavaScript to maintain
InterfaceTailwind CSS and daisyUIConsistent screens with light and dark modes
DatabasePostgreSQLMature, well understood, and easy to host anywhere
Background workObanScheduled and retried jobs stored in the same database

We keep page-level code thin and put behavior in small, reusable components. We prefer the simplest design that meets the specification.

Professional standards

Every build meets the standards you would expect from professional software:

Quality checks

Every change passes the same checks before it is merged:

All code lives in a Git repository from the first day, and you receive the full repository at handover.

AI development tools and your data

We use AI development tools, including Anthropic’s Claude, to write specifications, code and tests, so some of your project information will pass through them. By taking part, you accept that this information is processed under those providers’ terms, including Anthropic’s privacy policy.

We work from sample or anonymized data wherever real data isn’t needed, and we tell you before real data is used.

Security

Security is designed in from the specification, and these practices apply to every build:

Deployment

Software that runs on your own machines or devices is installed there. For web and cloud software, we can deploy to a cloud account that you own, so you control it and can change providers or developers at any time. If you prefer, we can host it for you for a monthly fee. Either way, we design the software to keep its ongoing operating costs low.

What a two-week build does not include

A two-week build delivers working, tested software for the agreed scope. It does not include the following unless the scope of work says so:

← Back to the Cobenian FREE Build program