Inspiration
Homeowners frequently face stressful, time-sensitive maintenance emergencies—such as sparking electrical panels, leaking pipes, or broken air conditioners. Traditional platforms leave users scrolling through outdated directories, making tedious phone calls, and waiting hours for callbacks. Furthermore, standard lead generators rely on sluggish, privacy-compromising third-party form-forwarding services. I built C major to eliminate this friction, creating an immediate, AI-driven matchmaking and booking pipeline that connects homeowners to trusted, verified local service professionals in real-time.
What it does
C major is a localised professional matchmaking platform that connects homeowners with certified trade experts:
AI Matchmaker: Homeowners describe their urgent need in plain English. The AI instantly parses the query, scans available pros, and auto-books the best match. Instant Booking: The system automatically dispatches the matched professional and sends an instant email notification to the homeowner with the pro's direct line and a guaranteed 10-minute arrival window. Dynamic Provider Directory: Users can manually search, view profiles, and browse live, verified trade listings.
How we built it
Frontend: A modern React SPA built with Vite for hot-module reloading, customised CSS, and type-safe React Query hooks. Backend API: An Express server built with TypeScript, using Zod to validate and sanitise incoming payloads before processing. Database: Amazon Aurora PostgreSQL Serverless (AWS RDS) hosted in the us-east-1 region, queried using Drizzle ORM for 100% type safety from database schema definitions up to the client UI. Communications: A secure, direct transactional email pipeline using Nodemailer connected via SMTP to Gmail.
Challenges we ran into
Port 5432 Firewall Restrictions: Because AWS Aurora PostgreSQL communicates over TCP port 5432, strict corporate and university Wi-Fi firewalls blocked outgoing connections, causing database timeout errors (ETIMEDOUT). We resolved this by routing our development traffic through a mobile hotspot connection, which bypasses outbound port restrictions. Credential Security: Securing DB passwords and Gmail App Passwords. We solved this by using native bootstrap scripts (start-server.bat) to inject raw credentials directly into the environment rather than hardcoding them in source files.
Accomplishments that we're proud of
Achieving complete end-to-end type safety across the entire application—if a column changes in our AWS Aurora database, Drizzle flags necessary changes immediately at the compile stage. Constructing a seamless, automated AI dispatch pipeline that simulates real-time professional availability and booking confirmation. Creating automated batch testing scripts (check-aws-db.bat) to ensure smooth database synchronisation and connection validation.
What we learned
The crucial impact of network topology and outbound port configurations when connecting local development environments to managed cloud databases. How a monorepo structure combined with Drizzle ORM dramatically reduces boilerplate code and improves code-sharing velocity.
What's next for C major
Amazon S3 Storage: Transitioning static avatar URLs to direct image uploads stored in a secure Amazon S3 Bucket. Geopositioning Support: Utilising PostgreSQL PostGIS extensions to match homeowners to professionals based on exact distance metrics rather than city matching. Intelligent LLM Ingestion: Advancing the AI matchmaker to parse natural language descriptions of home damage to estimate repair costs and prioritise emergency dispatches automatically.
Built With
- amazon-aurora
- amazon-web-services
- aws-rds
- css
- drizzle-orm
- esbuild
- express.js
- gmail
- html
- lucide-react
- node.js
- openapi
- postgresql
- react
- smtp
- sql
- ssl
- tailwind-css
- typescript
- vercel
- vite
- wouter
- zod

Log in or sign up for Devpost to join the conversation.