Led the design of WEAV, an enterprise data platform. Migrated complex on-prem/cloud sources to Azure using ADF. Developed scalable pipelines with Databricks (Bronze/Silver/Gold) for high-performance analytics. Integrated Azure Synapse and Power BI to deliver real-time business insights for executive stakeholders.
Heron runs inside Revit, Rhino, ArchiCAD and SketchUp, so the site had to read as an instrument rather than a brochure from the first frame.
The preloader replaces the progress bar with a drawing in progress. A red datum line moves up an architectural elevation carrying the percentage value, and the building is drawn in line by line as loading completes. Supporting information sits in the margins in the same register: live cursor coordinates, a project spec card covering type, founding year, focus and location, and a numbered system boot sequence.
Functionally it covers asset loading for the interactive hero, so the drag-to-reveal behaviour responds immediately once the page lands. Editorially it sets the frame before a single line of marketing copy appears.
The 404 was treated as a proper page rather than a fallback state.
The number is constructed as an architectural drawing. The 4 and the 0 are formed from walls at true thickness, with furniture laid out inside the resulting rooms and dimension strings running along both edges. It sits inside the same drafting system as the rest of the site rather than borrowing a display typeface.
The error message then repeats. Instead of a single dialog, identical windows cascade back across the canvas, each one carrying the same 404 notice. It reads as a system throwing an unresolved warning over and over, which is the exact behaviour Heron is built to prevent inside a model.
Error pages are never in the brief. They're a good measure of whether a team understood the product or just styled it.
Treating a 404 as an actual page instead of a dead end is such a good instinct, where did the architectural drawing idea come from, personal interest bleeding into the work?
AI Lead Qualification & Appointment Automation System
AI Lead Conversion Platform — Telegram, CRM & Automated Scheduling
Designed and developed an AI-powered lead conversion system that handles incoming Telegram conversations from first contact to qualification, CRM synchronization, and appointment booking.
The AI works with conversation history, lead profile data, unanswered questions, current funnel stage, available actions, and verified CRM data to determine the next appropriate step and generate structured responses.
The system automatically creates and updates leads in the CRM, manages qualification stages, books meetings, generates Yandex Telemost links, sends reminders, handles rescheduling, and escalates exceptional cases to a human manager.
The architecture includes dialogue state management, message deduplication and batching, PostgreSQL persistence, concurrency protection, validation before actions are executed, and safeguards against sending unverified or prohibited information.
This is not just an AI chatbot — it is an automated sales workflow that connects Telegram, AI, CRM, scheduling, and human escalation into one controlled process.
AI makes decisions within controlled business rules instead of operating as an unrestricted chatbot.
The concurrency safeguards and validation-before-actions detail is a strong distinction here—booking systems usually fail at the edges, not in the happy path. I’d expose a compact lead state to the operator (stage, next action, last unanswered question) so a human can resume...