When You Need More Than a Website
A website shows people information. A web application lets them do something with it. If your users need to log in, manage data, run calculations, track inventory, or interact with other systems, a static website is not going to cut it. You need a custom application built around your specific workflow.
I build full-stack Node.js web applications for businesses and startups that have outgrown spreadsheets, manual processes, or off-the-shelf tools that do not quite fit. Every application ships with TypeScript across the entire codebase, a proper database schema, API endpoints, authentication, and deployment infrastructure. These are production systems, not prototypes that need to be rebuilt later.
TypeScript End-to-End, Deployed to the Edge
Every application I build runs TypeScript from the frontend through the API layer to the database queries. One language across the full stack means fewer bugs at the boundaries, faster development cycles, and a codebase any TypeScript developer can maintain after handoff.
For applications that need speed and global reach, I deploy on Cloudflare Workers in production. Sacramento Groceries runs its entire backend on Workers with a D1 database. API responses come back in under 50ms because the code runs at the edge, close to the user. Zero cold starts, zero servers to manage, and the infrastructure scales automatically. For applications that need a traditional server, I build on Node.js with Express or Hono and deploy to your preferred cloud.
Real Applications, Not Mockups
ContentMK is a desktop content management application I built with Electron, React, and SQLite. It has a 13-table database schema, 22 functional modules, two-way WordPress API sync, AI integration with per-site access control, and a tag management system that catches duplicates across 1,800+ tags using Levenshtein distance matching. That is the level of complexity I work at.
Home Inventory is a full-stack Next.js application that tracks household items, warranties, maintenance schedules, vehicles, and home improvement projects. The grocery price comparison tool is another example of a data-driven application built to solve a specific local problem. It includes bulk data import, per-item file management, and Home Assistant smart home integration. Every module connects to a shared SQLite database with Zod validation across all data models.
What a Project Looks Like
Every engagement starts with a discovery session where I map out your requirements, identify your users, and define the data model. I research your domain, understand the workflows you are trying to automate, and propose an architecture before writing any code. You see a database schema and API design before the first line of application code is written.
I build iteratively. You get working software at each milestone, not a big reveal after three months of silence. Most web applications launch an MVP in 8-10 weeks, with additional features shipped in 2-4 week cycles after that. If you are validating a startup idea, I scope the MVP to the smallest set of features that proves whether the concept works.
Beyond the Launch
Applications are not one-time projects. Users request features, business requirements change, and integrations need updating. I provide full documentation, deployment procedures, and a handoff session so your team can operate the application independently. For ongoing development work, I am available for feature additions, performance optimization, and infrastructure updates.
Edge-deployed applications on Cloudflare Workers require almost no maintenance. There are no servers to patch, no OS updates to apply, and no scaling configuration to tune. The infrastructure handles traffic spikes automatically. For applications that need ongoing SEO and marketing support, I partner with Frog Stone Media for search strategy and content.