Oleh Obukh's Work | ContraWork by Oleh Obukh
Oleh Obukh

Oleh Obukh

Senior Vue/Nuxt Engineer & AI Architect | Agentic AI | RAG

New to Contra

Oleh is ready for their next project!

Cover image for Threads Automation Pipeline for News
Threads Automation Pipeline for News Posting via Ukrnet I built a lightweight Threads automation pipeline that turns daily updates from the Ukrnet news aggregator into engaging social posts. The goal of this experimental content pipeline automation was to see how the platform reacts to regular, high-quality news content without the need for constant manual intervention. By combining prompt engineering with the official Threads API, I created a system that runs steadily and efficiently. In its very first week, the MVP reached nearly two hundred thousand views, proving that automated news posting can generate real engagement and viral reach when executed correctly. The workflow begins by pulling a fresh list of stories from the news aggregator and running a deduplication check against a small internal database to prevent repetitive posts. Because raw web pages are too inconsistent for direct language model processing, I implemented an article to markdown normalization layer to clean and standardize the text. The system then evaluates the normalized content, selecting the most socially sharp and attention-worthy stories. From there, it generates a short, engaging post relying heavily on structured JSON output. This payload includes a social hook, the main post body, and an optional image url, making the data highly stable for downstream integrations. Before any social media automation goes live, it passes through a practical human in the loop control point. The generated draft is sent to Telegram, where I can either approve it for immediate release or reject it with specific feedback. If rejected, the pipeline automatically runs another generation cycle incorporating those notes. Once approved, the post is published directly through the official Threads API. The schedule runs autonomously, pushing news updates every few hours to capture different segments of the daily audience. A major engineering takeaway from this n8n automation project was the critical importance of cost optimization and output stability. I initially tested older language models, but frequent formatting failures caused pipeline breaks and wasted tokens through forced regenerations. Switching to Gemini Flash drastically reduced these errors, ensuring reliable structured JSON output and significantly lowering the effective cost per run. This self hosted setup proved that a well designed Threads automation system does not just blindly post content, but actively frames narratives that capture audience attention and drive consistent social growth.
1
25
Cover image for Telegram AI Agent with Memory,
Telegram AI Agent with Memory, Tools, and Android Self-Hosting Bzhela started as an experimental Telegram AI agent but evolved into a full research project focused on long-term memory, controlled context, and autonomous infrastructure. The goal was to build a context-aware assistant that tracks conversation flow and interacts with real-world tools without losing coherence in an active group chat. The core of the system was a custom memory architecture. To prevent context collapse, I built a rolling strategy where older messages were compressed into a summary while fresh messages remained raw. I used Redis for short-term history and Pinecone for long-term fact retrieval. The agent actively extracted and managed facts, applying time-to-live limits to temporary memories so the database stayed clean. This setup allowed the agent to be proactive rather than purely reactive. It operated with practical integrations tied to daily life. The agent checked local power outage schedules, managed Google Calendar events, and interacted bidirectionally with an iPhone via Shortcuts. It could trigger phone-side scenarios, like setting alarms or sending warnings based on battery levels. The infrastructure was deliberately unconventional. Instead of a standard cloud server, the agent ran on a self-hosted Android phone without root. I set up a runtime using Termux, proot Ubuntu, and Node.js, managed by PM2. Cloudflare Tunnel ensured secure remote access. This gave the agent physical survivability via a power bank and access to real-world network signals. Over several months, the system maintained a stable context, managing around 150 compressed facts and proactively messaging based on real-world triggers. It proved that an AI agent can act as a reliable, system-level tool rather than just a simple chatbot wrapper. Key technical aspects: - Custom memory stack using Pinecone and Redis - Rolling context and automated chat summarization - Event-driven proactive messaging - Integrations with Google Calendar, webhooks, and iOS Shortcuts - Self-hosted Android runtime with Termux and Cloudflare Tunnel
2
2
135
Cover image for Agentic AI Workflow for Real
Agentic AI Workflow for Real Estate Lead Enrichment (USA) I built a production-grade, engineering-first workflow that turns minimal “clues” (company name, property address, or Tax ID) into a structured owner/contact dossier. Stack: self-hosted n8n, OpenAI (GPT-5), Airtable (UI + database), Google Search, RealTrack (closed system) Input → Output: 1–3 clues in → a complete enriched profile in ~60–120 seconds (with citations/links to sources) ready for sales outreach and due diligence. The Problem (How the team worked before) The client’s manual process looked like “crossfire research”: - Find a company name + street / Tax ID - Open multiple platforms/tabs - Cross-check signals, collect evidence - Compile a dossier in spreadsheets/CRM This was slow (20–45 minutes per request), error-prone, and hard to scale. I delivered an end-to-end agentic workflow that automates the same multi-platform research the team did manually — but faster and with consistent formatting. 1. ~90% reduction in pre-call research time per lead 2. ~60–120 seconds per lookup vs 20–45 minutes manually 3. ~$0.02 per enrichment request (token cost; excluding optional external services) 4. Self-hosted n8n: dramatically lower operational costs vs cloud pricing at scale
1
2
85
Cover image for Pristo (Surveys) – Frontend Engineer
Pristo (Surveys) – Frontend Engineer (Core Form Engine) Developed the central "Viewer" engine for rendering dynamic surveys, transforming complex JSON configurations into interactive interfaces. Designed a robust conditional logic system to dynamically show or hide fields, checklist items, and dropdowns based on user input. Implemented a computed state mechanism for real-time data validation and error handling, ensuring strict navigation control and data integrity for large-scale field research.
2
110
Cover image for Oranta — National Insurance Company
Full-cycle
Oranta — National Insurance Company Full-cycle development of the new digital presence for one of Ukraine’s oldest and largest insurance providers. The project involved moving away from legacy systems to a modern, high-performance tech stack. Complex Multi-step Calculator: Developed a sophisticated, logic-heavy insurance calculator with numerous conditional branches (MTPL, Green Card, etc.), focusing on high conversion and user-friendly UX. Customer Portal: Implemented a comprehensive internal user cabinet for policy management and history. Technical Excellence: Managed complex state handling for multi-step forms and integrated various third-party APIs for real-time data validation.
2
102
Cover image for Developed a "source-of-truth" ecosystem for
Developed a "source-of-truth" ecosystem for copyrights, lyrics, and metadata, serving creators and industry professionals. Key Achievements: Major Migration & Modernization: Successfully migrated a large-scale application from Nuxt 2 to Nuxt 3, ensuring better performance and developer experience (DX). Legacy Refactoring: Performed extensive refactoring of the legacy codebase, implementing modern patterns and TypeScript. Analytics Engine Rewrite: Architected and implemented analytics module from scratch using Nuxt 3, focusing on data visualization and real-time reporting.
2
119
Cover image for Designed and developed two core
Designed and developed two core modules by myself in a short time: Graphic editor (Canva-like interface) & Video wall module Kiosk mode with interactive on-screen elements I integrated the player-engine into the Manager preview. Before, it was a simple visualization. Now the user can see how his animation and slide transitions will be rendered on the TV screen or VideoWall. I've implemented a grid for the videowall configuration right in the browser. Here also could be lot of content sets and user can preview them all right here. also done: kiosks, widgets, slides, 3th-party media (pexels, giphy, unsplash), transformations, hotkeys, history, slide transitions, styles, font families, rotations, animations
3
143