Senior Node.js/Prompt Engineer for AI Property Maintenance Chatbot
This is a part-time position (4 hour/day)
We are looking for a strong backend developer to help stabilize and improve an existing AI chatbot product for our client, a property maintenance platform for letting agents and landlords.
The project is a production chatbot that communicates with tenants via WhatsApp/SMS/web chat, triages property maintenance issues, creates and updates maintenance tickets, handles photos, sends availability links, and integrates with the backend API.
This is not a simple FAQ bot. It is an AI-driven workflow system built around Azure Functions, Durable Functions, OpenAI tool-calling, PostgreSQL, Twilio, and external API integrations. The current product works, but we have significant issues with stable behavior, workflow consistency, and edge cases. We need someone who can understand the existing architecture, reduce fragility, and make the system more predictable.
Tech Stack
- TypeScript / Node.js
- Azure Functions
- Azure Durable Functions
- OpenAI Responses API / function calling / agent workflows
- PostgreSQL
- Drizzle ORM
- Twilio WhatsApp/SMS
- SignalR
- Zod validation
- External REST API integrations
- Azure DevOps pipelines
Main Responsibilities
- Analyze the current chatbot architecture and identify stability risks.
- Improve conversation flow reliability and state management.
- Fix inconsistencies between prompts, tool schemas, validators, and backend API expectations.
- Make AI tool-calling behavior more deterministic and easier to debug.
- Improve error handling, retries, fallbacks, and recovery flows.
- Add automated tests for key conversation scenarios.
- Improve observability, logging, and debugging around failed conversations.
- Help simplify overly complex parts of the workflow where possible.
- Document the system enough for future maintainability.
What We Need From You
- Strong backend engineering experience with TypeScript and Node.js.
- Experience building production systems, not only prototypes.
- Good understanding of state machines, queues, async workflows, or orchestration.
- Experience with Azure Functions or similar serverless platforms.
- Experience with OpenAI API, tool calling, agents, or LLM-based workflows.
- Good PostgreSQL knowledge.
- Ability to work with an existing codebase and improve it carefully.
- Strong debugging and testing mindset.
- Clear communication and ability to explain tradeoffs.
Nice To Have
- Experience with Azure Durable Functions.
- Experience with Twilio WhatsApp/SMS integrations.
- Experience with property management, ticketing, support, or workflow automation systems.
- Experience stabilizing LLM applications in production.
- Experience with evals or conversation simulation tests.
Current Problems To Solve
- The bot sometimes behaves inconsistently across conversation stages.
- Some tool calls fail because prompt instructions, OpenAI tool schemas, and local validators are not fully aligned.
- Conversation closing and ticket status handling need to be made more reliable.
- There are many fallback mechanisms, but the core workflow should become more deterministic.
- Test coverage for realistic tenant conversations needs to be improved.
Engagement
- Part-time or full-time possible
- Remote
- Long-term cooperation preferred
- Start with code audit and stabilization plan, then implementation
Required skills experience
| Node.js | 5 years |
| ะะพัะธัััะฒะฐั ChatGPT | 2 years |
| Azure Functions | 1 year |
| Azure Durable Functions | 1 year |
| PostgreSQL | 2 years |
| Twilio | 1 year |
| SignalR | 1 year |
Required languages
| English | B2 - Upper Intermediate |
| Ukrainian | C2 - Proficient |