Skip to content

01 · Web

Custom web development for businesses

A company website stops being a brochure the moment someone has to log in, see only their own data and leave a record that another system will use tomorrow. That is where a content management system falls short. Veodar builds that piece: the interface, the logic and the deployment, with the repository in the name of whoever pays for it.

  • Astro
  • Next.js
  • React 19
  • TypeScript
  • Node.js
  • PostgreSQL
  • Supabase
  • Cloudflare
  • Vercel
Fig. 01Web developmentHTTP · 200Looping
A capsule carries the browser's request to the API and the database, and comes back with the answer. The clock shows the latency.

01

The problem isn't the page. It's the process.

Almost every company we talk to already has a website. What they don't have is the place where a client downloads an invoice, a sales rep sees only their own accounts, or operations marks an order as shipped without emailing three people. That process lives in inboxes, in a shared spreadsheet and in the memory of whoever has been there longest.

Web development starts by naming that process in one sentence: who opens the screen, what decision they make, what data they must not make up, and which system — the ERP, the CRM, email, a shared drive — has to be updated when they finish. If that sentence can't be said out loud, there is no project yet. There is a wish to refresh the homepage.

Design matters because the person who repeats the task forty times a day won't read a manual. The value is in step four no longer depending on someone remembering it. A beautiful interface that doesn't change that step is a brochure with a login.

02

A Tuesday in the portal, told with real names.

The client logs in and sees their invoices, not their neighbor's. The sales rep opens the same file and doesn't see the margin if their role doesn't allow it. Operations marks an order “ready”, and the warehouse, which uses another word for the same moment, sees its own. Those words belong to the business. They don't come from a generic “order status” menu.

When an order fails halfway, the screen says what was saved and which system didn't respond. No endless spinner, no “please try again later” that forces someone to call whoever built it. The error is part of the interface because it is part of Tuesday.

The handover session uses that Tuesday, not demo data. The difficult client, the half-finished order, the role that shouldn't see prices. If that session can't be run with real cases, the portal isn't finished yet, even if the design is.

03

What belongs on the web and what goes to another format.

Client portals, private areas, operations tools and products with accounts, roles and states belong here. An order can be placed, ready, flagged or closed. The interface uses those exact words, and permissions decide who can move it from one to the next.

We turn down the pretty prototype that “someone will build later”. Design and implementation sit with the same team because every screen is a decision about data. If the prototype promises a button the system behind it can't deliver, the button isn't drawn and the scope says so.

We also don't force a two-gigabyte drawing, the loading-dock scale or a signature in a yard with no signal into a browser tab. If the work is a local file or a report that has to leave a phone, we say so and take it to desktop or mobile. Showing it in a tab “because it's easier to demo” is how operations break later.

04

Repository, domain and accounts in your name.

At handover the company owns the repository, the deployment procedure and the list of who can publish a change. The domain and the infrastructure accounts are created in your name. There is no Veodar console that Monday morning depends on.

If another team wants to take over in a year, they can read the code and the guide without asking us. That guide names the variables, how to roll back a bad release and who gets alerted when something fails. Without it, the project isn't delivered, even if the screen works on our laptop.

Maintenance, if you hire it, names what gets watched: errors, backups, certificate expiry, a small rule change. It isn't a bag of new ideas. New ideas are a new scope, with their own list of what's in and what's out.

05

The first screen is the one that, if missing, brings the emails back.

The first release is the screen that, if it didn't open tomorrow, would have someone sending an email that same week. It isn't a map of every department. We'd rather ship that usable slice and grow than deliver a twelve-module program nobody uses.

The proposal states what's in, what's out and when people who aren't in the meetings get to see it. That text is the contract of expectations. If a system that “we'd also have to touch” shows up mid-project, we stop and decide whether it goes in now or waits.

Integrations are checked first. If the ERP only exports a file overnight, the scope states that rhythm and doesn't promise a real time that doesn't exist. Promising it is how the portal ends up pretty while the data keeps being born in a spreadsheet.

Deliverables

What you get at handover.

  • A map of who logs in, what they decide and which system gets updated
  • Interface and code in the same project, no orphan prototype
  • Repository, domain and deployment in the company’s name
  • A session with the people who use it, on one of their own cases

Questions

What we usually get asked

Missing yours? Write it to info@veodar.com and we'll reply with a specific question, not a brochure.

When don't we need custom development?

When the need is publishing pages, news or a contact form. A content management system covers that for less. Custom development starts when there are accounts, roles, process states or data that has to flow back into another system.

Is design separate from development?

Not at Veodar. Separating them produces screens that real data can't fill. The interface is drawn knowing which fields exist, how long the system takes and which error has to be shown.

Who owns the code and the domain?

The company that commissions the project. We hand over the repository, the deployment procedure and the access. The domain and the infrastructure accounts are created in your name.

Can it integrate with the ERP or CRM we already use?

Yes, if that system lets us read or write what the process needs. We check it at the start. If it only exports a weekly file, the scope says so and we don't promise a real time that doesn't exist.

Updated:

Get started

If the process already has a name, we can talk scope.

Tell us who logs in and which system has to be updated. If a website isn't enough for that, we'll say so and point to the right format.

Fig. 07Morse keyINFO@VEODARH · E · L · L · O