Web platform development in New York
Many of New York's web platforms are client portals: an asset manager's investors checking statements, an insurer's brokers pulling policy documents, a property firm's owners and tenants looking at the same building from different sides. The interface is the easy part. The hard part is that one user belongs to a family office, can see two funds but not a third, and has given read access to an accountant who must see nothing else.
Encoded as role checks in handlers, that model breaks the first time a client restructures. We build it as data instead: organisations, relationships and permissions, checked in one place, in Next.js and TypeScript over Postgres. Every view of a document is recorded with who and when, so when a client asks what they were shown last quarter, the answer is a query rather than a guess.
Most software bought in New York is bought by companies that do not think of themselves as software companies. Banks, insurers, asset managers, publishers, agencies, fashion houses and property firms all run on systems that sit beside the real business: a client portal, a pricing engine, a reconciliation job, a content pipeline. Those systems rarely start from nothing. They connect to a vendor platform, a core system older than the team, and a folder of spreadsheets someone updates by hand, and the brief is usually to make all three agree.
What those companies need built follows the industry. Asset managers and insurers need client portals where a family office sees two funds and not a third, and overnight jobs that reconcile custodian, market data and order feeds before the market opens. Publishers and ad-tech firms need event pipelines whose delivery numbers agree across vendors, and front ends that stay fast under the ad stack. Property firms need apps for technicians working in basements with no signal. And founders who left one of these industries need a first version in front of a pilot customer before the interest cools.
Hiring is the constraint. Engineers here are courted by banks, big tech offices and funded start-ups at the same time, and Built In puts the average software engineer base salary in the city at about $160,000 before bonus. The shape this produces is a small in-house team that keeps the core systems running, and behind it a list of well-defined projects that nobody on that team will reach this year. That list is where we are useful: each project is a defined piece of work, it starts with a fixed-price two-week piece, and the code belongs to you from the first commit.
We are in Bengaluru and move our working day for New York. Four hours of every working day overlap with your morning in Eastern time, stand-up included, so decisions and code review happen live with the engineer who writes the code. Runbooks and architecture notes are written as we go, so your in-house team can run what we build long after the project is finished.
We are the right fit for the defined projects your in-house team is too stretched to reach this year: a client portal, a reconciliation job, an event pipeline, a first version for a pilot customer. Senior capacity starts within days, the first piece is a fixed-price two-week engagement, and agencies can ship 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 New York teams.
How do you work with teams in New York?+
We are in Bengaluru and move our working day for New York, so four hours of every working day overlap with your morning in Eastern time, stand-up included. Calls, reviews and decisions happen in that window, and the rest of the conversation runs in your tools: Slack, GitHub, Linear. The person on every call is the engineer who writes your code, and the code sits in your repositories from the first commit.
Do you build for New York financial firms?+
Yes. The work is usually the systems beside the trading or underwriting desk: overnight jobs that reconcile custodian, market data and order feeds before the open, client portals where investors, brokers and their accountants each see exactly what they should, and internal tools that replace a pricing or renewals workbook only one person understands. We build them to be idempotent and traceable, so every figure can be followed back to the file it came from.
How does your rate compare to hiring in New York?+
Built In puts the average software engineer base salary in New York City at about $160,000, before bonus and benefits. Our published rate is $35/hour, or $5,400 a month for an embedded engineer, with a $5,000 minimum. 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 working code.
Can you take over a system another vendor built?+
Yes. In New York that is often a client portal or an internal tool built by an agency that has since moved on, with nobody in-house who knows how it runs. We start by reading the code and running it, then write down how it works and where it is fragile before changing anything. A good first two-week piece makes the riskiest part safe and leaves your team runbooks it can use.
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.