Index: src/routes/posts.js
===================================================================
--- src/routes/posts.js	(revision 11b3ba5d922441b551b3a35ac8288a9c542a7d46)
+++ src/routes/posts.js	(revision c9c6a2d6cf1cf1611a79c699dd70c435bda3c203)
@@ -10,4 +10,5 @@
 import { renderPage } from '../middleware/render.js';
 import { recordPageview, recordPostView } from '../services/StatsService.js';
+import { notify } from '../services/NotificationService.js';
 import PermissionsService from '../services/PermissionsService.js';
 import MarkdownService from '../services/MarkdownService.js';
@@ -405,5 +406,5 @@
 router.post('/posts/:id/like', requireAuth, (req, res) => {
   const userId = req.session.user.id;
-  const post = db.prepare('SELECT id, status FROM posts WHERE id = ?').get(req.params.id);
+  const post = db.prepare('SELECT id, status, slug, title, author_id FROM posts WHERE id = ?').get(req.params.id);
   if (!post) return res.status(404).send('Post niet gevonden');
   if (post.status !== 'published') return res.status(403).send('Niet beschikbaar');
@@ -414,4 +415,9 @@
   } else {
     db.prepare('INSERT OR IGNORE INTO post_likes (post_id, user_id) VALUES (?, ?)').run(post.id, userId);
+    // Melding voor de post-auteur (notify slaat jezelf-liken over).
+    notify({
+      userId: post.author_id, actorId: userId, actorName: req.session.user.username, type: 'like',
+      postSlug: post.slug, postTitle: post.title, url: (res.locals.siteUrlBase || '') + '/' + post.slug,
+    });
   }
   const likeCount = db.prepare('SELECT COUNT(*) AS c FROM post_likes WHERE post_id = ?').get(post.id).c;
