Maciej Nuzia · Web applications

I build AI web applications around a company’s actual process

When a process is split between off-the-shelf software, a spreadsheet and another application, somebody has to keep moving data between them. I build one tool that handles the process in one place. I use AI where it has a specific job: reading a document, summarising data or answering a question inside the application.

With AI features the effort depends on the state of your data. That is what I want to hear about first.

The problem

The biggest time sink is moving data between tools

Export to a spreadsheet, fill in the gaps by hand, paste it back. That work returns every week and nobody counts it, because nobody invoices it. Then the person who did it leaves, and half the process turns out to have lived in their habits.

  • the product supports one version of this process, designed to fit every customer at once
  • data circulates between two applications and a spreadsheet
  • the report is put together by hand, so it lands once a month; it is needed on a Tuesday
  • invoices and orders arrive as PDFs and emails, and end up retyped into the system one field at a time

Who it's for

Choose a custom application when off-the-shelf tools do not fit your process

If the way you work is what sets your company apart from the rest, forcing it into an off-the-shelf product costs you exactly that difference. Below are the kinds of company it shows up in fastest.

  • Startups and founders
  • Ops teams with a process of their own
  • Trade and distribution
  • E-commerce
  • Service companies
  • Order and complaint handling

Example applications

Examples of applications I can build

Dashboard with the numbers worked out

Figures from several systems land in one view, and the model writes a summary underneath: what changed since last week, and what looks off.

Assistant on the documents you have

A question asked inside the app, and an answer assembled from the procedures, contracts and manuals the company already keeps.

Internal tool for the team

One screen holding what today sits in three spreadsheets and two applications. Usually the shortest route to people no longer retyping data from one screen into another.

Client portal

Clients log in, check the status of their order and download documents themselves. Fewer of the same questions arrive by email after that.

Reading invoices and orders

Scans and files go into the application, the model pulls the fields out of them, and a person confirms the ones the model itself flagged as uncertain. There is always one supplier who issues documents their own way.

First version of a new product

Scope cut down to what an outsider will understand without an introduction. The model works on real data there, because on canned answers every demo looks good.

How the project runs

How I go from the first call to a working application

01

One problem to start with

Of everything that has to change, I pick one with you: the one that takes the most work off people fastest. Everything else stays outside the scope of the first version. Scope is cheapest to change at this point, so I would rather ask one question too many than too few.

02

Screens, flows and what it all stands on

I show you the screens and the path through the application before anybody starts programming them. Alongside that I make the decisions about the database and the integrations. While it is still a drawing, I can move a screen with no consequences.

03

A version you click in a browser

Before the application is complete, you get a working version to open in a browser: it handles one real case and nothing else yet. It looks bare, but that is where the things you cannot see in a design come out. Once you have clicked through it, I usually change the order of the remaining work.

04

Wiring up AI and going into production

I give the model access to the data it is meant to read, and I set the limits it does not go past. Then the application goes into production, and what I add after that comes from the questions users ask.

Technologies

Technologies I use to build applications

  • React
  • Next.js
  • Angular
  • TypeScript
  • Node.js
  • PostgreSQL
  • OpenAI API
  • Docker
  • AWS

Risks and limitations

What can unnecessarily extend the project

Scope that grows in meetings

Each feature on its own looks like a detail, and the deadline moves by the sum of them. So the first version gets one goal, and everything else is yours to decide once that one is met.

AI added for the sake of it

A language model put where a single condition in the code would do adds to the bill on every call, and every answer it returns still has to be checked. If a plain condition is enough in your case, that is what I will write.

The data the model has to work on

An assistant is as good as the documents it is handed. Putting them in order goes into the scope of the project, because otherwise the model meets a procedure circulating in four versions, picks one and presents it as the one in force.

FAQ

Common questions about AI web applications

How much does an AI web application cost?

The scope drives it, together with how many integrations there are and how much of the work the model is meant to do. AI adds a cost that carries on after launch: model calls are billed by usage, so the charge rises along with the number of people using the application. It climbs by itself, with no new work behind it, so it belongs next to the cost of building.

What happens if the model answers with something untrue?

A model always returns an answer, including when the documents hold nothing to back it up. That is the biggest risk in applications like these. So I ground the answer in documents the company already has and put the source next to it, so you can check it without digging through folders. On an operation that cannot be undone, I leave the last step to you.

Will you take on an application somebody else wrote?

Yes. For five years I added features to an application whose code I had not written, and the systems I run for clients are eleven and nine years old. In somebody else's application I look at the data first: where it sits, what state it is in, and whether the model can reach it without a manual export. That decides how much of the planned AI feature the existing code can carry, and whether the database has to be put in order first.

What technologies do you use?

React, Next.js or Angular with TypeScript on the front end, Node.js and PostgreSQL on the back end, and the OpenAI API and models of the same kind for the AI parts. It runs in Docker, on AWS. I pick the stack for what the application has to do, and for whoever will keep it running once I am no longer on it.

Next step

Start with a preliminary scope estimate

The estimate report shows how many modules your idea breaks into, and which of them carry the risk. When you want to go through it with the person who would build it, send an email.