<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>lyrics, branch HEAD</title>
<subtitle>lyrics
</subtitle>
<entry>
<id>439f4e0077a5f1564ab56b3af56691aa72d70ffd</id>
<published>2026-06-24T04:14:50Z</published>
<updated>2026-06-24T04:15:35Z</updated>
<title>refactor: fmt.Errorf -&gt; errors.New when not using formatter</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/439f4e0077a5f1564ab56b3af56691aa72d70ffd.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 439f4e0077a5f1564ab56b3af56691aa72d70ffd
parent 203c7098e62c00922ff8357c60b99ab3e05347a4
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Wed, 24 Jun 2026 14:14:50 +1000

refactor: fmt.Errorf -&gt; errors.New when not using formatter

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>203c7098e62c00922ff8357c60b99ab3e05347a4</id>
<published>2026-06-22T03:26:44Z</published>
<updated>2026-06-24T04:15:35Z</updated>
<title>feat: add search page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/203c7098e62c00922ff8357c60b99ab3e05347a4.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 203c7098e62c00922ff8357c60b99ab3e05347a4
parent 5083fe684fd6ce8612d58c10ce22546533dff606
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Mon, 22 Jun 2026 13:26:44 +1000

feat: add search page

Task-id: yrqxnpqlnuypknvx
Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>5083fe684fd6ce8612d58c10ce22546533dff606</id>
<published>2026-06-21T22:06:40Z</published>
<updated>2026-06-22T03:23:48Z</updated>
<title>feat: order songs via input type number</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/5083fe684fd6ce8612d58c10ce22546533dff606.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 5083fe684fd6ce8612d58c10ce22546533dff606
parent 32de8e817e22882b59bef51d493f031935dd84fc
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Mon, 22 Jun 2026 08:06:40 +1000

feat: order songs via input type number

Task-id: rrpptxupmmsrnrsz
Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>32de8e817e22882b59bef51d493f031935dd84fc</id>
<published>2026-06-19T05:33:37Z</published>
<updated>2026-06-21T22:06:39Z</updated>
<title>fix: edit release does not fetch similar releases</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/32de8e817e22882b59bef51d493f031935dd84fc.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 32de8e817e22882b59bef51d493f031935dd84fc
parent cbeb559fb59ef4b027b24af4a2382ee50d12d44e
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Fri, 19 Jun 2026 15:33:37 +1000

fix: edit release does not fetch similar releases

Task-id: skmrqpvnotryrlpk
Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>cbeb559fb59ef4b027b24af4a2382ee50d12d44e</id>
<published>2026-06-19T05:33:37Z</published>
<updated>2026-06-21T21:13:20Z</updated>
<title>feat: add ability to edit artist</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/cbeb559fb59ef4b027b24af4a2382ee50d12d44e.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit cbeb559fb59ef4b027b24af4a2382ee50d12d44e
parent d33195c234281017be8241f8afebb49a400d70b0
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Fri, 19 Jun 2026 15:33:37 +1000

feat: add ability to edit artist

Task-id: spkotwvkwmpntlmw
Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>d33195c234281017be8241f8afebb49a400d70b0</id>
<published>2026-06-18T22:49:19Z</published>
<updated>2026-06-19T00:18:22Z</updated>
<title>ui: style add artist page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/d33195c234281017be8241f8afebb49a400d70b0.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit d33195c234281017be8241f8afebb49a400d70b0
parent 894f416af1ede25f0ae161d3ba4c90c0fb4c1c67
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Fri, 19 Jun 2026 08:49:19 +1000

ui: style add artist page

Task-id: yqlqrzkxypsltypk
Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>894f416af1ede25f0ae161d3ba4c90c0fb4c1c67</id>
<published>2026-06-17T20:18:52Z</published>
<updated>2026-06-18T21:58:32Z</updated>
<title>feat: add create as single button</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/894f416af1ede25f0ae161d3ba4c90c0fb4c1c67.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 894f416af1ede25f0ae161d3ba4c90c0fb4c1c67
parent 2f27b711f4c63c65133c76519d09cbd38002ca6b
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Thu, 18 Jun 2026 06:18:52 +1000

feat: add create as single button

Task-id: tqszpqrlzkvqrqkz
Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>2f27b711f4c63c65133c76519d09cbd38002ca6b</id>
<published>2026-06-16T22:57:17Z</published>
<updated>2026-06-17T20:18:36Z</updated>
<title>refactor: add release_type</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/2f27b711f4c63c65133c76519d09cbd38002ca6b.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 2f27b711f4c63c65133c76519d09cbd38002ca6b
parent e5f4ff39a63baf26b1c2418fae2eab9871378a87
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Wed, 17 Jun 2026 08:57:17 +1000

refactor: add release_type

Task-id: tqszpqrlzkvqrqkz
Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>e5f4ff39a63baf26b1c2418fae2eab9871378a87</id>
<published>2026-06-15T23:14:54Z</published>
<updated>2026-06-16T22:58:19Z</updated>
<title>refactor: rename album to release</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/e5f4ff39a63baf26b1c2418fae2eab9871378a87.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit e5f4ff39a63baf26b1c2418fae2eab9871378a87
parent cc3450b151f86ab8c167b2c5fa49dcc67110b0f0
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 16 Jun 2026 09:14:54 +1000

refactor: rename album to release

Task-id: tqszpqrlzkvqrqkz
Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>cc3450b151f86ab8c167b2c5fa49dcc67110b0f0</id>
<published>2026-06-14T21:02:56Z</published>
<updated>2026-06-16T00:32:22Z</updated>
<title>ui: design new song page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/cc3450b151f86ab8c167b2c5fa49dcc67110b0f0.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit cc3450b151f86ab8c167b2c5fa49dcc67110b0f0
parent 9f792b1e1e0130703bef6d61e8bae40fa9866fe8
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Mon, 15 Jun 2026 07:02:56 +1000

ui: design new song page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>9f792b1e1e0130703bef6d61e8bae40fa9866fe8</id>
<published>2026-06-14T21:02:56Z</published>
<updated>2026-06-16T00:31:55Z</updated>
<title>docs: add tasks</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/9f792b1e1e0130703bef6d61e8bae40fa9866fe8.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 9f792b1e1e0130703bef6d61e8bae40fa9866fe8
parent 0b06a4967ec866f54338f045da5213cf4c9857f2
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Mon, 15 Jun 2026 07:02:56 +1000

docs: add tasks

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>0b06a4967ec866f54338f045da5213cf4c9857f2</id>
<published>2026-06-14T10:32:28Z</published>
<updated>2026-06-14T11:07:40Z</updated>
<title>fix: nav list items not in a list</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/0b06a4967ec866f54338f045da5213cf4c9857f2.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 0b06a4967ec866f54338f045da5213cf4c9857f2
parent 914e7bd12e1e540ad27fb2efd26c897de535d052
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun, 14 Jun 2026 20:32:28 +1000

fix: nav list items not in a list

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>914e7bd12e1e540ad27fb2efd26c897de535d052</id>
<published>2026-06-14T07:48:18Z</published>
<updated>2026-06-14T09:23:19Z</updated>
<title>feat(albums): load cover art from MusicBrainz</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/914e7bd12e1e540ad27fb2efd26c897de535d052.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 914e7bd12e1e540ad27fb2efd26c897de535d052
parent 9ae8db3e88a3309188c71e2596c1687887fbce1d
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun, 14 Jun 2026 17:48:18 +1000

feat(albums): load cover art from MusicBrainz

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>9ae8db3e88a3309188c71e2596c1687887fbce1d</id>
<published>2026-06-14T07:48:18Z</published>
<updated>2026-06-14T09:16:53Z</updated>
<title>feat(albums): save MusicBrainz release IDs</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/9ae8db3e88a3309188c71e2596c1687887fbce1d.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 9ae8db3e88a3309188c71e2596c1687887fbce1d
parent 1df261605d32d2eaacd6b56b0d7d40a8a9a0d08a
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun, 14 Jun 2026 17:48:18 +1000

feat(albums): save MusicBrainz release IDs

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>1df261605d32d2eaacd6b56b0d7d40a8a9a0d08a</id>
<published>2026-06-14T07:48:18Z</published>
<updated>2026-06-14T09:16:44Z</updated>
<title>feat: add MusicBrainz IDs</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/1df261605d32d2eaacd6b56b0d7d40a8a9a0d08a.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 1df261605d32d2eaacd6b56b0d7d40a8a9a0d08a
parent 89c9fa25ffa7bd3929b60e02c4704b82808fd40c
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun, 14 Jun 2026 17:48:18 +1000

feat: add MusicBrainz IDs

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>89c9fa25ffa7bd3929b60e02c4704b82808fd40c</id>
<published>2026-06-13T03:58:49Z</published>
<updated>2026-06-14T06:47:30Z</updated>
<title>feat(albums): add album editing</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/89c9fa25ffa7bd3929b60e02c4704b82808fd40c.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 89c9fa25ffa7bd3929b60e02c4704b82808fd40c
parent af0dcec372cd34daf5d1c50f6fce7eaf1e0b34b1
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sat, 13 Jun 2026 13:58:49 +1000

feat(albums): add album editing

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>af0dcec372cd34daf5d1c50f6fce7eaf1e0b34b1</id>
<published>2026-06-13T03:58:49Z</published>
<updated>2026-06-14T03:26:47Z</updated>
<title>ui: (new) album page ui refresh</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/af0dcec372cd34daf5d1c50f6fce7eaf1e0b34b1.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit af0dcec372cd34daf5d1c50f6fce7eaf1e0b34b1
parent 38f4cc890fb8c3359cbf28632acf6ef178c3760e
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sat, 13 Jun 2026 13:58:49 +1000

ui: (new) album page ui refresh

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>38f4cc890fb8c3359cbf28632acf6ef178c3760e</id>
<published>2026-06-13T02:59:46Z</published>
<updated>2026-06-13T03:58:21Z</updated>
<title>feat: add recently added songs on homepage</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/38f4cc890fb8c3359cbf28632acf6ef178c3760e.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 38f4cc890fb8c3359cbf28632acf6ef178c3760e
parent 9f405067acfb0a1f3020b474ac4cbb5c5d741c3b
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sat, 13 Jun 2026 12:59:46 +1000

feat: add recently added songs on homepage

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>9f405067acfb0a1f3020b474ac4cbb5c5d741c3b</id>
<published>2026-06-13T01:56:42Z</published>
<updated>2026-06-13T02:59:18Z</updated>
<title>ui: style artist page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/9f405067acfb0a1f3020b474ac4cbb5c5d741c3b.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 9f405067acfb0a1f3020b474ac4cbb5c5d741c3b
parent d777cb1ba933b5e0965abfa0e19d8162c6ca5068
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sat, 13 Jun 2026 11:56:42 +1000

ui: style artist page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>d777cb1ba933b5e0965abfa0e19d8162c6ca5068</id>
<published>2026-06-13T01:53:41Z</published>
<updated>2026-06-13T01:54:53Z</updated>
<title>ui: style song page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/d777cb1ba933b5e0965abfa0e19d8162c6ca5068.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit d777cb1ba933b5e0965abfa0e19d8162c6ca5068
parent 1857a25cd8c345818b4c97deda2a0f500e3f2e70
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sat, 13 Jun 2026 11:53:41 +1000

ui: style song page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>1857a25cd8c345818b4c97deda2a0f500e3f2e70</id>
<published>2026-06-13T01:53:41Z</published>
<updated>2026-06-13T01:54:44Z</updated>
<title>feat: add header and footer</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/1857a25cd8c345818b4c97deda2a0f500e3f2e70.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 1857a25cd8c345818b4c97deda2a0f500e3f2e70
parent c070e8dcd84851d54d6692a330ac88c973046cea
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sat, 13 Jun 2026 11:53:41 +1000

feat: add header and footer

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>c070e8dcd84851d54d6692a330ac88c973046cea</id>
<published>2026-06-07T08:27:48Z</published>
<updated>2026-06-07T08:27:49Z</updated>
<title>refactor: follow go style guides for &quot;Get&quot; functions</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/c070e8dcd84851d54d6692a330ac88c973046cea.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit c070e8dcd84851d54d6692a330ac88c973046cea
parent 6f8ba551a03b78160fd059a71ead3c2383ba74b2
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 18:27:48 +1000

refactor: follow go style guides for &quot;Get&quot; functions

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>6f8ba551a03b78160fd059a71ead3c2383ba74b2</id>
<published>2026-06-07T08:22:49Z</published>
<updated>2026-06-07T08:22:49Z</updated>
<title>refactor: use request context for form transactions</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/6f8ba551a03b78160fd059a71ead3c2383ba74b2.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 6f8ba551a03b78160fd059a71ead3c2383ba74b2
parent d36715bbfbc55b245ed6914350d8d0d675209dca
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 18:22:49 +1000

refactor: use request context for form transactions

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>d36715bbfbc55b245ed6914350d8d0d675209dca</id>
<published>2026-06-07T08:18:33Z</published>
<updated>2026-06-07T08:18:33Z</updated>
<title>fix: clarify missing asset dependencies</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/d36715bbfbc55b245ed6914350d8d0d675209dca.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit d36715bbfbc55b245ed6914350d8d0d675209dca
parent 2f95a8e60c44fb0536c8c5327efeb399198a5efe
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 18:18:33 +1000

fix: clarify missing asset dependencies

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>2f95a8e60c44fb0536c8c5327efeb399198a5efe</id>
<published>2026-06-07T08:17:37Z</published>
<updated>2026-06-07T08:17:46Z</updated>
<title>fix: return server errors for db failures</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/2f95a8e60c44fb0536c8c5327efeb399198a5efe.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 2f95a8e60c44fb0536c8c5327efeb399198a5efe
parent a3ba0658854d98257e7df6d872443fceeba88bda
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 18:17:37 +1000

fix: return server errors for db failures

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>a3ba0658854d98257e7df6d872443fceeba88bda</id>
<published>2026-06-07T08:08:44Z</published>
<updated>2026-06-07T08:09:35Z</updated>
<title>refactor: rename album latin name to latin title</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/a3ba0658854d98257e7df6d872443fceeba88bda.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit a3ba0658854d98257e7df6d872443fceeba88bda
parent b68286805b2cbdd8161d657f743219af9df2bbf9
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 18:08:44 +1000

refactor: rename album latin name to latin title

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>b68286805b2cbdd8161d657f743219af9df2bbf9</id>
<published>2026-06-07T07:53:52Z</published>
<updated>2026-06-07T08:01:31Z</updated>
<title>refactor: use canonical entity paths</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/b68286805b2cbdd8161d657f743219af9df2bbf9.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit b68286805b2cbdd8161d657f743219af9df2bbf9
parent 57f4ab3b1b5c83ac7bc33724f378651afb96fad4
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 17:53:52 +1000

refactor: use canonical entity paths

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>57f4ab3b1b5c83ac7bc33724f378651afb96fad4</id>
<published>2026-06-07T07:53:52Z</published>
<updated>2026-06-07T08:01:31Z</updated>
<title>refactor: rename Record* structs to New* structs</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/57f4ab3b1b5c83ac7bc33724f378651afb96fad4.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 57f4ab3b1b5c83ac7bc33724f378651afb96fad4
parent 2266a3b3232a78f4f7120c54ac02765ae486d2b2
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 17:53:52 +1000

refactor: rename Record* structs to New* structs

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>2266a3b3232a78f4f7120c54ac02765ae486d2b2</id>
<published>2026-06-07T07:46:03Z</published>
<updated>2026-06-07T07:46:03Z</updated>
<title>fix: return search endpoint errors</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/2266a3b3232a78f4f7120c54ac02765ae486d2b2.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 2266a3b3232a78f4f7120c54ac02765ae486d2b2
parent d3a7794b6a6f16486e4ba7a2c6e87a981580639e
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 17:46:03 +1000

fix: return search endpoint errors

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>d3a7794b6a6f16486e4ba7a2c6e87a981580639e</id>
<published>2026-06-07T07:45:39Z</published>
<updated>2026-06-07T07:45:39Z</updated>
<title>fix: stop startup after config load failure</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/d3a7794b6a6f16486e4ba7a2c6e87a981580639e.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit d3a7794b6a6f16486e4ba7a2c6e87a981580639e
parent e247dcb1d107584440cbedb1a8d5fe041d73abb5
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 17:45:39 +1000

fix: stop startup after config load failure

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>e247dcb1d107584440cbedb1a8d5fe041d73abb5</id>
<published>2026-06-07T07:45:17Z</published>
<updated>2026-06-07T07:45:17Z</updated>
<title>fix: handle optional artist fields correctly</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/e247dcb1d107584440cbedb1a8d5fe041d73abb5.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit e247dcb1d107584440cbedb1a8d5fe041d73abb5
parent dedabec83aec63d8171ad04a667d530dd8381fd8
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 17:45:17 +1000

fix: handle optional artist fields correctly

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>dedabec83aec63d8171ad04a667d530dd8381fd8</id>
<published>2026-06-07T07:40:05Z</published>
<updated>2026-06-07T07:40:06Z</updated>
<title>refactor: simplify toast component</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/dedabec83aec63d8171ad04a667d530dd8381fd8.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit dedabec83aec63d8171ad04a667d530dd8381fd8
parent 817f63eaad17ed22317eec173382fb73c1c94ce9
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 17:40:05 +1000

refactor: simplify toast component

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>817f63eaad17ed22317eec173382fb73c1c94ce9</id>
<published>2026-06-07T07:26:09Z</published>
<updated>2026-06-07T07:29:27Z</updated>
<title>refactor: clean up server startup and error handling</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/817f63eaad17ed22317eec173382fb73c1c94ce9.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 817f63eaad17ed22317eec173382fb73c1c94ce9
parent ef9ed069961be450b71e869edb46eb00f683448e
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 17:26:09 +1000

refactor: clean up server startup and error handling

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>ef9ed069961be450b71e869edb46eb00f683448e</id>
<published>2026-06-07T06:50:08Z</published>
<updated>2026-06-07T07:06:25Z</updated>
<title>refactor: normalize database row handling</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/ef9ed069961be450b71e869edb46eb00f683448e.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit ef9ed069961be450b71e869edb46eb00f683448e
parent 432b5c4901ad301858d951338ed1880bb0fd46fe
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 16:50:08 +1000

refactor: normalize database row handling

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>432b5c4901ad301858d951338ed1880bb0fd46fe</id>
<published>2026-06-07T06:50:08Z</published>
<updated>2026-06-07T06:51:52Z</updated>
<title>refactor: move static assets into build step</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/432b5c4901ad301858d951338ed1880bb0fd46fe.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 432b5c4901ad301858d951338ed1880bb0fd46fe
parent fd31086e8987fc126a0c6ef633266dff89fd300b
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 16:50:08 +1000

refactor: move static assets into build step

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>fd31086e8987fc126a0c6ef633266dff89fd300b</id>
<published>2026-06-07T06:05:38Z</published>
<updated>2026-06-07T06:12:39Z</updated>
<title>build: add makefile</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/fd31086e8987fc126a0c6ef633266dff89fd300b.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit fd31086e8987fc126a0c6ef633266dff89fd300b
parent 5a0dab710ca30af1094bd3d437ca83553b4dee8a
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  7 Jun 2026 16:05:38 +1000

build: add makefile

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>5a0dab710ca30af1094bd3d437ca83553b4dee8a</id>
<published>2026-05-12T08:12:27Z</published>
<updated>2026-06-07T06:05:24Z</updated>
<title>feat: create album page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/5a0dab710ca30af1094bd3d437ca83553b4dee8a.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 5a0dab710ca30af1094bd3d437ca83553b4dee8a
parent 0ca68e5b20e1d1b08ee1780a86bf94f3001186a6
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 12 May 2026 18:12:27 +1000

feat: create album page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>0ca68e5b20e1d1b08ee1780a86bf94f3001186a6</id>
<published>2026-05-12T08:12:27Z</published>
<updated>2026-06-07T05:55:49Z</updated>
<title>feat: create artist page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/0ca68e5b20e1d1b08ee1780a86bf94f3001186a6.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 0ca68e5b20e1d1b08ee1780a86bf94f3001186a6
parent cf34dd56f31ef6579561b61e2c06f8c1ad685544
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 12 May 2026 18:12:27 +1000

feat: create artist page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>cf34dd56f31ef6579561b61e2c06f8c1ad685544</id>
<published>2026-05-12T08:12:27Z</published>
<updated>2026-06-07T05:54:40Z</updated>
<title>chore: add minimal stylesheet</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/cf34dd56f31ef6579561b61e2c06f8c1ad685544.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit cf34dd56f31ef6579561b61e2c06f8c1ad685544
parent 5793df9e357b0b622d0f87cfd27ee9b9efb23c2e
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 12 May 2026 18:12:27 +1000

chore: add minimal stylesheet

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>5793df9e357b0b622d0f87cfd27ee9b9efb23c2e</id>
<published>2026-05-12T08:12:27Z</published>
<updated>2026-06-07T05:54:36Z</updated>
<title>fix: clean up song form and artist roles</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/5793df9e357b0b622d0f87cfd27ee9b9efb23c2e.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 5793df9e357b0b622d0f87cfd27ee9b9efb23c2e
parent c5b40ca1750049fc833c714b02ef5f1410c4cdda
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 12 May 2026 18:12:27 +1000

fix: clean up song form and artist roles

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>c5b40ca1750049fc833c714b02ef5f1410c4cdda</id>
<published>2026-05-12T08:12:27Z</published>
<updated>2026-06-07T05:54:33Z</updated>
<title>refactor: move Slug to domain package</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/c5b40ca1750049fc833c714b02ef5f1410c4cdda.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit c5b40ca1750049fc833c714b02ef5f1410c4cdda
parent 3fff705c8b00eb5656cffed1eac851d945d968df
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 12 May 2026 18:12:27 +1000

refactor: move Slug to domain package

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>3fff705c8b00eb5656cffed1eac851d945d968df</id>
<published>2026-05-07T23:36:33Z</published>
<updated>2026-05-12T05:17:03Z</updated>
<title>feat(ui): create song page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/3fff705c8b00eb5656cffed1eac851d945d968df.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 3fff705c8b00eb5656cffed1eac851d945d968df
parent 53a2a72d5fe6ba242bfbbcf5a7e73da5a95cf65c
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Fri,  8 May 2026 09:36:33 +1000

feat(ui): create song page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>53a2a72d5fe6ba242bfbbcf5a7e73da5a95cf65c</id>
<published>2026-05-07T22:46:55Z</published>
<updated>2026-05-07T23:36:27Z</updated>
<title>feat: add album search to new song page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/53a2a72d5fe6ba242bfbbcf5a7e73da5a95cf65c.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 53a2a72d5fe6ba242bfbbcf5a7e73da5a95cf65c
parent e9b41a33f4481c54b123231b5d01e9a155a955b5
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Fri,  8 May 2026 08:46:55 +1000

feat: add album search to new song page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>e9b41a33f4481c54b123231b5d01e9a155a955b5</id>
<published>2026-05-07T20:38:08Z</published>
<updated>2026-05-07T22:50:28Z</updated>
<title>feat(ui): add new album page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/e9b41a33f4481c54b123231b5d01e9a155a955b5.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit e9b41a33f4481c54b123231b5d01e9a155a955b5
parent dad844ccb63032156019cb34ee58f6da2cc6848b
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Fri,  8 May 2026 06:38:08 +1000

feat(ui): add new album page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>dad844ccb63032156019cb34ee58f6da2cc6848b</id>
<published>2026-05-07T20:20:22Z</published>
<updated>2026-05-07T20:38:02Z</updated>
<title>refactor: use dedicated types for ids</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/dad844ccb63032156019cb34ee58f6da2cc6848b.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit dad844ccb63032156019cb34ee58f6da2cc6848b
parent 756334431a4018da6eef92130cc5170b7cfa179a
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Fri,  8 May 2026 06:20:22 +1000

refactor: use dedicated types for ids

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>756334431a4018da6eef92130cc5170b7cfa179a</id>
<published>2026-05-06T03:03:00Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>refactor: improvements with new-[song|artist] pages</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/756334431a4018da6eef92130cc5170b7cfa179a.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 756334431a4018da6eef92130cc5170b7cfa179a
parent fb8f44acd164e1b2f5899fb31e76f0f44a6bce61
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Wed,  6 May 2026 13:03:00 +1000

refactor: improvements with new-[song|artist] pages

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>fb8f44acd164e1b2f5899fb31e76f0f44a6bce61</id>
<published>2026-05-04T06:37:05Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>feat: save song to db</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/fb8f44acd164e1b2f5899fb31e76f0f44a6bce61.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit fb8f44acd164e1b2f5899fb31e76f0f44a6bce61
parent 3d6d0d855fa7ba3caa35638b1d5a2b408f14cfd5
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Mon,  4 May 2026 16:37:05 +1000

feat: save song to db

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>3d6d0d855fa7ba3caa35638b1d5a2b408f14cfd5</id>
<published>2026-05-04T06:31:55Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>feat: add artist search to new song page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/3d6d0d855fa7ba3caa35638b1d5a2b408f14cfd5.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 3d6d0d855fa7ba3caa35638b1d5a2b408f14cfd5
parent 03b390e3b3ba0d737f9cf891b44eb9c6098a42c7
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Mon,  4 May 2026 16:31:55 +1000

feat: add artist search to new song page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>03b390e3b3ba0d737f9cf891b44eb9c6098a42c7</id>
<published>2026-05-03T11:38:55Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>feat: add disambiguation field for artists</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/03b390e3b3ba0d737f9cf891b44eb9c6098a42c7.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 03b390e3b3ba0d737f9cf891b44eb9c6098a42c7
parent 1da8e98eca8f0e682cfeb5c63aeac5e51e0af938
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  3 May 2026 21:38:55 +1000

feat: add disambiguation field for artists

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>1da8e98eca8f0e682cfeb5c63aeac5e51e0af938</id>
<published>2026-05-03T07:35:14Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>feat: add latin_name field</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/1da8e98eca8f0e682cfeb5c63aeac5e51e0af938.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 1da8e98eca8f0e682cfeb5c63aeac5e51e0af938
parent c17077845bc162d631c074e7f1acfdac153f27ff
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  3 May 2026 17:35:14 +1000

feat: add latin_name field

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>c17077845bc162d631c074e7f1acfdac153f27ff</id>
<published>2026-05-03T07:20:23Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>refactor: make bio nullable</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/c17077845bc162d631c074e7f1acfdac153f27ff.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit c17077845bc162d631c074e7f1acfdac153f27ff
parent 2de11853868430dcf48120cdac738975693f83e0
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  3 May 2026 17:20:23 +1000

refactor: make bio nullable

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>2de11853868430dcf48120cdac738975693f83e0</id>
<published>2026-05-03T06:36:15Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>feat: artist lookup in new artist page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/2de11853868430dcf48120cdac738975693f83e0.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 2de11853868430dcf48120cdac738975693f83e0
parent dfbd40d7a6ef15db10ed805a354c6851349fe93c
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  3 May 2026 16:36:15 +1000

feat: artist lookup in new artist page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>dfbd40d7a6ef15db10ed805a354c6851349fe93c</id>
<published>2026-05-03T04:46:19Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>feat: artist lookup in new song page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/dfbd40d7a6ef15db10ed805a354c6851349fe93c.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit dfbd40d7a6ef15db10ed805a354c6851349fe93c
parent 95ef2977add2edf137f8cafda5bdb15c59247913
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  3 May 2026 14:46:19 +1000

feat: artist lookup in new song page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>95ef2977add2edf137f8cafda5bdb15c59247913</id>
<published>2026-05-03T04:32:24Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>feat(db): save artist to db</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/95ef2977add2edf137f8cafda5bdb15c59247913.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 95ef2977add2edf137f8cafda5bdb15c59247913
parent 005b97f07e4fe0da72cd00b13616b03dc74c7c24
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  3 May 2026 14:32:24 +1000

feat(db): save artist to db

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>005b97f07e4fe0da72cd00b13616b03dc74c7c24</id>
<published>2026-05-03T04:21:06Z</published>
<updated>2026-05-07T20:21:17Z</updated>
<title>feat(ui): add create artist page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/005b97f07e4fe0da72cd00b13616b03dc74c7c24.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 005b97f07e4fe0da72cd00b13616b03dc74c7c24
parent 15e95722dcb0bf2b93123299e814dd4d9e4c1fdf
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sun,  3 May 2026 14:21:06 +1000

feat(ui): add create artist page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>15e95722dcb0bf2b93123299e814dd4d9e4c1fdf</id>
<published>2026-05-02T03:17:35Z</published>
<updated>2026-05-07T20:21:14Z</updated>
<title>feat(db): add db</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/15e95722dcb0bf2b93123299e814dd4d9e4c1fdf.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit 15e95722dcb0bf2b93123299e814dd4d9e4c1fdf
parent ee0fe62ca4f011b5e05365adec12964970e70e22
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Sat,  2 May 2026 13:17:35 +1000

feat(db): add db

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>ee0fe62ca4f011b5e05365adec12964970e70e22</id>
<published>2026-04-28T11:13:40Z</published>
<updated>2026-05-01T06:13:13Z</updated>
<title>feat(ui/views): add new song page</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/ee0fe62ca4f011b5e05365adec12964970e70e22.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit ee0fe62ca4f011b5e05365adec12964970e70e22
parent b3995b782c0e91799d48bae881f2b300f17083a4
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 28 Apr 2026 21:13:40 +1000

feat(ui/views): add new song page

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>b3995b782c0e91799d48bae881f2b300f17083a4</id>
<published>2026-04-28T11:13:40Z</published>
<updated>2026-05-01T04:42:57Z</updated>
<title>feat: add toast</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/b3995b782c0e91799d48bae881f2b300f17083a4.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit b3995b782c0e91799d48bae881f2b300f17083a4
parent d3611500ad265f8db9344bf21815d1c1e026a6fe
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 28 Apr 2026 21:13:40 +1000

feat: add toast

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>d3611500ad265f8db9344bf21815d1c1e026a6fe</id>
<published>2026-04-28T11:13:40Z</published>
<updated>2026-05-01T01:03:11Z</updated>
<title>feat: update dev scripts</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/d3611500ad265f8db9344bf21815d1c1e026a6fe.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit d3611500ad265f8db9344bf21815d1c1e026a6fe
parent e256d2068805006889821ef19edfd226a80d6091
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 28 Apr 2026 21:13:40 +1000

feat: update dev scripts

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>e256d2068805006889821ef19edfd226a80d6091</id>
<published>2026-04-28T11:13:40Z</published>
<updated>2026-04-29T23:54:18Z</updated>
<title>feat(domain): setup song / artist models</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/e256d2068805006889821ef19edfd226a80d6091.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit e256d2068805006889821ef19edfd226a80d6091
parent a5c5af3c985e9adc47764b207cc8e9bbf61ef30b
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 28 Apr 2026 21:13:40 +1000

feat(domain): setup song / artist models

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
<entry>
<id>a5c5af3c985e9adc47764b207cc8e9bbf61ef30b</id>
<published>2026-04-28T11:08:01Z</published>
<updated>2026-04-28T11:14:17Z</updated>
<title>feat: initial project setup</title>
<link rel="alternate" type="text/html" href="https://git.brookjeynes.dev/lyrics/commit/a5c5af3c985e9adc47764b207cc8e9bbf61ef30b.html" />
<author>
<name>brookjeynes</name>
<email>me@brookjeynes.dev</email>
</author>
<content>commit a5c5af3c985e9adc47764b207cc8e9bbf61ef30b
Author: brookjeynes &lt;me@brookjeynes.dev&gt;
Date:   Tue, 28 Apr 2026 21:08:01 +1000

feat: initial project setup

Signed-off-by: brookjeynes &lt;me@brookjeynes.dev&gt;

</content>
</entry>
</feed>
