diff --git a/src/lib/banner-title.svelte b/src/lib/banner-title.svelte
index 02f4845..eed0079 100644
--- a/src/lib/banner-title.svelte
+++ b/src/lib/banner-title.svelte
@@ -1,14 +1,14 @@
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
new file mode 100644
index 0000000..dbf3428
--- /dev/null
+++ b/src/routes/+layout.svelte
@@ -0,0 +1,48 @@
+
+
+{@render children()}
+
+
\ No newline at end of file
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 94e265c..2b229ba 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -5,4 +5,4 @@
Moin! ~ welcome to my website :)
-projects
+projects
\ No newline at end of file
diff --git a/src/routes/projects/+page.svelte b/src/routes/projects/+page.svelte
new file mode 100644
index 0000000..cbe7f43
--- /dev/null
+++ b/src/routes/projects/+page.svelte
@@ -0,0 +1,29 @@
+
+
+
+
+{#each projects as project}
+ {@render projectSummary({ project })}
+{/each}
+
+{#snippet projectSummary({
+ project
+}: {
+ project: Project;
+})}
+
+
{project.title}
+ {#each project.paragraphs as paragraph}
+
{@html paragraph}
+ {/each}
+
+
+{/snippet}
\ No newline at end of file
diff --git a/src/routes/projects/projectn5/devlog/+page.svelte b/src/routes/projects/projectn5/devlog/+page.svelte
index 6de3049..4e44385 100644
--- a/src/routes/projects/projectn5/devlog/+page.svelte
+++ b/src/routes/projects/projectn5/devlog/+page.svelte
@@ -1,5 +1,29 @@
-
\ No newline at end of file
+
+
+
+
+ {#each posts as post}
+ {@render devlogPost({ imgSrc: "", title: "{post.title}" })}
+ {post.date}
+ {/each}
+
+
+{#snippet devlogPost({
+ imgSrc,
+ title,
+}: {
+ imgSrc: string;
+ title: string;
+})}
+
+

+
{title}
+
+{/snippet}
\ No newline at end of file
diff --git a/src/routes/projects/projectn5/devlog/posts.ts b/src/routes/projects/projectn5/devlog/posts.ts
new file mode 100644
index 0000000..b287de7
--- /dev/null
+++ b/src/routes/projects/projectn5/devlog/posts.ts
@@ -0,0 +1,23 @@
+export interface DevlogPost {
+ title: string;
+ date: Date;
+ imgSrc: string;
+};
+
+export const posts: DevlogPost[] = [
+ {
+ title: "title",
+ date: new Date("2025-01-01"),
+ imgSrc: "",
+ },
+ {
+ title: "titasdfle",
+ date: new Date("2025-02-03"),
+ imgSrc: "",
+ },
+ {
+ title: "titl435345e",
+ date: new Date("2025-01-01"),
+ imgSrc: "",
+ },
+];
\ No newline at end of file
diff --git a/src/routes/projects/projects.ts b/src/routes/projects/projects.ts
new file mode 100644
index 0000000..ee98029
--- /dev/null
+++ b/src/routes/projects/projects.ts
@@ -0,0 +1,37 @@
+export interface Project {
+ id: string;
+ bannerImg: string;
+ iconImg: string;
+ title: string;
+ paragraphs: string[];
+ links: Link[];
+};
+
+export interface Link {
+ text: string;
+ link: string;
+}
+
+export const projects: Project[] = [
+ {
+ id: "weserplaner",
+ bannerImg: "",
+ iconImg: "",
+ title: "WeserPlaner",
+ paragraphs: [
+ "WeserPlaner is an app I developed to more easily view relevant information during my studies at the University of Bremen. It can download the user's timetable from the university's learning platform Stud.IP, and it can download the menus for all canteens managed by the Studierendenwerk Bremen, allowing the user to filter for dietary preferences as well as hiding items containing substances they are allergic against.",
+ "In developing this app, I took heavy inspiration from an earlier project of mine, AvH-Vertretungsplan, which was an app I developed for a school I used to attend, in order to view the substitution plan as well as the canteen offers more easily. Quite similar!",
+ "I stopped work on the app in favour of other projects, notably because I had no significant plans for it. The app was taken down from the Google Play Store after I refused to comply with their new developer guidelines, requiring me to publish my home address (what the actual fuck Google?), and after the Studierendenwerk Bremen updated their page around the start of 2025, the app became nonfunctional.",
+ ],
+ links: [
+ {
+ text: "View on Codeberg",
+ link: "https://codeberg.org/denizk0461/weserplaner/",
+ },
+ {
+ text: "View on Google Play (outdated)",
+ link: "https://play.google.com/store/apps/details?id=com.denizk0461.weserplaner",
+ },
+ ],
+ },
+];
\ No newline at end of file