Experiments in Vibe Coding: How I Built a Full-Stack Swimming Pool App Using Replit
- Luke Nyswonger

- Jul 18
- 3 min read
I've been maintaining my swimming pool for a few years. While existing pool apps are decent, they usually suffer from the same issues: clunky interfaces, annoying subscription paywalls, or feature bloat. I wanted something lean, specific, and tailored to my exact setup.
So, I decided to build my own. To dive deeper into the world of vibe coding (guiding AI to write the code rather than typing every line myself), I put Replit’s AI agent to work. In a single weekend, I went from a rough idea to a fully deployed web app, spending $11 in total.
The result is Pool Pulse, a mobile-first pool chemistry tracker that covers roughly 95% of what top commercial apps offer, with some differentiation as well.
What Pool Pulse Does
Pool Pulse lets me log every crucial chemistry reading, including free chlorine, pH, total alkalinity, calcium hardness, CYA, salt, TDS, and water temperature.
Key features include:
Instant Health Score: The main dashboard gives me a 1 to 10 score, parameter status badges, and a plain-English action plan. No digging through reference charts to figure out what needs balancing.
Smart History Logging: A full history page allows me to edit or delete entries. It includes a score-over-time chart where I can temporarily hide specific readings. This comes in handy when a bad test strip skews the data without reflecting real water chemistry.
Dynamic Trend Charts: Interactive line charts show recommended range bands for each reading. Because target Free Chlorine depends on Cyanuric Acid levels (the FC/CYA ratio), the target band dynamically adjusts per data point. If my CYA drifted up over time, the chart correctly reflects that I needed higher FC during that window.
Custom Calculators: Built-in tools calculate chlorine doses, pH adjustments, TA adjustments, calcium hardness, shock treatments, salt additions, and total pool volume.
The Product Design Process
I started by describing the core vision to Replit’s AI agent in plain English. The agent scaffolded a full-stack architecture: a React and Vite frontend, an Express API backend, and a PostgreSQL database, all typed and synced via an OpenAPI contract.
From there, the weekend was an intensive exercise in collaborative iteration:
Server-Side Chemistry Engine: We established pool profile settings (volume, sanitizer, surface type) and moved all evaluation logic server-side. FC targets dynamically evaluate against CYA levels, pH targets anchor at 7.2 to 7.8, and combined chlorine over 0.5 ppm triggers automatic shock alerts. Keeping this on the backend ensures the dashboard, trend charts, and export tools draw from one source of truth.
Dashboard Design Experiments: We tested five distinct UI variations, moving from flat parameter lists to functional chemistry groupings, and eventually landing on a priority-weighted layout led by a health score gauge and action checklist.
Mobile Trend Visualizations: We built custom scrollable color-band charts for five core parameters. I guided the agent through specific edge cases, like eliminating stray chart dots caused by null values and updating hide/unhide toggles to filter client-side via log IDs so the chart wouldn't trigger annoying page reloads.
Security Hardening: Before launching, we locked down the app using HttpOnly signed session cookies with a password screen, and added a custom csvEscape sanitizer to prevent CSV formula injection attacks on exported data.
Key Takeaways
The total cost to build and deploy Pool Pulse on Replit came out to under $11, including hosting. In return, I own the codebase outright, and whenever I want a new feature, I simply open a chat window and describe it.
Pool Pulse does not need millions of users or venture capital funding to be valuable. It solves a real problem for me: it works the way I think, includes the features I care about, and leaves out the ones I do not. That may be the single most meaningful shift enabled by AI-assisted development.
For years, software had to target massive markets just to justify the high cost of design, development, hosting, and maintenance. Tools like Replit make it practical to build custom software for much smaller audiences, including an audience of one. You can now build tailored solutions for a business, a hobby, a household, a team, or a hyper-specific workflow that commercial software ignores.
Ultimately, vibe coding shifts the builder's role from writing syntax to directing intent. You still need to know what you want to achieve and how to evaluate the outcome, but you no longer need to write every line of code from scratch. Replit bridged the gap between "I wish an app existed for this" and "I built it myself in a weekend."
If you maintain a pool or have a niche problem that off-the-shelf software almost solves, trying your hand at vibe coding is well worth the experiment.



























Comments