[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"technology-en-go":3,"technology-projects-en-go":29,"mdc--a88yuj-key":113},{"id":4,"title":5,"category":6,"content":7,"description":8,"extension":9,"faq":10,"icon":11,"links":12,"meta":21,"projects":22,"since":25,"stem":26,"updated":27,"__hash__":28},"technologies_en\u002Fen\u002Ftechnologies\u002Fgo.yml","Go","backend","Go is a compiled programming language that I use for services running alongside Laravel applications. In my projects, it handles focused tasks that benefit from an independent process and deployment cycle.\n\n## Go in DigiPulse and VetSpace\n\nDigiPulse uses a separate Go service for website availability checks. Laravel handles the application and administration interface, while the monitoring service makes HTTP requests and reports results. VetSpace uses a dedicated Go service for AI-assisted visit analysis.\n\n## Designing a background service\n\nGoroutines make concurrent work convenient, but concurrency still needs limits. Timeouts, cancellation and bounded work queues help a monitoring service cope with slow or unavailable websites. The useful measure is whether it completes checks reliably within its resource budget, rather than a blanket performance comparison with PHP.\n\n## Deployment and language choice\n\nGo applications can be deployed as compiled binaries. Whether a binary is fully self-contained depends on its build settings and native dependencies. I keep ordinary application workflows in Laravel and use Go when separating a service makes its operation and maintenance clearer.\n","Go services for SaaS applications: uptime monitoring in DigiPulse and a separate service for AI-assisted visit analysis in VetSpace.","yml",null,"i-simple-icons-go",[13,18],{"label":14,"to":15,"color":16,"icon":17},"go.dev","https:\u002F\u002Fgo.dev","neutral","i-heroicons-arrow-top-right-on-square",{"label":19,"to":20,"color":16,"icon":17},"Technical reference","https:\u002F\u002Fgo.dev\u002Fdoc\u002Ffaq",{},[23,24],"digipulse","vetspace","2024","en\u002Ftechnologies\u002Fgo","2026-09-20","jZk4YOiJq83b4X13aWobPW13bW0sjwTA7-ehhykp7fU",[30,74],{"id":31,"title":32,"content":33,"date":34,"description":35,"extension":9,"featured":36,"image":37,"links":38,"meta":47,"stack":48,"stem":68,"tags":69,"url":41,"__hash__":73},"projects_en\u002Fen\u002Fprojects\u002Fdigipulse.yml","DigiPulse","Uptime monitoring SaaS — 60-second checks, SSL expiry tracking, Telegram and email notifications. The admin panel and core backend are built with Laravel (Octane, Reverb websockets) and Filament, while the monitoring engine is a separate Go service. Includes Google OAuth sign-in and Cloudflare Turnstile integration, plus an MCP server that exposes monitoring data directly to AI assistants. Self-hosted on Proxmox.\n\n## Key Features\n\n- **Dedicated Go engine** - availability checks run in a separate Go service, so constant 60-second polling never slows down the Laravel app\n- **Real-time dashboard** - Reverb websockets push status changes to the UI live, no manual refresh\n- **Octane + Filament** - resident-memory Laravel with a full admin panel for monitors, contacts and alert rules\n- **MCP server** - monitors and incidents are queryable from AI assistants (Claude, Cursor) via the Model Context Protocol\n- **Google OAuth + Turnstile** - passwordless sign-in and bot protection on public forms\n- **Self-hosted** - deployed on a Proxmox homelab I manage end-to-end\n\n## Tech Stack\n\n- **Backend**: Laravel (Octane, Reverb websockets)\n- **Admin Panel**: Filament\n- **Monitoring Engine**: Go (separate service)\n- **Database**: PostgreSQL\n- **AI Integration**: MCP server\n- **Infrastructure**: Self-hosted on Proxmox\n","2026-04-17","Uptime monitoring SaaS: event-driven architecture — Laravel (Octane, Reverb) + Filament dispatch checks through Redis to a lightweight Go worker; an MCP server exposes monitoring data to AI assistants; Telegram\u002Femail alerts",true,"\u002Fhero\u002Fdigipulse.avif",[39,43],{"label":40,"to":41,"color":42,"icon":17},"Live Demo","https:\u002F\u002Fdigipulse.cloud","primary",{"label":44,"to":45,"color":16,"icon":46},"GitHub","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fdigipulse-backend","i-simple-icons-github",{},[49,52,55,56,59,62,65],{"name":50,"icon":51},"Laravel","i-simple-icons-laravel",{"name":53,"icon":54},"Filament","i-simple-icons-filament",{"name":5,"icon":11},{"name":57,"icon":58},"PostgreSQL","i-simple-icons-postgresql",{"name":60,"icon":61},"Redis","i-simple-icons-redis",{"name":63,"icon":64},"Vue","i-simple-icons-vuedotjs",{"name":66,"icon":67},"MCP","i-heroicons-cpu-chip","en\u002Fprojects\u002Fdigipulse",[70,50,5,71,66,60,72],"SaaS","Monitoring","Event-driven","b7hu-_otqukg-JY_hPBvmlUYk5jVOx42XpCotH6Cvqo",{"id":75,"title":76,"content":77,"date":78,"description":79,"extension":9,"featured":36,"image":80,"links":81,"meta":93,"stack":94,"stem":109,"tags":110,"url":83,"__hash__":112},"projects_en\u002Fen\u002Fprojects\u002Fvetspace.yml","VetSpace","A two-sided veterinary platform — an SEO clinic catalog and a subscription-based CRM with appointments and patient records. A public clinic catalog built for SEO-first customer acquisition, and a subscription-based CRM (appointments, visits, patient records) as separate Vue\u002FNuxt apps on top of a single Laravel API. Database-per-tenant architecture, Stripe subscriptions via Cashier, GraphQL + REST, and AI-assisted visit analysis through a dedicated Go microservice.\n\n## Key Features\n\n- **Two-sided funnel** - an SEO-first public catalog acquires clinics; the subscription CRM (appointments, patient records) retains them\n- **True tenant isolation** - database-per-tenant keeps every clinic's data separate and makes GDPR export\u002Fdelete a per-database operation\n- **Dual API surface** - GraphQL for complex catalog queries, REST for the CRM — one Laravel codebase\n- **Billing built-in** - Stripe subscriptions via Cashier: trials, plan changes, dunning\n- **AI where it helps** - visit analysis runs in a dedicated Go microservice, keeping the main API unburdened\n\n## Tech Stack\n\n- **Backend**: Laravel (API)\n- **Frontend**: Vue\u002FNuxt (separate apps)\n- **Architecture**: Database-per-tenant multi-tenancy\n- **Payments**: Stripe via Cashier\n- **API**: GraphQL + REST\n- **AI**: Go microservice for visit analysis\n","2026-09-19","A two-sided veterinary platform — an SEO clinic catalog and a subscription-based CRM with appointments and patient records","\u002Fhero\u002Fvetspace.avif",[82,84,87,90],{"label":40,"to":83,"color":42,"icon":17},"https:\u002F\u002Fvetspace.pro",{"label":85,"to":86,"color":16,"icon":46},"API Overview","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fvetspace-api",{"label":88,"to":89,"color":16,"icon":46},"Frontend Overview","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fvetspace-frontend",{"label":91,"to":92,"color":16,"icon":46},"VetCard Overview","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fvetspace-vetcard",{},[95,96,97,100,103,106],{"name":50,"icon":51},{"name":63,"icon":64},{"name":98,"icon":99},"Nuxt","i-simple-icons-nuxtdotjs",{"name":101,"icon":102},"Stripe","i-simple-icons-stripe",{"name":104,"icon":105},"GraphQL","i-simple-icons-graphql",{"name":107,"icon":108},"AI","i-heroicons-sparkles","en\u002Fprojects\u002Fvetspace",[70,50,63,111,101,107],"Multi-tenant","NDJ-cDU24m4uCf7HzSeTbCgbh0MGVh5P5HASDymy0wA",{"data":114,"body":115},{},{"type":116,"children":117},"root",[118,126,133,138,144,149,155],{"type":119,"tag":120,"props":121,"children":122},"element","p",{},[123],{"type":124,"value":125},"text","Go is a compiled programming language that I use for services running alongside Laravel applications. In my projects, it handles focused tasks that benefit from an independent process and deployment cycle.",{"type":119,"tag":127,"props":128,"children":130},"h2",{"id":129},"go-in-digipulse-and-vetspace",[131],{"type":124,"value":132},"Go in DigiPulse and VetSpace",{"type":119,"tag":120,"props":134,"children":135},{},[136],{"type":124,"value":137},"DigiPulse uses a separate Go service for website availability checks. Laravel handles the application and administration interface, while the monitoring service makes HTTP requests and reports results. VetSpace uses a dedicated Go service for AI-assisted visit analysis.",{"type":119,"tag":127,"props":139,"children":141},{"id":140},"designing-a-background-service",[142],{"type":124,"value":143},"Designing a background service",{"type":119,"tag":120,"props":145,"children":146},{},[147],{"type":124,"value":148},"Goroutines make concurrent work convenient, but concurrency still needs limits. Timeouts, cancellation and bounded work queues help a monitoring service cope with slow or unavailable websites. The useful measure is whether it completes checks reliably within its resource budget, rather than a blanket performance comparison with PHP.",{"type":119,"tag":127,"props":150,"children":152},{"id":151},"deployment-and-language-choice",[153],{"type":124,"value":154},"Deployment and language choice",{"type":119,"tag":120,"props":156,"children":157},{},[158],{"type":124,"value":159},"Go applications can be deployed as compiled binaries. Whether a binary is fully self-contained depends on its build settings and native dependencies. I keep ordinary application workflows in Laravel and use Go when separating a service makes its operation and maintenance clearer."]