[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-en-digipulse":3,"technology-slugs-en":52,"mdc--jioi68-key":76},{"id":4,"title":5,"content":6,"date":7,"description":8,"extension":9,"featured":10,"image":11,"links":12,"meta":23,"stack":24,"stem":46,"tags":47,"url":15,"__hash__":51},"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","yml",true,"\u002Fhero\u002Fdigipulse.avif",[13,18],{"label":14,"to":15,"color":16,"icon":17},"Live Demo","https:\u002F\u002Fdigipulse.cloud","primary","i-heroicons-arrow-top-right-on-square",{"label":19,"to":20,"color":21,"icon":22},"GitHub","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fdigipulse-backend","neutral","i-simple-icons-github",{},[25,28,31,34,37,40,43],{"name":26,"icon":27},"Laravel","i-simple-icons-laravel",{"name":29,"icon":30},"Filament","i-simple-icons-filament",{"name":32,"icon":33},"Go","i-simple-icons-go",{"name":35,"icon":36},"PostgreSQL","i-simple-icons-postgresql",{"name":38,"icon":39},"Redis","i-simple-icons-redis",{"name":41,"icon":42},"Vue","i-simple-icons-vuedotjs",{"name":44,"icon":45},"MCP","i-heroicons-cpu-chip","en\u002Fprojects\u002Fdigipulse",[48,26,32,49,44,38,50],"SaaS","Monitoring","Event-driven","b7hu-_otqukg-JY_hPBvmlUYk5jVOx42XpCotH6Cvqo",[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75],"caddy","cloudflare","digitalocean","docker","filament","github-actions","go","hetzner","hostinger","laravel","mysql","nuxt","php","postgresql","proxmox","redis","stripe","symfony","tailwindcss","terraform","typescript","vite","vue",{"data":77,"body":78},{},{"type":79,"children":80},"root",[81,89,96,162,168],{"type":82,"tag":83,"props":84,"children":85},"element","p",{},[86],{"type":87,"value":88},"text","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.",{"type":82,"tag":90,"props":91,"children":93},"h2",{"id":92},"key-features",[94],{"type":87,"value":95},"Key Features",{"type":82,"tag":97,"props":98,"children":99},"ul",{},[100,112,122,132,142,152],{"type":82,"tag":101,"props":102,"children":103},"li",{},[104,110],{"type":82,"tag":105,"props":106,"children":107},"strong",{},[108],{"type":87,"value":109},"Dedicated Go engine",{"type":87,"value":111}," - availability checks run in a separate Go service, so constant 60-second polling never slows down the Laravel app",{"type":82,"tag":101,"props":113,"children":114},{},[115,120],{"type":82,"tag":105,"props":116,"children":117},{},[118],{"type":87,"value":119},"Real-time dashboard",{"type":87,"value":121}," - Reverb websockets push status changes to the UI live, no manual refresh",{"type":82,"tag":101,"props":123,"children":124},{},[125,130],{"type":82,"tag":105,"props":126,"children":127},{},[128],{"type":87,"value":129},"Octane + Filament",{"type":87,"value":131}," - resident-memory Laravel with a full admin panel for monitors, contacts and alert rules",{"type":82,"tag":101,"props":133,"children":134},{},[135,140],{"type":82,"tag":105,"props":136,"children":137},{},[138],{"type":87,"value":139},"MCP server",{"type":87,"value":141}," - monitors and incidents are queryable from AI assistants (Claude, Cursor) via the Model Context Protocol",{"type":82,"tag":101,"props":143,"children":144},{},[145,150],{"type":82,"tag":105,"props":146,"children":147},{},[148],{"type":87,"value":149},"Google OAuth + Turnstile",{"type":87,"value":151}," - passwordless sign-in and bot protection on public forms",{"type":82,"tag":101,"props":153,"children":154},{},[155,160],{"type":82,"tag":105,"props":156,"children":157},{},[158],{"type":87,"value":159},"Self-hosted",{"type":87,"value":161}," - deployed on a Proxmox homelab I manage end-to-end",{"type":82,"tag":90,"props":163,"children":165},{"id":164},"tech-stack",[166],{"type":87,"value":167},"Tech Stack",{"type":82,"tag":97,"props":169,"children":170},{},[171,181,191,201,211,221],{"type":82,"tag":101,"props":172,"children":173},{},[174,179],{"type":82,"tag":105,"props":175,"children":176},{},[177],{"type":87,"value":178},"Backend",{"type":87,"value":180},": Laravel (Octane, Reverb websockets)",{"type":82,"tag":101,"props":182,"children":183},{},[184,189],{"type":82,"tag":105,"props":185,"children":186},{},[187],{"type":87,"value":188},"Admin Panel",{"type":87,"value":190},": Filament",{"type":82,"tag":101,"props":192,"children":193},{},[194,199],{"type":82,"tag":105,"props":195,"children":196},{},[197],{"type":87,"value":198},"Monitoring Engine",{"type":87,"value":200},": Go (separate service)",{"type":82,"tag":101,"props":202,"children":203},{},[204,209],{"type":82,"tag":105,"props":205,"children":206},{},[207],{"type":87,"value":208},"Database",{"type":87,"value":210},": PostgreSQL",{"type":82,"tag":101,"props":212,"children":213},{},[214,219],{"type":82,"tag":105,"props":215,"children":216},{},[217],{"type":87,"value":218},"AI Integration",{"type":87,"value":220},": MCP server",{"type":82,"tag":101,"props":222,"children":223},{},[224,229],{"type":82,"tag":105,"props":225,"children":226},{},[227],{"type":87,"value":228},"Infrastructure",{"type":87,"value":230},": Self-hosted on Proxmox"]