Portfolio

Projects That Speak for Themselves

Real results from real projects. Each case study shows how AI-accelerated development delivers better outcomes in less time.

Marketplace Platform
Next.js 16Prisma 7Stripe ConnectNextAuth 5PWA

RentMyTools

A peer-to-peer tool rental marketplace — Turo for power tools. Full two-sided marketplace with search, real-time messaging, Stripe Connect payments, reviews, and a PWA with push notifications and animations.

Challenge

Building a complete two-sided marketplace with real-time messaging, secure P2P payments with escrow, and a mobile-first experience — without native app development or a large dev team.

Solution

Delivered a full-featured Next.js PWA across 6 development phases using AI-accelerated workflows. Stripe Connect handles P2P payments, WebSocket powers real-time messaging, and service workers enable push notifications.

Results

  • 6-phase MVP delivered in weeks
  • PWA with native-like experience
  • Secure P2P payments via Stripe Connect
  • Complete review & trust system
Public Utility SaaS
FlaskPostgreSQLSendGridTwilioStripe

Salem Sweeper

A subscription notification service for Salem, Oregon residents. Users sign up with their address and receive email/SMS reminders before street sweeping days so they can move their cars and avoid tickets.

Challenge

Needed to scrape and parse city street sweeping schedules, match addresses to zones, and deliver timely notifications via email and SMS — all with a clean signup flow and subscription billing.

Solution

Built a Flask application with SQLAlchemy, SendGrid for email, Twilio for SMS, and Stripe for subscription payments. APScheduler handles automated notification dispatch based on sweeping schedules.

Results

  • Deployed to production on Railway
  • Automated email notifications live
  • Stripe subscription billing integrated
  • Custom domain at salemsweeper.com
API SaaS Product
FastAPIPostgreSQLRedisStripeCloudflare

Property Pulse API

A US property data REST API offering geocoding, flood zone lookup, demographics, and nearby amenities. Built as a sellable SaaS with tiered API key access, usage tracking, and Stripe billing.

Challenge

Aggregating multiple property data sources into a single, fast, developer-friendly API with proper rate limiting, usage metering, and tiered subscription pricing.

Solution

Architected a FastAPI application with PostgreSQL and Redis caching. Stripe handles subscription tiers with usage-based billing. Deployed with a marketing site on propertypulse.dev.

Results

  • Phase 1 deployed to production
  • Full API documentation site live
  • Tiered pricing with Stripe integration
  • Sub-200ms response times with Redis
Public Information App
FlaskSQLAlchemyBeautifulSoup4APSchedulerRailway

CanIBurn MC

A simple, useful web app for Marion County residents to check whether outdoor burning is allowed today. Users add their address and get an instant answer based on current county burn status.

Challenge

The county publishes burn status in formats that aren't user-friendly. Residents needed a quick, mobile-friendly way to check before lighting a burn pile.

Solution

Built a Flask app that scrapes the county burn status, matches it to user addresses, and presents a clear yes/no answer. Clean UI with address management and automated status updates via APScheduler.

Results

  • Live at caniburn-mc.com
  • Automated daily status scraping
  • Simple, mobile-friendly interface
  • Deployed on Railway
API SaaS Product
FastAPIPostgreSQLRedisStripeSQLAlchemy

Vehicle Data API

A comprehensive vehicle data REST API providing maintenance schedules, oil specifications, diagnostic codes, recalls, and technical service bulletins. Built for developers and automotive businesses.

Challenge

Vehicle data is fragmented across dozens of sources with inconsistent formats. Needed to normalize this into a clean, fast API with proper authentication and rate limiting.

Solution

Developed a FastAPI application with SQLAlchemy models for vehicle data, Redis caching for performance, and Stripe for API key subscription management. Comprehensive endpoint coverage across maintenance, diagnostics, and safety data.

Results

  • Core implementation complete
  • Covers maintenance, oil, diagnostics, recalls & TSBs
  • Redis-cached for fast responses
  • Stripe-powered API key management
Consumer Web App
Next.js 16React 19TypeScriptTailwind v4Vercel

Property Search

A public-facing property search frontend that lets users look up any US address and view detailed property data including tax info, flood zones, demographics, and nearby amenities — powered by the Property Pulse API.

Challenge

Creating an intuitive search experience that presents complex property data in a digestible format, with fast autocomplete and responsive design across all devices.

Solution

Built a Next.js frontend consuming the Property Pulse API. Features address autocomplete, detailed property cards, and a clean data-dense layout. Deployed on Vercel with environment-based API key management.

Results

  • Live on Vercel
  • Real-time address autocomplete
  • Rich property data display
  • Responsive across all devices
API SaaS Product
FastAPIPostgreSQLRedisStripeBeautifulSoup4

Permits Data API

A SaaS REST API for building permits, inspections, code violations, and contractor data. Aggregates public records from multiple government sources into a single developer-friendly interface with tiered API key access.

Challenge

Government permit data is scattered across multiple portals with inconsistent HTML formats and no public API. Developers and proptech companies need normalized, queryable access to this data.

Solution

Built a FastAPI application with custom scrapers for the Salem PAC Portal, Marion County ArcGIS, and Compliance Services. Data is normalized into a unified schema with Redis caching, Stripe subscription billing, and sliding-window rate limiting.

Results

  • Phase 1 complete with full data pipeline
  • 3 government data sources integrated
  • 4-tier billing from free to enterprise
  • Domain secured at permitsdata.com
Health Tech Web App
Next.js 16Claude APIPrisma 7LeafletPWA

QuickCare Finder

An AI-powered urgent care finder. Users describe their symptoms, Claude AI determines the appropriate care level (ER, urgent care, or primary care), then the app matches them with nearby facilities that can handle their specific needs.

Challenge

People often don't know whether their symptoms warrant an ER visit or a simple urgent care trip — and not all urgent care centers handle the same conditions. This leads to wasted time, money, and delayed care.

Solution

Integrated Claude Sonnet for real-time symptom triage with ER escalation warnings. Built a facility database with 17 capability types and a match-scoring algorithm. Leaflet maps show results with capability badges, and the app works offline as a PWA.

Results

  • AI symptom triage with ER escalation
  • 12 facilities with capability matching
  • Interactive map + list view
  • PWA-ready with dark/light themes
Content Platform
Next.js 16Prisma 7StripeRechartsFramer Motion

CalcMountain

A comprehensive financial and utility calculator platform with 100+ interactive calculators across 30 categories — from mortgage and retirement to fitness, chemistry, and construction. Features user accounts, PDF export, and a premium subscription tier.

Challenge

Building a massive library of accurate, interactive calculators that load fast, look great, and are individually SEO-optimized — while supporting user accounts, saved calculations, and monetization.

Solution

Architected a Next.js 16 app with a modular calculator registry system. Each calculator is a self-contained component with Recharts visualizations, jsPDF export, and Stripe-powered premium access. Framer Motion provides polished animations throughout.

Results

  • 100+ calculators across 30 categories
  • PDF export for all calculations
  • Premium tier with Stripe billing
  • User accounts with saved history
Event & E-Commerce Site
Next.js 16SquareNextAuth 5Prisma 7Framer Motion

Koster Family Golf Tournament

A premium event website for an annual charity golf tournament benefiting Salem Area Youth Golf. Features online ticket purchasing via Square, live countdown, sponsor showcases, and event details — all wrapped in a luxury golf aesthetic.

Challenge

Creating an elegant, conversion-focused event site that handles ticket sales, captures registrations, and presents sponsor information — while reflecting the prestige of a long-running community fundraiser.

Solution

Built a Next.js 16 site with Square payment integration for ticket purchases, NextAuth for user accounts, and a golf-inspired dark theme with gold accents. Framer Motion scroll animations create a premium feel throughout.

Results

  • Live at kostersaygolf.com
  • Square-powered ticket sales
  • Animated premium golf aesthetic
  • 20+ years of tournament history
B2B SaaS Platform
Next.js 16StripePrisma 7ResendSentry

QuoteBidBill

A proposal-to-payment platform for freelancers and small businesses. Create professional proposals with e-signatures, convert accepted quotes to invoices, and collect payments — all from one streamlined workflow.

Challenge

Small businesses juggle separate tools for proposals, contracts, invoicing, and payments. This fragmentation causes lost deals, slow payments, and administrative overhead.

Solution

Built a full-stack Next.js SaaS with a drag-and-drop proposal editor, legally binding e-signatures, one-click invoice generation from accepted proposals, and integrated Stripe payments. Includes real-time analytics on proposal views and client management.

Results

  • Complete quote-to-cash workflow
  • E-signatures with legal compliance
  • Stripe-powered instant payments
  • Free and Pro subscription tiers
Sports & Gaming App
Next.js 16Prisma 7ESPN APISendGridNextAuth 5

Bracket Squares

A squares pool platform for March Madness, the Super Bowl, and any sporting event. Create a grid, assign squares, share a link, and track scores live — with automatic ESPN score updates for NCAA games.

Challenge

Running a squares pool traditionally means spreadsheets, manual score tracking, and group chats full of confusion. There was no simple, free tool to create, share, and auto-score a squares game online.

Solution

Built a Next.js app with real-time ESPN score integration for NCAA games, CSV import for bulk player entry, automatic payout calculations, and shareable game links that require no account to view. SendGrid handles notifications.

Results

  • Auto-updating ESPN scores for NCAA
  • CSV import/export for player grids
  • Shareable links — no account needed
  • Custom payout structures per round

Your Project Could Be Next

Let's talk about what you're building and how we can help bring it to life.

Start a Conversation