Custom Web Application Development

Custom web applications for workflows no off-the-shelf tool fits

Django, React, Node, and PostgreSQL, built test-first and shipped through staging by the developer who leads a production SaaS.

Some business problems do not fit a subscription tool. A spreadsheet has turned into a system, or three tools have to be stitched together by hand every day.

I build custom web applications for those cases. I am the lead developer of RE/AMP, a production multi-tenant SaaS, so I have worked through the full path from requirements to database to deployment.

What I build

  • Internal tools and dashboards that replace spreadsheets and manual reporting.
  • Customer or partner portals with logins, roles, and email invites.
  • Workflow software with stages, checklists, tasks, and documents.
  • Multi-tenant SaaS products where each company sees only its own data.
  • Marketing and content sites with real data behind them, such as city and county page systems.

The stack I work in

I pick tools for the job and keep the stack plain.

  • Backend: Django, Node.js with Express, REST APIs, background workers
  • Frontend: React, TanStack, HTML, CSS, Tailwind CSS, HTMX
  • Data: PostgreSQL and MySQL, with Valkey for caching
  • Infrastructure: AWS (EC2, S3, VPC), Docker, Nginx, Linux
  • Monitoring: Prometheus, Grafana, and PostHog

How I build

Requirements and data model first

I start with the problem and the edge cases, then design the database before I write features. A clear data model prevents most of the rewrites that come later.

Tests before code

I write tests around boundaries and bad input before the feature code, and I review every change before it is committed. At one staging checkpoint on RE/AMP the suite stood at 726 passing tests across 42 suites.

Staging that matches production

On RE/AMP, releases are tested on a staging environment rebuilt from the latest production backup. That catches problems with real data shapes before customers see them, and it tests the recovery process on every release.

Authorization on the server

User roles are enforced in the backend, not only hidden in the interface. My public repo Brazen shows this on a small scale: a Django portal with invites, password reset, and user, manager, and admin roles, with 27 tests.

Proof from production

RE/AMP is a real estate transaction and investor operations platform. It covers workflows, documents, email, SMS, and reporting for companies that each keep their own data.

I started the codebase in March 2024 and have made 2,500+ of its 5,000+ commits. It is a 180,000+ line React, Node/Express, and SQL codebase, and other developers have contributed. A few companies use it regularly.

Read the full RE/AMP project write-up for the architecture and the decisions behind it.

What a project looks like

  1. Scope. We write down the problem, the users, and what done means.
  2. Design. I draft the data model and the main screens for your review.
  3. Build. You see working software on staging at regular checkpoints.
  4. Launch. I deploy it, monitor it, and fix what real use turns up.
  5. Handoff or support. You get documentation, or I stay on for ongoing work.

Frequently asked questions

How much does a custom web application cost?

It depends on scope, so I do not post a price list. Send a short description and I will reply with questions and a quote.

Can you work with my existing codebase?

Yes. I can add features to an existing Django, Node, or React application. If the code is in bad shape, I can also start with a code rescue review.

Who owns the code?

You do. Ownership terms go in a written agreement before work begins.

Do you use AI to write code?

I use AI tools in my workflow, with tests written first and every change reviewed by me before it is committed. Architecture and data design stay my responsibility.

Can you host and maintain the application?

I can set up AWS hosting with Docker and Nginx, add monitoring and alerts, and handle ongoing fixes under a retainer.

Tell me what you need built

Describe the problem and who will use the tool. I will reply with what I would build first.

Request a quote or see how engagements work.

RE/AMP facts

Verified RE/AMP figures. Keep the qualifiers.

Commits
2,500+ of 5,000+
Josh's commits on main out of the repository total. Other developers contribute.
Codebase
180,000+ lines
React, Node/Express, and SQL, excluding migrations, vendored and generated code.
Tests
726 across 42 suites
At one staging checkpoint. Not a coverage figure.
Photo uploads
70+ in under 2 minutes
In testing, with client-side image processing.

Engagement types

Four ways to work together. No prices.

Project

Defined scope

Deliverables, checkpoints, and a handoff.

Retainer

Ongoing work

Development, maintenance, and technical SEO for a set block of time.

Rescue

Urgent fix

Triage, diagnose, repair, document.

Audit

Outside review

Ranked list of what to fix.