Skip to content

Next.js in Boston

Next.js development for Boston health, biotech and universities

A Next.js development company working with Boston health systems, biotech and universities. Interfaces where a patient identifier must never reach a URL, a log or an analytics provider.

Working day overlap
About an hour. Boston is eight hours behind Ankara, so the end of our day meets the start of yours
Who buys here
Health systems and their suppliers, biotech and pharmaceutical companies, universities and research institutions
What that changes
The front end's primary obligation is containment - identifiers must not reach a URL, a referrer, a log or a third party
Local specifics
Research buyers have an ethics or review board in the path, which adds a review cycle with a calendar of its own

Boston's buyers are hospitals, biotech companies, universities and the suppliers around them, and they share one property: the front end's most important job is to not leak.

That is an unusual brief. On most projects the interface is judged on what it shows and how fast. Here it is judged first on what escapes - what ends up in a URL, a log, a referrer header, a third party's server or a screenshot in somebody's email - and only then on anything else.

An identifier in a URL has already left

The single most common defect in health-adjacent applications is also the easiest to introduce, because frameworks encourage it.

A route like /patients/48219/results is the obvious design and it puts an identifier somewhere that travels. The browser keeps it in history. Every external resource the page loads receives it in a referrer header. The web server logs it, the corporate proxy logs it, and the monitoring tool aggregating those logs stores it. Somebody screenshots the page to ask a colleague a question and the identifier is now in an email thread.

The alternative is not complicated. The identifier in the address is opaque and means nothing without the database. Authorisation is checked on the server for every request rather than treated as implied by knowing the URL. Guessing fails, and sharing a link does not grant access.

That is a routing decision taken before anything is built, and it is one of the few front-end choices that is genuinely painful to retrofit, because every link, bookmark and integration depends on it.

One institution, two applications that should not be one

Boston's academic medical centres and research institutions have a structural problem that looks like a content problem.

The public site has to rank. It is marketing - departments, clinicians, conditions, research output - and it wants analytics, campaign tracking, a decent amount of imagery and the usual apparatus of a site competing for attention. The portal behind it handles appointments, results and study participation, and wants none of that.

Building both in one application with one configuration means the stricter requirement either leaks into the marketing site, where it is unnecessary, or the looser one leaks into the portal, where it is a disclosure. The second direction is the one that happens, because the marketing team has a legitimate need and the portal has no visible objection until something is wrong.

So they are separate deployments with separate policies, even when they share a design system and a domain. Two applications, one brand. That is a decision about repository and deployment shape, made in week one, and it is the cheapest form of containment available.

The review board is part of the schedule

Research and academic buyers in Boston bring an ethics or institutional review process, and the mistake is treating it as a final approval step.

The things a board cares about - consent wording, what is collected, how somebody withdraws, what happens to their data afterwards - can be reviewed against a wireframe. None of them require a working application. Teams that send the finished product for review find a multi-week queue between having something and being allowed to use it, and nothing in that queue is engineering.

So those items go first, in week two, with placeholder layout around them. Everything else iterates while they are being read.

Commercially

Scope fixed in writing before work starts, priced per project. The country-level ground - state privacy laws, accessibility exposure, invoicing - is on the United States market page.

Invoiced by Codefacture Yazılım A.Ş. in Türkiye, in US dollars by bank transfer, with no Turkish VAT under the export-of-services exemption and no US entity on our side.

The regulatory and commercial ground for this city is on the United States market page.

Frequently asked questions

Why can a Boston health application not put a patient ID in the URL?
Because a URL is the least contained thing on a web page. It goes into browser history, into the referrer header sent to anything the page loads, into server and proxy access logs, into a bookmark, and into every screenshot anybody takes. An identifier that can be tied to a person should travel in a request the server authorises, not in an address that is copied by default. The pattern is an opaque identifier that is meaningless on its own, with authorisation checked server-side on every request rather than implied by having the link.
Can we use analytics at all?
Only on infrastructure you control, and only recording what you need. A hosted analytics provider receiving page addresses from a clinical application is receiving clinical information, whether or not a name is attached, and that is a third-party processor somebody has to account for. The same applies to session recording, hosted fonts, tag managers and chat widgets - each is a request to another company's server from a page about a person's health.
Our IRB has to approve the interface. How do we plan around that?
By getting everything they care about in front of them early and separately from the layout. Consent wording, what is collected, how a participant withdraws and what happens to their data afterwards - those are the review items, and they can be reviewed against a wireframe rather than a finished build. Teams that leave this until the end discover a four-week queue sitting between a working application and an approved one.
One hour of overlap. Does that work?
It works because the hour is reliable rather than long. The end of our day is the start of yours, so there is a predictable daily window for anything that needs two people, and written review covers the rest. Over an eight-hour gap the thing that matters is that proposals are written to be read without their author present, which is a discipline rather than a constraint.
Call us+1 848 272 7583WhatsApp+90 850 308 5436Emailinfo@codefacture.comContact page