Users need to log in and see their own data
Customers, members or partners each get an account and must only ever see their own records. That is authentication, permissions and a data model, not a page template.
Client portals, dashboards and internal tools that sit behind the site your agency built. I build the application under your brand, connect it to the site and hand it over documented. Feasibility review: €490, fixed price.
Milan Danilovic, founderWhen a website becomes an application
Many application projects arrive disguised as website briefs. Spot one early and you can quote it properly instead of stretching a CMS until it breaks.
Customers, members or partners each get an account and must only ever see their own records. That is authentication, permissions and a data model, not a page template.
Requests, approvals, statuses, who does what next. Once the work has states and owners, a CMS plugin starts to fight you.
Quotes, scores, availability, reports. Logic that has to be right every time belongs in tested code on a server.
A dashboard that combines the CRM, the shop and a spreadsheet needs a backend that owns the joining, the caching and the errors.
When one job needs five plugins and custom glue between them, a small purpose-built application is usually simpler to run and safer to update.
What I build
Working with the existing site
An application rarely means rebuilding the site. The site keeps doing what it is good at, and the app takes the jobs a CMS was never built for.
WordPress or Webflow keeps the public pages and the content team keeps its editor. The application runs on a subdomain such as app.clientname.com or under a path, deployed and updated on its own schedule.
I build the interface from your designs and components, so a visitor moving from the site into the portal does not feel the jump. Your agency’s design work carries straight through.
When the app needs CMS content, or the site needs data from the app, they exchange it through APIs. Neither reaches into the other’s database, so either side can change without breaking the other.
Login and account links on the site point into the app. If the client already has user accounts somewhere, we decide up front whether the app uses them or manages its own.
Stack
React and Next.js for the interface, Node.js or NestJS for the API, and PostgreSQL or a document database depending on the shape of the data. Shared validation schemas keep the frontend and backend in agreement about every request.
Reports, imports, exports and AI processing run as background jobs with visible states, so a page never hangs waiting and a failure shows up as a failure.
Delivery and handover
I lead every project and stay your single point of contact. When the scope needs more hands, I bring in developers I already work with, under my review.
I review the brief, the existing site and the data, then send a written plan, risks and an estimate you can quote from.
The first milestone is one real journey working end to end, such as “log in and see your orders”, on a staging address you can click through.
Each milestone ends with working software on staging and a short written update. Scope changes are agreed before they are built.
Permissions, failure states and the main journeys are tested against agreed acceptance criteria. Your nominated owner signs off each release.
Repository, deployment and admin documentation, and a walkthrough with your team. Ongoing support is a separate agreement.
Pricing
A written plan, risk list and estimate for the application, based on the brief, the existing site and the systems it has to work with.
The first working slice of the application with acceptance criteria, so you can judge the collaboration on real software. Larger builds get a fixed quote after the review.
Typical project start: 1–2 weeks after agreement, subject to availability. Prices in EUR, excluding VAT.
See all partnership pricesProof of capability
Most of my client applications are under NDA. These are the ones I can show: my own products, live in production, plus systems I built in employment. Each one shows the kind of application an agency brief turns into.
Each recruitment agency works in its own data context; a request for another agency’s records returns not found. AI explanations run as background jobs with visible states, and the PDF is rendered from the same report view users see on screen.
Inside CultureFitrOperators manage screens, media, playlists and working hours from a React dashboard backed by a NestJS API. The preview mounts the same renderer as the screen player, so what operators approve is what plays.
Inside SignageStackServer-rendered Next.js pages, sign-in, learning progress stored in PostgreSQL and learning rules that are tested on their own. It is free to read in the browser and installable on a phone.
Inside MorgenleseIn an enterprise workflow modernization I worked on, new frontend functionality ran alongside established backend services and data models, and document processing fed a human review workflow.
Selected engineering experiencePractical questions
If it is mostly content with a form or two, the CMS or a plugin is usually the right call, and I will tell you so. Once there are user accounts with private data, multi-step workflows or serious calculation, a separate app is easier to secure, test and change. The feasibility review is where we decide.
Yes. Send the design files or the component library and I build to them. Screens the designs do not cover yet, such as empty states and error messages, get flagged early so they are designed, not guessed.
On accounts owned by the client or your agency, agreed before the build. I set up deployment, document it and hand over access. Hosting and third-party service costs are billed to the account owner.
Access rules are designed with the data model, not added at the end: every request checks who is asking and what they may see. I keep personal data to what the workflow needs and agree with you where it is stored. Privacy policies and data processing agreements stay with your client and their advisers.
Yes. Interfaces are responsive by default, and an app can be made installable on a phone where that helps, as Morgenlese is. Native app store releases are a separate scope.
Start with the first journey
Describe who logs in, what they need to see or do, and which systems hold the data today. A link to the existing site helps. I’ll come back on fit, feasibility and a useful first scope.
Describe the application