(434) 236-9027

Custom CRM Development

A CRM Built Around Your Workflow

Pipelines, lead capture, quoting, and reporting in one application you host and own. No per-seat billing, no export fees, no waiting on a vendor roadmap.

Why Businesses Outgrow Rented CRMs

Most small and mid-sized companies land on a per-seat CRM because it is the fastest thing to buy, then spend the next few years working around it. The pipeline stages do not match how the business actually closes work. The quoting module charges extra. Reporting answers questions nobody in the company asks. Every new hire adds a monthly line item, so the tool that was supposed to help the team grow quietly taxes growth instead.

The deeper problem is ownership. Your customer list, your call history, your quote history, and your win-loss record are the most valuable operational data you have, and in a rented CRM they live in someone else's database behind an API you do not control. Pricing changes, feature deprecations, and export limits are all decisions made without you. When a vendor sunsets a feature you built a process around, the process is your problem.

I build the alternative: a CRM designed around the way your business already operates, running on your own server or VPS, backed by a database you can query, back up, and take with you. The build cost is a one time project rather than a recurring per-user fee, and adding the tenth user costs the same as adding the second, which is nothing.

FastAPIPythonMariaDBDockernginxAlpine.jsWebSocketsAstro SSR

What Goes Into a Build

Every CRM I build starts from the same core and then diverges to fit the business. These are the pieces most companies need.

Pipelines That Match Your Sale

Stages named after what your team actually does, not a generic funnel. A business with several product lines can run a separate stage set per line on one board instead of forcing everything through one path.

Lead Capture

Website forms, phone calls, and email post directly into the CRM as leads, with source attribution attached. Manual entry shares the same intake path so a lead taken over the phone lands in the same place as a web form.

Quoting

Build a quote from a product or service catalogue, generate a PDF, send it, and keep the quote attached to the deal record so the history of what was offered and at what price stays with the opportunity.

Contact and Account Records

Contacts, companies, notes, files, and activity history in one record. Per record access controls where you need them, so a sensitive account can be restricted to the person who owns it.

Reporting You Will Read

Reports built to answer the questions you actually ask: which sources produce closed work, what is stale, where deals die. Because the database is yours, anything not on a screen is still one SQL query away.

Integrations

Scheduling, SMS, email, call recording, accounting, and phone systems wired in through their APIs so the CRM sits at the center of the tools your team already uses rather than beside them.

Systems I Have Already Shipped

These are running in production, not prototypes. Each one replaced something the business was renting or doing by hand.

Life Gateway CRM

A full custom CRM for a retirement-planning and 403(b) advisory firm, live at app.life-gateway.com. Lead and contact management built around how the firm tracks school districts and prospects, with Calendly scheduling, Fathom call analysis, Telnyx SMS, per-contact admin locking, and an AI assistant that answers plain-language questions about the firm's own records.

FastAPIDockerMariaDBCalendlyTelnyx
View Details →

J.M. Field Call Center Platform

A self-hosted agent desktop replacing a per-seat contact center subscription. Browser-based WebRTC calling with no desk phones, click-to-dial, hold and transfer, 22 disposition codes with notes and tags, and live performance stats. Talkdesk and Five9, the contact-centre platforms this replaces, price that capability at $750 to $1,250 per month for five agents. This runs at $240 a year in hosting, before the maintenance any self-hosted system needs.

FastAPIAsterisk ARIWebSocketsAlpine.js
View Details →

JMField CMS

A purpose-built content platform for a fulfillment, printing, and marketing company, built on the same FastAPI and SQLAlchemy foundation I use for CRM work. It shows the pattern applied to a different record type: draft, review, and publish workflows with version history, running alongside the production site rather than replacing it.

FastAPISQLAlchemyClaude API
View Details →

Jesse CMS

A multi-project platform for managing client design showcases, with 20 or more variants per project, per-project settings, and automated gallery generation for client review. Same stack, same hosting model, built to solve one specific workflow that no off-the-shelf tool handled.

FastAPIMariaDBCloudPanel
View Details →

How a Build Runs

Three phases. You see working software early, and nothing gets built on a guess about your process.

01

Map the Workflow

I sit with the people who will use it and write down how work actually moves from enquiry to close, including the parts that live in spreadsheets and inboxes. That map becomes the data model. This is the step that decides whether the finished CRM gets used or ignored.

02

Build the Core, Then Iterate

Contacts, pipelines, and lead capture ship first so the team can start entering real records. Quoting, reporting, and integrations follow in order of what unblocks the most work. You give feedback against a running application rather than a specification document.

03

Deploy and Hand Over

Containerized deployment behind nginx with SSL, automated database backups, and a documented restore path. I handle server setup, or deploy into infrastructure you already run. Ongoing support is available but not required.

What You Own at the End

You get the source code, the database, and the deployment. The application runs on hardware or a VPS you control, which means your customer data never leaves infrastructure you can audit. Backups are yours, on a schedule you set, restorable without asking anyone's permission. If we stop working together, the CRM keeps running.

That also changes the economics of growth. A rented CRM at a typical per-seat rate costs a fifteen person team real money every month, forever, and the bill goes up when you hire. A custom build is a project cost that ends. The call center platform above is the clearest illustration: the same capability those contact-centre platforms price between $750 and $1,250 a month now costs $240 a year to run.

I work across the whole stack this sits on, so the CRM is not delivered into a vacuum. I build and manage the Linux servers, the Proxmox hosts, the firewalls and VPN access, and the hosting panels underneath. If the CRM needs to talk to your phone system, your file server, or a line of business application already running on your network, that integration is part of the same conversation instead of a handoff to a third party.

I am a solo operator based in Lynchburg, Virginia, working with businesses across Central Virginia and remotely nationwide. You deal with the person writing the code, which is why the workflow mapping in phase one is worth the time. Nothing gets lost between a salesperson, a project manager, and an offshore team.

Ready to Stop Renting Your CRM?

Tell me what you are running now and what keeps breaking. A 24 hour answering service picks up and routes straight to my cell when something is down; scheduled work happens in agreed windows. I am based in Lynchburg, onsite across Central Virginia, and remote for clients nationwide.

Get in Touch
Mr. Botsworth

Mr. Botsworth

Hey! I'm Mr. Botsworth, Greg's search bot. Ask me about his projects, skills, or services.