Case Study

LekkerFlow

An AI-powered project management platform that keeps tickets moving. Morning check-ins via Slack, natural language interpretation, and one-click approvals — so your team never has to sit through another "any updates?" stand-up.

lekkerflow.com
Personal SaaS
Laravel + Livewire
Scroll to explore
The Problem

Tickets go stale. People forget to update. Nobody wants another stand-up.

Every project management tool has the same problem: tickets sit untouched. Someone marks a task as "In Progress" on Monday and doesn't touch it again until the PM chases them on Thursday. The board looks busy, but nothing's actually moving.

The usual solution? Daily stand-ups where ten people take turns saying "no updates" while staring at a screen. Or a PM who spends half their day pinging people in Slack: "Hey, any update on PROJ-42?"

LekkerFlow's approach: let AI do the chasing. Every morning, the system finds stale tickets, asks their assignees for updates in Slack, interprets the natural language response, and proposes smart actions — all approved with one click. No stand-up. No chasing. Tickets just move.

The Core Feature

AI morning check-ins that actually understand you.

Every morning (on the days and times you configure), LekkerFlow identifies tickets that haven't been updated in a while — the "stale" threshold is configurable per workspace. It posts a message in the assignee's Slack channel: "You have 3 tickets that need updates." Then, one by one, it asks about each ticket in a thread.

The user replies naturally. "Done, shipped it yesterday." or "Blocked — waiting on the API from the external team." or "Spent about 2 hours on it, moved to code review."

The AI interpreter reads the response and proposes actions: move to "Done", add a comment, log 2 hours of time, mark as blocked, change priority. The user clicks "Approve All" in Slack and the ticket updates automatically. Full audit trail, source tagged as "AI check-in."

ai-checkin-flow
# 9:00 AM — scheduled check-in runs
Finding stale tickets (3+ days since update)...
@sarah has 3 stale tickets on board "Backend"
# LekkerFlow posts in #backend Slack channel
LekkerFlow: Hey @sarah — any update on LF-42?
Sarah: Done, shipped it yesterday afternoon
# AI interprets the response
> Proposed: Move status → "Done"
> Proposed: Add comment → "Shipped yesterday afternoon"
> [Approve All] [Dismiss]
# Sarah clicks "Approve All"
✓ LF-42 moved to "Done"
✓ Comment added (source: ai-checkin)
Moving to next ticket: LF-51...

Configurable schedule

Pick which days of the week, what time, and in what timezone check-ins happen. Skip weekends, skip specific statuses, set the staleness threshold. Every workspace has its own rhythm.

Smart action proposals

The AI doesn't just summarise — it proposes concrete actions. Status changes, comments, time logging, priority shifts, blocking flags, reassignments. All validated against the workspace's actual statuses and users.

Credit-based AI usage

Every AI call is tracked down to the token. The workspace owner's credit balance is deducted per call, with full transaction history. When credits run low, the system falls back to heuristic interpretation — it never just stops working.

Slack Integration

Slack isn't a notification channel. It's where the work happens.

Most tools bolt on Slack as an afterthought — "you got a notification!" LekkerFlow treats Slack as a first-class workflow surface. Check-ins happen in Slack threads. Approvals happen with Slack buttons. You can update tickets without ever opening the web app.

The integration goes deep. OAuth 2.0 app connection. Channel mapping so the right people get the right check-ins. Automatic user resolution that maps LekkerFlow users to Slack users by email. Signature verification on every webhook. Threaded conversations with full context for the AI. And a setup flow that's literally "type a code, you're connected."

Bidirectional workflow

Ticket changes in LekkerFlow can trigger Slack notifications. Slack interactions can update tickets. It's not one-way — work flows in both directions. Update a ticket's status in the web app and the Slack thread gets updated. Approve an action in Slack and the ticket moves in the web app.

Smart user mapping

When a workspace connects to Slack, the system automatically maps users by email. When someone new is invited to the workspace, the auto-mapping service tries to find their Slack account and connect them. No manual setup for each team member — it just works.

The Platform

Under the AI is a proper project management tool.

The AI check-ins are the headline feature, but they sit on top of a full-featured project management platform — boards, tickets, sprints, time tracking, custom fields, and a Kanban view with drag-and-drop. It's not a demo or a proof of concept. It's a real tool teams can use daily.

Kanban & list views

Drag-and-drop tickets across status columns or switch to a sortable, filterable list view. Customisable statuses per workspace or per board. CSV export for when someone inevitably asks for a spreadsheet.

Multi-tenant workspaces

Every workspace is fully isolated — its own boards, statuses, members, labels, and settings. Users can belong to multiple workspaces with different roles in each. Not retrofitted — multi-tenancy was built in from day one.

Full ticket lifecycle

Tasks, bugs, stories, epics. Priorities from lowest to highest. Parent-child relationships for subtasks. Due dates, time estimates, time tracking, collaborators, labels, attachments, threaded comments, custom fields. Everything you need, nothing you don't.

Embeddable feedback widget

Drop a JavaScript widget on any client website. Users report bugs with browser info, viewport size, and page snapshots — all submitted directly as tickets into a board. Domain allowlisting, custom branding, presigned S3 uploads for screenshots.

Full audit trail

Every change to every ticket is logged — who changed it, when, what the old and new values were, and the source (web, Slack, AI check-in, widget). Especially critical for AI actions: every proposal, approval, and execution is tracked.

Real-time updates

WebSockets power live updates across the app. When someone moves a ticket on the board, everyone sees it instantly. Notification bell with configurable preferences. Email digests batch changes into summaries instead of spamming inboxes.

The Stack

Built for production. Deployed to the cloud.

The entire stack runs on cloud infrastructure defined as code — object storage for files, managed email for delivery, message queues for async jobs, and DNS routing. Secrets are managed through a secure parameter store. Reproducible and production-hardened.

Laravel
Livewire
PHP
Tailwind CSS
WebSockets
Real-time Updates
AI Engine
Automated Testing
Responsive Design
REST API
Laravel
Livewire
PHP
Tailwind CSS
WebSockets
Real-time Updates
AI Engine
Automated Testing
Responsive Design
REST API
AI Engine
Slack Integration
Cloud Storage
Email Delivery
Message Queues
Infrastructure as Code
OAuth 2.0
Permissions
Audit Logging
Authentication
AI Engine
Slack Integration
Cloud Storage
Email Delivery
Message Queues
Infrastructure as Code
OAuth 2.0
Permissions
Audit Logging
Authentication

Got a SaaS idea that needs building?

We build products with AI integrations, real-time features, and the kind of architecture that scales. Let's talk about yours.