Web platform development in Sydney
Strata schemes govern a great many of Sydney's apartment buildings, and strata managers run a surprising amount of them on email and PDFs. Levy notices, maintenance requests, by-law questions, meeting notices and votes all move between owners, committees, managers and contractors, and each building is effectively its own small organisation with its own records.
We build web platforms for property and strata businesses that give each of those groups the right view: owners see their levies and requests, committees see the building, managers see the whole portfolio, and contractors see only their jobs. We design the permissions first, because a building's records belong to the people who live in it. On FM360 we built one backend under a web app, a mobile app and a technician's phone page, and a strata platform needs the same shape.
Sydney is where Australian money keeps its head office. Commonwealth Bank, Westpac and Macquarie run their groups from the city, the large insurers are here, and around them sits a dense fintech sector in payments, lending and wealth. The software these firms need is rarely a brand-new product. It is the work around the core: payment flows that settle in seconds, onboarding and lending journeys customers actually finish, reports that agree with each other, and the internal tools that keep claims and complaints moving.
Real-time payments have raised the bar. On the New Payments Platform money moves in seconds, and PayTo lets a business take agreed payments straight from a customer's account, so a lender or fintech built around overnight batch files now needs instant confirmations and a ledger that never records the same payment twice. Sydney is also where Atlassian and Canva started, so its buyers have been trained by good software built down the road. A clunky internal tool or a slow sign-up flow is noticed here in a way it might not be elsewhere. Beyond finance, the city has a large property and strata sector, online retailers shipping across a very big country, and a startup scene around Tech Central.
Hiring reflects all of that. Indeed puts the average base salary for a software engineer in Sydney at A$119,602, from 526 reported salaries, and experienced engineers are contested by the banks, the big product companies and every well-funded startup at once. A team that needs a payments engineer or an extra pair of senior hands for a quarter can wait a long time for the right hire. That is where we are useful: a defined piece of work, started within days, with the code in your repositories from the first commit.
Our four hours of daily overlap land in your afternoon, and we move them to suit your team. Your morning stays with your own people; the afternoon is when you talk to the engineer writing your code, in stand-ups, reviews and design decisions. Runbooks and architecture notes are written as we go, so whoever joins your team next inherits work they can read.
We are the right fit when you have a defined piece of work and want senior engineers on it within days, or when the Sydney hire you need is months away and the roadmap keeps moving. Start with a fixed-price two-week piece and judge us on the output. Agencies can put the work under their own name.
Four ways this arrives.
We replace the role column with a permission model that can express teams, access to individual resources and roles the customer defines, add SAML or OIDC sign-in, and write the audit log their security questionnaire will ask about.
Or very nearly did. We find every query that can cross a tenant boundary, enforce the tenant in one layer rather than in every handler, and add tests that try to read across that boundary on purpose.
We build the admin side properly: search across organisations, an audited view-as-user mode, and screens for access and usage. Support stops asking an engineer to run a query against production every time a customer says something looks wrong.
An early Next.js app with auth stitched into middleware, a custom server, and a release process that lives in someone's head. We move it forward in small steps, with preview environments and a pipeline anyone on the team can ship from.
A Next.js platform scoped per organisation, where an administrator can view the app as any other user and each Tableau report opens only for people granted it.
Read the write-up →Asked by Sydney teams.
How do you work with teams in Sydney?+
We are in Bengaluru and share four hours of live overlap with you every day, in your afternoon, moved to suit your team. That is when we join stand-ups, review pull requests and take design calls. We work in your tools, whether that is Slack, GitHub or Linear, and the person on every call is the engineer who writes the code. Between calls, progress is in your tracker and your repositories.
Do you build for Sydney banks, insurers and fintechs?+
Yes, and that is most of what Sydney asks us for. We build payment backends that handle NPP and PayTo without recording a payment twice, sign-up and lending journeys customers finish on their phone, complaint and claims tools that take the reading off skilled staff, and data pipelines that make finance and risk reports agree. We work inside your codebase and your cloud, starting with the one flow that matters most.
How does your rate compare to hiring in Sydney?+
Indeed puts the average base salary for a software engineer in Sydney at around A$120,000. Our published rate is $35/hour with a $5,000 minimum, or $5,400 a month for one embedded engineer. There is no recruiting time and no employment overhead, and work starts within days of the call. The first piece is a fixed-price two-week engagement at $2,800, so you judge us on what ships.
Can you take over an app another team built?+
Yes. It is a common starting point for Sydney products whose agency or founding engineers have moved on. We read the code, run it, and write down how it fits together and where the risks sit. The first fixed-price two-week piece is usually one real fix or feature, so you see the handover working while the architecture notes build up. The code stays in your repositories throughout, as it always would.
What is wrong with a role column?+
Nothing, until you have more than one kind of customer. A role says who a user is; most real questions are about what they can do to one specific thing, inside one specific organisation. Encoded as role checks, every new requirement becomes a code change in many places. We model permissions as data, check them in one place, and test them like any other logic.
Should we use an auth provider or build our own?+
Use a provider for identity: passwords, magic links, SSO and multi-factor. It is a solved problem and getting it wrong is expensive. Authorisation, meaning what a signed-in user may do, is specific to your product and usually belongs in your own code and database. We wire the first to the second and keep the line between them clear.
How do you handle multi-tenancy?+
Usually one database with a tenant ID on every row, enforced in one place: Postgres row-level security, or a data-access layer every query has to pass through, rather than each handler remembering. A separate database per tenant is sometimes right, for one very large customer or strict isolation, and we will say if that applies to you.
Where does it get hosted?+
Wherever suits your team. Vercel is the least effort for Next.js and fine for most platforms. If cost or long-running background work make that awkward, we run it in containers on Railway, AWS or your own Kubernetes. The repository, the cloud accounts and the bill are in your name either way.
What do enterprise customers ask for, and can you build it?+
Single sign-on through SAML or OIDC, audit logs, role management, session controls, encryption and data export. We build each of them into the platform and help you answer the technical questions on a customer's checklist accurately, so the security conversation speeds the deal up instead of stalling it.