-
-
Diagnose Analysing
-
Diagnose Analysing More
-
Diagnose Step 01
-
Diagnose Step 03
-
Seasonal checkups - Gutter Cleaning
-
Seasonal checkups
-
Seasonal checkups - Fire Season Prep
-
Diagnose Result
-
Diagnose Step 02
-
Success
-
Choose a pro
-
Confirmation
-
Hire a pro
-
Amazon DIY recommendation 02
-
DIY recommendations from Amazon
-
Amazon DIY recommendation 01
Elevator pitch
Never overpay on a home repair again. One photo tells you what's wrong, what's fair, and exactly what to do next — DIY with the right parts, or a trusted local pro. The home dad you can call.
Inspiration
We bought our first home, and nobody handed us a manual. The light flickered, the faucet dripped, the yard got away from us — and every time, the same wall: we don't even know what's wrong, so how do we know who to call, or what's fair? Late-night Googling, three quotes we couldn't compare, the constant worry of overpaying a stranger. The name Odosan comes from お父さん (otōsan), Japanese for "father" — the home knowledge a parent passes down. We lost access to it, so we built it: the home dad you can call.
What it does
You snap a photo of whatever's wrong and add a sentence. Amazon Bedrock — running Claude Sonnet 4.6 — reads it and tells you, in plain words, what it likely is, how urgent it is, and a fair price to expect. It scores its own confidence, asking one or two quick clarifying questions when a photo alone isn't enough, instead of bluffing.
Then Odosan gives you the honest next step:
- Hire a pro: it matches you with the best-fit local pro for the exact problem and neighborhood — pre-diagnosed, so the pro already knows the job. You stay anonymous; your name and address are released only when you choose to connect.
- Do it yourself: if it's a simple fix, Odosan recommends the exact parts and tools to buy on Amazon — a $40 part instead of a $200 visit.
Beyond a single fix, Odosan builds your home's record:
- Saved diagnoses — every result auto-saves to My Home with its severity, fair price, and DIY-or-pro call, each tracked as open, planned, or fixed.
- Seasonal maintenance — the six things first-time homeowners forget (gutter cleaning before the rains, HVAC filter before heating season, water-heater flush, roof check, sump-pump test, East Bay fire-season prep), each opening the diagnose flow pre-filled.
- Home documents — snap the water-heater nameplate, the panel label, the disclosure paper, last year's receipt; originals go to Amazon S3, so your house remembers.
How Odosan makes money — two streams, both aligned with the homeowner, and free for the homeowner either way:
- A finding fee. When Odosan matches a homeowner to the best provider, the provider pays a finding fee for that pre-qualified, ready-to-hire lead.
- Amazon affiliate. On the DIY path, Odosan earns a small commission when a homeowner buys the recommended parts.
How we built it
The AWS database is the backbone. All provider, lead, home-profile, and user data lives in Amazon Aurora PostgreSQL Serverless v2 (cluster odosan-aurora, us-west-2, engine 16.4, scaling 0.5–2 ACUs), fronted by AWS RDS Proxy for connection pooling and AWS Secrets Manager for credential rotation. We chose relational deliberately — the domain is relational — and the most important decision lives in the schema itself: a homeowner's identity and contact sit in a separate, access-controlled relation, and a provider's queries can only reach them once a consented lead links the two. The privacy promise isn't a policy line — it's a foreign-key boundary.
providers ──┬─ provider_users (claim a business; UNIQUE)
└─ provider_areas
homes ──────┬─ home_systems
└─ home_profiles / territory_summaries
leads: home_id → provider_id (problem + neighborhood only — NO contact)
quotes: lead_id → provider_id (low/high estimate)
jobs: lead_id → cost, completed_at, maintenance_due
user / session / account / verification (better-auth via Kysely, same Aurora connection)
The front end is Next.js 16 (App Router) on Vercel, live at odosan.tech. Every database call and every AI call runs in server-side API routes, so AWS credentials and homeowner data never touch the browser. Amazon Bedrock — running Claude Sonnet 4.6 (US cross-region inference profile) — powers both the diagnosis and the nameplate vision OCR. We chose Bedrock so the AI runs entirely on AWS alongside Aurora and S3, and Claude's reasoning lands the trustworthy "home dad" voice. Gemini 2.5 Pro is wired in as an automatic fallback, so a misconfigured Bedrock env never breaks the demo. The DIY path reads an appliance nameplate to identify make, model, and age, then recommends the right parts through affiliate-tagged Amazon links. Photos are EXIF/GPS-stripped on upload and written to Amazon S3 in parallel with the AI call, so the home record persists permanently — not just the structured fields. We seeded the marketplace with real East Bay providers across 9 trades (20 live, from a 51-business dataset) so it delivers value from the first session.
Challenges we ran into
- Provisioning Aurora on a fresh AWS account. The Free Plan blocked plain Aurora unless we used Express config — which disallows master passwords, initial DB names, and custom networking. We upgraded to Pay-As-You-Go, then hit CloudShell resetting its region env var between reconnects (phantom DBClusterNotFound errors until we passed --region us-west-2 on every call).
- Aurora Serverless v2 scale-to-zero broke the first live demo. With MinCapacity=0, the cluster pauses after 5 min idle and the first request 500s on a 10–15s cold start. Fix: MinCapacity=0.5 (kept warm) plus a 30s pg connection timeout. We also dropped strict sslmode=require and set ssl:{rejectUnauthorized:false} so pg would accept Aurora's RDS-managed cert.
- Amazon's affiliate API moved under us mid-build. PA-API 5.0 was retired during the hackathon for a new OAuth Creators API that gates access behind qualifying sales a brand-new affiliate account can't have yet. We built the Creators integration end-to-end and added a curated-catalog fallback, so the DIY experience and the commission links work today — live product data switches on the moment eligibility clears.
- Enforcing privacy at the data layer. Making the database physically unable to expose contact info without a consented link took careful schema design — but it's what makes the trust real.
- Trustworthy AI diagnosis. A confident wrong answer is worse than none in someone's home, so we frame results as an informed starting point with a fair-price range and a self-reported confidence score, not a verdict.
Accomplishments that we're proud of
- We built privacy into the schema, not the marketing — a homeowner literally cannot be exposed to a provider without consent.
- We designed two aligned revenue streams — a finding fee from providers for pre-qualified leads, and Amazon affiliate commission on DIY parts — that keep the app free for homeowners.
- We shipped a genuinely usable full-stack app on Vercel + Amazon Aurora PostgreSQL Serverless v2 — and closed the marketplace loop end-to-end (homeowner diagnoses → lead → provider claims business → submits quote), verified through Aurora, not mocked.
- We migrated Lightsail Postgres → Aurora with zero code changes — just a pg_dump | psql and a DATABASE_URL swap — because the data layer was SQL-native from day one.
What we learned
The real problem isn't finding a contractor — those exist. It's the moment before: knowing what's wrong, what's fair, and who is actually the right fit. That's where first-time homeowners get taken advantage of, and where the leverage is. We also learned that a privacy promise is only as strong as the place you enforce it — putting it in the Aurora schema instead of the copy changed how we think about building trust. And we learned a lot of hard-won AWS serverless-database operations: cold-start behavior, capacity floors, SSL handling, and IAM/region footguns that only show up against a live cluster.
What's next for Odosan
- Proactive home health. We already pull public property data into home_profiles and territory_summaries; next is using it so Odosan can gently say "your roof is heading into its 20s, worth a look before the rains" — being the home knowledge you never inherited.
- A maintenance journey that travels with the home — a transferable record the next owner inherits at resale, so the care you put in shows up in the price.
- Masked contact relay (Twilio) and live, rated provider data (Google Maps Platform) to grow the marketplace beyond our seed.
- We've built the Amazon Creators API integration end-to-end (OAuth + product search) — it auto-activates the moment the Associates account hits the qualifying-sales threshold, with no code change.
Built With
- amazon-associates
- amazon-aurora-postgresql
- amazon-bedrock
- amazon-web-services
- anthropic-claude
- aws-rds-proxy
- aws-secrets-manager
- better-auth
- google-gemini
- kysely
- next.js
- postgresql
- pwa
- react
- tailwindcss
- typescript
- v0
- vercel


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