Monthly iteration
New features, improvements and experiments shipped in regular releases from a prioritised backlog. Each cycle starts with an agreed plan and ends with a written summary and working software.
Most of a product’s life happens after the first release. BBR works as a continuing engineering partner: a small senior team on a monthly plan that ships improvements, keeps the product healthy, and can take over an existing codebase or work beside your own engineers, without you having to recruit and manage a department.
Product engineering is continuing development of a live product by the same people month after month. You get design and engineering capacity that knows your codebase and your users, working from a roadmap you control.
New features, improvements and experiments shipped in regular releases from a prioritised backlog. Each cycle starts with an agreed plan and ends with a written summary and working software.
When the original developer has left or the previous agency relationship has ended: an audit, recovery of access and build processes, stabilisation, then a normal delivery rhythm.
Dependency and security updates, OS and store-policy changes for mobile apps, monitoring, backups, bug fixes and performance work. The unglamorous tasks that keep a product sellable.
Estimates before you commit to a feature, options with trade-offs, technical-debt decisions explained in business terms, and architecture guidance when the product outgrows its first design.
| MVP development | Custom software | Product engineering | |
|---|---|---|---|
| Goal | First release of a new product | A system for your own operations | Continuous improvement of a live product |
| Scope | Fixed and written down | Fixed per project or phase | Rolling backlog, re-prioritised monthly |
| Commercial model | Fixed price, milestone payments | Fixed price per phase | Monthly capacity |
| Ends when | The product launches | The system is in use | You move it in-house or no longer need it |
Many clients move from the first column to the third: a fixed-price first release, then a monthly plan once real users start generating real priorities.
For a product we did not build, the first weeks are about earning the right to change it safely. For one we did build, the first two steps are already done.
How we work in detail ↗We review the repository, architecture, dependencies, infrastructure, deployment process and open issues, and get the product running locally and on staging. Output: a written assessment with risks ranked by severity and a proposed first-quarter plan.
Access and credentials moved into your company’s accounts, repeatable builds and deployments, error tracking, backups with a tested restore, critical dependency updates and the most damaging bugs. Healthy codebases skip most of this.
Plan agreed at the start of the cycle, work delivered to staging continuously, releases when ready, a demo and written summary at the end. A share of every cycle is reserved for maintenance so that debt does not pile up unseen.
A step back from the backlog: what moved the product’s numbers, where the architecture is straining, whether the monthly capacity is right, and what the next quarter should aim for.
If you hire in-house engineers, we help with the transition: documentation, walkthroughs, and a period of overlap. We can also assist with technical interviews for your first hires.
With a live product the technology is already chosen, and the default answer to “should we rewrite it?” is no. We work within the existing stack where we are competent in it, improve it incrementally, and recommend replacing a component only when we can show that keeping it costs more.
| Area | Where we work confidently | Notes |
|---|---|---|
| Web front end | React, Next.js, TypeScript, Tailwind | Including incremental migration from older JavaScript front ends |
| Backend | Node.js, PostgreSQL, REST APIs | Background jobs, webhooks, third-party integrations |
| Mobile | React Native (Expo), Capacitor | Store releases, OS updates, in-app purchases, push, ads |
| Managed platforms | Firebase, Supabase | Including products that have outgrown a first no-code or low-code build |
| Payments | Stripe-style subscription billing, store billing | |
| Infrastructure | Docker, cloud and VPS deployment, CI/CD | Always in accounts you own |
| AI features | Hosted language model integration | See AI development |
Outside our stack. We do not maintain Flutter apps, fully native Swift or Kotlin codebases, or Python machine-learning systems. If your product is built on those, a team that specialises in them will serve you better, and we would rather say that in the first call than in the third month.
An ongoing engagement is priced as monthly capacity, not per feature. The size of that capacity depends on:
The initial audit is a small fixed-price piece of work, and you keep the written assessment whether or not you continue with us. For a sense of baseline upkeep costs for a live app, see our guide to app maintenance costs. For a well-defined larger feature, we can still quote a fixed price inside an ongoing relationship.
The first release tells you what users actually do. If no money remains to act on that, the launch was the end of the project, not the start of the product.
Dependencies age, operating systems change, app stores raise their requirements and certificates expire. Skipped maintenance does not disappear; it arrives later as an emergency, usually at a bad moment.
Every new team is tempted to start again. A rewrite freezes features for months and reintroduces bugs that were fixed years ago. Most inherited codebases can be improved in place, one module at a time, while the product keeps shipping.
If a single freelancer controls the repository, the hosting account and the store listing, the business is one resignation from a crisis. Accounts belong to the company, and the deployment process belongs in a document.
Each switch costs weeks of re-learning. When comparing partners, weigh continuity and communication as heavily as rate. Our list of questions to ask a development agency includes the ones that reveal how a team handles long-running work.
An outside team can estimate, advise and build. It cannot decide what your business needs most. Someone on your side has to own priorities and be available to answer questions, or the month gets spent on the wrong things.
We are a small, senior, independent studio. For a long-running engagement that means the people who learn your product are the people who stay on it, and it also sets a ceiling on how much we can take on.
Keeping a product moving needs backend, front-end or mobile, design, QA and release skills, but rarely a full-time person in each. A single in-house hire covers one of those well, takes months to recruit, and leaves you exposed when they are on holiday or move on. A studio on a monthly plan gives you the spread of skills in the proportion you actually use, with continuity that does not depend on one individual.
The balance shifts as a company grows. Once the product is the core of the business and the roadmap can keep several engineers busy indefinitely, building an in-house team is usually right, and many companies run a hybrid for a while: internal engineers own the core, a partner owns a defined area. We go through the decision in in-house vs outsourced software development, and the hiring route in how to hire developers for a startup.
BBR maintains its own published products on Google Play, so store-policy changes, SDK updates, billing and advertising integrations, and live user feedback are part of our regular work. The Live Gold & Silver Prices and Grow.io case studies describe those products and the decisions behind them.
MVP development is a fixed-scope project to reach a first release. Custom software development is project work on systems that run a business’s own operations. Product engineering is the continuing relationship after a product is live: a monthly capacity, a prioritised backlog, regular releases and maintenance, with priorities that change as you learn.
Yes. We begin with a paid audit of the code, infrastructure, dependencies and deployment process, and give you a written assessment: what is sound, what is risky, and what we would fix first. We then stabilise access, builds and deployments before taking on feature work. Occasionally the honest finding is that part of the system should be rebuilt, and we explain why with evidence.
Ongoing work is planned in monthly cycles, and notice periods are set in the contract. Continuity matters more than contract length: a team that holds the context of your product is far more productive than one that re-learns it every few months. We agree the monthly capacity with you and review it as needs change.
You own the roadmap and the priorities. We keep a shared backlog with estimates, propose a plan for each cycle that balances features, fixes and maintenance, and you approve it. At the end of the cycle you get a written summary of what shipped, what did not and why.
Yes. We join your repository, your pull-request review process, your issue tracker and your communication channels. Typical arrangements are taking ownership of one area, such as the mobile app or integrations, or adding capacity for a period of heavy roadmap work. Clear ownership boundaries make this work well.
You own the code and deliverables under the contract, and the repository, infrastructure and third-party accounts are in your company’s name throughout. If you move the work in-house or to another team, we hand over with documentation and a transition period. There is no proprietary framework or hosting that ties the product to us. See how we work.
Istanbul is UTC+3 all year. That gives an overlap of most of the working day with the UK and Europe, a few hours with the US East Coast morning, and a shorter window with the Australian late afternoon. We agree fixed meeting windows and rely on written updates between them. The country pages for the US, UK, Canada and Australia go into the practical details.
Tell us what the product does, what state the code is in and what you want to achieve over the next few months. We reply with questions and a proposed starting point.
Discuss an ongoing engagement ↗