Inspiration

Finding someone to clean your home should never mean choosing between trust and fairness.

That belief is what inspired Clara 🧼.

We saw a problem on both sides of the cleaning-services experience. For customers, inviting someone into their home requires real trust, trust that the person will respect their space, understand their needs, and do quality work. For cleaners, the reality is often just as difficult: they do demanding, essential work, yet too often receive only a small share of what the customer pays.

That imbalance did not sit right with us.

We created Clara 🧼 to bring these needs together: a platform that helps people find reliable, trustworthy cleaners, while also giving cleaning professionals a fairer and more direct connection to opportunity. We did not want to build just another marketplace. We wanted to build something rooted in trust, fairness, and dignity.

Our slogan, "Every home has context," reflects that idea. Cleaning is not just about completing a task list; it is about understanding a person’s space, preferences, and standards, and creating an experience that feels personal, respectful, and human.

At its core, Clara 🧼 is about redefining what this experience should look like: a cleaner home should not come at the cost of exploitation, and finding help should not come with uncertainty or fear.

That is the future we set out to build.

What it does

Clara 🧼 turns booking a home cleaner from a stressful, low-trust process into a guided and reliable experience.

For customers, Clara offers a conversational onboarding flow where users can speak to the platform to create an account, save their address, and start requesting service without dealing with long forms. During booking, customers can describe what they need, upload photos of the space, and receive an AI-assisted estimate of the cleaning effort, including expected time, visible obstacles, and special equipment needs. Clara then uses that context, together with cleaner availability, pricing, and schedule preferences, to recommend the best booking options. Once a customer chooses a cleaner and time slot, they can complete payment securely and track their bookings from their workspace.

For cleaners, Clara provides a dedicated onboarding and operations flow. Cleaners can apply, submit identity information and documents for verification, build a profile, set their hourly rate, define their availability, connect payout details, and manage assigned jobs from their own dashboard. On the platform side, Clara also includes an admin view to oversee cleaner readiness, bookings, payments, payouts, and overall marketplace activity.

In short, Clara 🧼 is not just a directory for finding cleaners. It is an end-to-end trust, matching, and booking platform designed to help customers find reliable cleaning services while giving cleaners a more direct, structured, and professional path to work.

How we built it

We built Clara 🧼 as a full-stack marketplace system where AI is part of the product workflow, not just a chatbot layered on top of a demo.

  • Frontend architecture: We built the product interface with Next.js 16, React 19, and TypeScript, using Tailwind CSS and animation-driven UI patterns for onboarding, booking, dashboards, and role-specific workspaces. The frontend supports separate experiences for customers, cleaners, and internal admins.

  • Backend architecture: We built the backend in Python using Litestar with an async-first design, Advanced Alchemy / SQLAlchemy for the application domain, and PostgreSQL + PostGIS for persistence. We also used Redis and Celery for background and operational workflows, and exposed both REST and WebSocket interfaces depending on the feature.

  • Real-time voice onboarding with Gemini: For customer signup, we integrated Gemini Live over WebSockets so users can create an account by speaking naturally. Instead of treating the model as free-form chat, we exposed structured tool calls such as profile updates, and the backend streamed typed state patches back to the UI in real time. This gave us a conversational experience without losing data structure or control.

  • AI-assisted booking flow: We built a second live AI system for booking. The booking assistant maintains a structured draft containing schedule preferences, address context, estimated cleaning time, budget limits, and cleaner preferences. Once enough information is collected, the assistant can trigger recommendation tools and move the user toward a real checkout flow instead of stopping at conversation.

  • Vision-based cleaning estimation: We used Gemini for multimodal image analysis so a customer can upload room photos and get a structured cleaning estimate. The backend normalizes the model response into fields like room type, room size, dirt severity, clutter multiplier, obstacles, special equipment, and estimated cleaning time. That estimate is then fed directly into the booking flow as machine-readable context.

  • Matching and recommendation engine: We implemented marketplace logic on top of the AI signals. Clara ranks cleaners using real platform constraints such as availability, requested time window, estimated duration, budget, rating, and explicit cleaner preference. Instead of returning one opaque result, the system generates multiple recommendation modes such as best fit, budget, and fastest.

  • Trust and verification pipeline: For cleaners, we built a dedicated onboarding flow with profile setup, photo upload, pricing, availability management, and identity-document submission. A key part of this flow is an AI verification agent powered by Gemini: it analyzes uploaded identity documents, checks whether the document appears legitimate and legible, compares the submitted identity number against what it can infer from the image, and returns structured verification signals such as confidence, reasoning, and verification status. Those agent outputs feed Clara’s trust layer and review workflow before a cleaner is allowed to become bookable on the platform.

  • Payments and payouts: We integrated Stripe Checkout for customer payments and Stripe Connect for cleaner onboarding and payouts. The backend processes platform and connect webhooks so booking state, payment state, and payout state stay synchronized across the system.

  • Transactional email delivery with Resend: We integrated Resend to send transactional booking emails to both customers and cleaners, with server-rendered HTML and plaintext message variants for reliable delivery across clients. To improve deliverability, we configured a branded sending identity on a custom domain, Clara <info@updates.claracleaning.live>, instead of relying on a generic sender. That gave Clara 🧼 production-style email infrastructure and reduced the risk of important notifications being treated as spam.

  • Operations and admin tooling: We built an internal admin surface to monitor marketplace health, including cleaner readiness, booking activity, customer activity, revenue, and payout status. This let us operate Clara as an actual platform, not just as a user-facing prototype.

  • Cloud infrastructure: We provisioned the production backend stack on Google Cloud using Terraform, with Compute Engine for the runtime, Cloud SQL for PostgreSQL, Secret Manager for secrets, and Cloud Storage for uploaded assets. This gave us a deployable cloud architecture with infrastructure defined as code from the start.

  • Quality and development workflow: We kept the project reproducible with a Taskfile-based workflow, local Docker-backed services, and automated checks using pytest, Vitest, Playwright, linting, and type checking. That helped us move fast during the hackathon without turning the codebase into a throwaway prototype.

Challenges we ran into

One of the biggest challenges we faced was making Clara’s AI agent reliable enough to participate in real product flows, not just hold a conversation. It is relatively easy to demo an AI chat experience, but much harder to make an agent collect structured information, trigger the right tool calls, recover from incomplete input, and stay aligned with deterministic product rules like booking windows, pricing, and account creation.

Another major challenge was handling real-time multimodal interaction. We built voice-driven onboarding and an AI-assisted booking flow over WebSockets, which meant we had to deal with streaming audio, interruptions, partial state updates, and synchronization between what the model was saying and what the frontend/backend believed the current user state actually was.

We also ran into difficulty with making AI output operationally safe. For example, the cleaning-estimation and identity-verification flows both depend on Gemini returning useful structured output from images. In practice, model responses are not always perfectly normalized, so we had to build validation, fallback logic, and guardrails to turn model output into something the application could trust enough to use in booking and verification workflows.

Payments added another level of complexity. Supporting Stripe Checkout for customers and Stripe Connect for cleaners meant handling multiple state machines at once: booking status, payment status, payout status, onboarding completion, and webhook synchronization. Making those systems work together consistently under hackathon time pressure was one of the hardest engineering parts of the project.

Finally, we were building a full marketplace, not a single-screen prototype. That meant coordinating three different product surfaces at once: the customer experience, the cleaner workspace, and the admin/operations side. Keeping those flows coherent while also deploying the backend on Google Cloud with real infrastructure, secrets, storage, and database support was a significant challenge during the build.

Accomplishments that we're proud of

What we are most proud of is that Clara 🧼 is not just an idea, a mockup, or a chatbot demo. We built it as a working end-to-end product with real marketplace logic, real AI workflows, and real operational depth.

  • We built an AI agent that does real product work. Clara 🧼 does not stop at conversation. It actively helps onboard users, interprets room photos, structures booking context, supports trust workflows, and moves people from intent to an actual service flow.

  • We made trust a core system, not a marketing claim. In a product where people are letting someone into their home, trust is everything. We are proud that Clara 🧼 includes cleaner verification, onboarding controls, and review-aware status gates before someone becomes bookable.

  • We created a marketplace experience for both sides, not just the customer side. Customers can discover, evaluate, and book cleaners with more confidence, while cleaners get profile-building, availability management, payout setup, and a more direct path to paid work.

  • We built Clara 🧼 for real-world usability across devices and environments. The product was designed as a responsive experience for desktop and mobile, includes light and dark mode support, and ships with Progressive Web App (PWA) capabilities so it feels closer to a mobile app while keeping the reach of the web.

  • We connected AI to real platform decisions. The AI-generated cleaning estimate is not an isolated feature; it feeds into booking context, timing, and recommendations. That made the intelligence genuinely useful instead of decorative.

  • We shipped a complete flow instead of isolated hackathon screens. Clara 🧼 covers onboarding, booking, matching, payments, cleaner operations, and admin visibility in one coherent system.

  • We built and deployed with production-minded engineering. We are especially proud that Clara 🧼 is not limited to localhost. We provisioned infrastructure on Google Cloud, deployed the product as a live system, and exposed both the frontend and the API through real public domains so the experience is actually usable end to end.

  • We used Infrastructure as Code from the start. Instead of treating deployment as an afterthought, we managed our cloud setup with Terraform, which gave us reproducibility, clearer system ownership, and a stronger foundation than a one-off manual hackathon deployment.

What we learned

Building Clara 🧼 taught us that the hardest part of an AI product is not getting a model to respond, it is getting the system around the model to be reliable, trustworthy, and useful.

  • AI agents work best when they are grounded in structure. We learned that a great agent experience does not come from free-form prompting alone. It comes from combining model intelligence with tool calling, typed state, validation, and clear system boundaries.

  • Good AI UX is about reducing friction, not showing off AI. The most valuable moments were not when the system looked impressive, but when it made things feel easier: speaking instead of filling forms, uploading a room photo instead of guessing cleaning time, or getting matched recommendations instead of manually comparing options.

  • Multimodal AI becomes more powerful when connected to workflow. We learned that image analysis, voice interaction, and structured recommendations become far more valuable when they are tied directly to booking, scheduling, verification, and payment flows.

  • Tuning an AI agent is really systems design, not just prompt writing. We learned that getting an agent to work reliably required much more than good prompts. We had to carefully shape tool calls, state management, validation, and fallback behavior so the agent could operate inside real onboarding, booking, and trust workflows without breaking the product experience.

  • Choosing the right technologies early changes everything. We learned that strong technical decisions made the product possible under hackathon pressure: a real-time architecture for voice and agent interactions, a stack that could support structured backend logic and modern frontend UX, and cloud infrastructure that let us deploy Clara 🧼 as a live system instead of leaving it as a local prototype.

  • Agentic coding dramatically accelerated how we built. Throughout the process, we used agentic coding tools like Codex, Claude, and Copilot as collaborators for implementation, debugging, iteration, and refinement. One of our biggest lessons was that these systems are incredibly powerful when combined with clear product direction, strong review, and engineering judgment.

What's next for Clara

Next, we want Clara 🧼 to stop being only the agent that helps book a cleaning and become the agent that manages the entire cleaning lifecycle.

  • Autonomous quality assurance: One of the most exciting next steps is a Gemini-powered before-and-after verification flow. We want Clara 🧼 to compare the original cleaning scope with completion photos, detect whether the job was truly finished, reduce awkward customer-cleaner friction, and eventually help trigger smoother completion, feedback, and payout flows.

  • More agentic tools for cleaners: We plan to expand Clara’s agent capabilities on the cleaner side, including AI-generated bios, agent-assisted availability updates, stronger verification workflows, and richer cleaner profiles so customers can better understand who they are hiring.

  • Smarter location and matching: We want to add Google Maps and service-area intelligence so Clara 🧼 can make better geographic matches, reduce scheduling friction, and improve recommendation quality based on real-world logistics, not just static profile data.

  • Proactive customer experience: We also want Clara 🧼 to become more proactive with features like WhatsApp or SMS updates, loyalty programs, subscriptions for recurring cleanings, and smart reminders that make the platform useful beyond a single booking.

  • Production maturity: On the engineering side, the next phase includes deployment automation, additional security hardening, and continued infrastructure improvements so Clara 🧼 can grow from a hackathon project into a dependable real-world platform.

Longer term, our vision is for Clara 🧼 to become a true home-services agent, because every home has context: one that understands the space, recommends the right cleaner, adapts to budget and urgency, verifies quality, and creates a more trusted and fair experience for everyone involved.

Built With

Share this project:

Updates