Roj IT
← All services
Service · 07

Web & App Development.

Sites and apps that load fast on a bad connection, work with a keyboard, and can be handed to another team without an apology.

page.tsx
1
preview

Infrastructure that stays out of your way

Servers, network, cloud.

Get in touch

We build the front end of your business: the site people judge you by, the portal your customers log into, the app your field staff carry. Modern stacks, real performance budgets, accessibility treated as a requirement rather than a retrofit. The page you are reading was built the same way, which is why it loads the way it does.

Stack

What we build with

Boring, well-supported choices, held for years rather than swapped each season. Anything here can be handed to another team without a rewrite.

Frontend

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Astro

Backend

  • .NET
  • Node.js
  • PostgreSQL
  • REST and GraphQL
  • Entra ID

Mobile

  • React Native
  • Expo
  • Native modules where needed
  • App Store and Play delivery

Delivery

  • Azure
  • Cloudflare
  • GitHub Actions
  • Preview environments
  • Uptime and error monitoring
Responsive

One build, every screen

Not a separate mobile site, and not a desktop layout squeezed until it fits. Drag through the sizes: the same markup, reflowing at each breakpoint.

Same page, every width
The content reflows, nothing gets cut.

Layout illustration, live at each width

Performance

The budgets we hold ourselves to

Core Web Vitals are Google's public thresholds, not our invention, and they decide part of how you rank. We treat them as a budget agreed before the design starts, measured on a mid-range Android over mobile data rather than a new laptop on office WiFi.

Largest Contentful Paint
≤2.5 s
GoodPoor

How long until the main thing on the screen is actually there. Mostly a hosting, image and font problem.

Interaction to Next Paint
≤200 ms
GoodPoor

How long the page takes to respond when someone taps. Mostly a JavaScript problem.

Cumulative Layout Shift
≤0.1
GoodPoor

How much the page jumps around while loading. Mostly a reserved-space problem.

These are the thresholds for a "good" rating. A build that misses them is not finished, and we will say so before you launch rather than after.

Accessibility

Accessible by construction

WCAG 2.1 AA is the reference level in Swedish and EU public procurement, and the European Accessibility Act extends similar expectations to a lot of private services. Retrofitting it costs multiples of building it in.

Keyboard first

Every path completable without a mouse, with focus you can actually see and an order that follows the page.

Real semantics

Headings, landmarks, labels and roles that describe the page, so a screen reader hears a structure rather than a wall of divs.

Contrast held

Text and interface colours checked against the ratios, in both the design file and the built page.

Contrast checker

The same check we run on every colour pair we ship. Change either colour and watch where it lands.

The quick brown fox

The quick brown fox

Contrast ratio
6.02:1
Normal text · AAPass
Large text · AAPass
Normal text · AAAFail
Large text · AAAPass

AA needs 4.5:1 for normal text and 3:1 for large text. AAA raises that to 7:1 and 4.5:1.

How we work

How a build runs

01

Prototype in the browser

Design decisions get made on real screens with real content, not in a static mockup that hides how it behaves at 375 pixels.

02

Build in the open

Every branch gets a preview URL. You click through the actual thing while it is being made, instead of waiting for a reveal at the end.

03

Hand over properly

Repository access, documented deployment, editor training if there is a CMS, and a performance and accessibility report at launch.

FAQ

Common questions

01

Redesign, or rebuild from scratch?

Depends on what is actually wrong. If the content and structure work and the site is simply slow and dated, a rebuild on the same information architecture is fast and low risk. If people cannot find what they came for, no amount of new styling fixes it, and we start from the content instead.

02

Can you work with our existing WordPress?

Yes, either by improving it in place or by keeping it as the editing interface while a modern front end renders the pages. Moving off it entirely is also fine. What we will not do is pretend a plugin stack that has grown for eight years is healthy when it is not.

03

Who hosts it and what does it cost to run?

Static sites usually run on Cloudflare Pages or Azure Static Web Apps, often for very little. Applications with a backend cost more and we model it before we build. Either way the hosting account is yours, in your name, with our access removable in a minute.

04

Do we get the code?

Yes, in your own repository from the first commit. No agency-owned staging environment you cannot reach, no drip-fed handover at the end of the project.

05

What about SEO?

The technical half is ours: rendering the content server-side so it can be crawled, clean URL structure, metadata, structured data, sitemaps, fast pages and no accidental noindex left in production. The other half is content and links, which is a different discipline. We are happy to work alongside whoever handles that.

Site embarrassing, or an app that never got finished?

Send us the URL, or describe what the app was supposed to do. We will come back with an honest read on rebuild versus repair, and what it would take.

Schedule a call
Let's talk

Ready to build something that stays up?

Tell us about your stack. We'll come back within one business day with a concrete next step.