Inspiration

I kept coming back to one simple problem: customer-success teams often know a customer is unhappy only when it is already too late. The information is usually scattered—some of it is in a CRM, some in product usage, some in orders or support conversations, and some only exists in a CSM’s memory. I wanted to build something that helps a team see the full customer story early enough to do something useful about it. That became TFCRM: a customer-success workspace focused on helping teams notice risk, understand the context behind it, and take the next best action without handing control over to AI.

What it does

TFCRM helps a customer-success team move from customer data to a thoughtful retention action in one place. A team can import customer data from a CSV, connect signed product or commerce events, and view customers alongside their revenue context, interactions, health signals, and deals. From there, they can focus on accounts that need attention and use GPT‑5.6 to help with tasks such as churn analysis, root-cause investigation, health updates, and outreach drafts. The final action is intentionally human-controlled. TFCRM can help prepare a campaign, but it does not independently email customers. A workspace owner or CSM reviews and approves the message before it is sent.

How we built it

I built TFCRM as a full-stack web app with React, Vite, Tailwind CSS, FastAPI, Python, PostgreSQL with pgvector, LangGraph, Resend, Docker, and Render. Codex was my engineering partner throughout the project. I used it to turn the product idea into a working system: building the CRM interface, customer workflows, API routes, authentication, database models and migrations, workspace roles, background imports, campaign approval flows, and deployment setup. More importantly, I used Codex when I got stuck. It helped me investigate React state issues, production build errors, background-job behavior, permission edge cases, and deployment problems. That meant I could move from “this feature should exist” to a tested implementation much faster, while still making the key product and technical decisions myself. GPT‑5.6 is used inside the product rather than just as a chatbot bolted onto it. GPT‑5.6 Luna handles fast routing and structured work, while GPT‑5.6 Terra is used for deeper reasoning, root-cause analysis, and empathetic outreach drafts.

Challenges we ran into

The hardest part was not adding AI—it was deciding where AI should stop. I wanted TFCRM to be genuinely useful, but I did not want it to become a system that silently makes decisions or sends messages on a team’s behalf. That led to one of the project’s most important choices: AI can analyze, recommend, and draft, but customer-facing outreach stays behind explicit human approval. Another challenge was making this feel like a real product instead of a demo. I had to handle shared workspaces, owner/CSM/viewer roles, background imports that keep running after navigation, visible job status, cancellation, and clear error states.

Accomplishments that we're proud of

Turning a broad “AI CRM” idea into a complete, usable customer-success workflow. Building a real product experience—not just a prompt interface—with dashboard, customer directory, deals, integrations, AI runs, campaigns, settings, and role-based access. Creating a safe AI workflow where recommendations are visible and outreach always requires human approval. Making imports and AI tasks run in the background with clear, durable status. Building a live, public demo that judges can explore with sample data. Using Codex to iterate across frontend, backend, debugging, testing, and deployment in a short build cycle.

What we learned

The biggest lesson was that the best AI products do not remove people from important decisions—they make people faster and better informed. The model is only one part of the experience. Trust comes from the surrounding system: clear data boundaries, evidence, status visibility, permissions, recoverable errors, and a human decision at the final customer-facing step. I also learned that Codex is most powerful when used as a continuous building partner. It helped me explore options, implement features, diagnose failures, and refine the product quickly, while I stayed focused on the user problem and product decisions.

What's next for TF-CRM

Next, I want to make TFCRM easier to connect to the tools customer-success teams already use: HubSpot, Salesforce, Shopify, Stripe, Zendesk, and Intercom. I also plan to add saved segments, retention playbooks, campaign scheduling, delivery and reply analytics, richer audit logs, and natural-language account briefings. The long-term goal is simple: make every customer-success team more proactive—helping them understand which customers need attention, why, and what thoughtful action to take next.

Built With

Share this project:

Updates