-
-## Getting Started
-
-Get starting but installing all of the dependencies of the project.
-
-```bash
-npm install
-
-```
-
-Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
-
-```bash
-npm run dev
-
-```
-
-```bash
-# or start the server and open the app in a new browser tab
-npm run dev -- --open
-
-```
-
-## Building
-
-To create a production version of the app:
-
-```bash
-npm run build
-
-
-```
-
-You can preview the production build with `npm run preview`.
-
-> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. In this case, vite is used.
+## Welcome
+
+This site contains information relating to my personal situation, however, you are able to clone this project and change the `me.json` file to update this as required.
+
+## Screenshots
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Getting Started
+
+Get starting but installing all of the dependencies of the project.
+
+```bash
+npm install
+
+```
+
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
+
+```bash
+npm run dev
+
+```
+
+```bash
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
+
+```
+
+## Building
+
+To create a production version of the app:
+
+```bash
+npm run build
+
+
+```
+
+You can preview the production build with `npm run preview`.
+
+> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. In this case, vite is used.
diff --git a/dockerfile b/dockerfile
index abc2178..dc4cec7 100644
--- a/dockerfile
+++ b/dockerfile
@@ -1,21 +1,21 @@
-FROM git.luke-else.co.uk/luke-else/nodejs:latest AS build
-
-WORKDIR /app
-
-COPY package*.json ./
-RUN rm -rf node_modules
-RUN rm -rf build
-COPY . .
-RUN pnpm install
-RUN pnpm run build
-
-FROM git.luke-else.co.uk/luke-else/nodejs:latest AS run
-
-WORKDIR /app
-COPY --from=build /app/package.json ./package.json
-COPY --from=build /app/.npmrc ./.npmrc
-COPY --from=build /app/build ./build
-RUN pnpm install --prod
-
-EXPOSE 3000
-ENTRYPOINT [ "pnpm", "run", "start" ]
+FROM git.luke-else.co.uk/luke-else/nodejs:latest AS build
+
+WORKDIR /app
+
+COPY package*.json ./
+RUN rm -rf node_modules
+RUN rm -rf build
+COPY . .
+RUN pnpm install
+RUN pnpm run build
+
+FROM git.luke-else.co.uk/luke-else/nodejs:latest AS run
+
+WORKDIR /app
+COPY --from=build /app/package.json ./package.json
+COPY --from=build /app/.npmrc ./.npmrc
+COPY --from=build /app/build ./build
+RUN pnpm install --prod
+
+EXPOSE 3000
+ENTRYPOINT [ "pnpm", "run", "start" ]
diff --git a/src/app.d.ts b/src/app.d.ts
index f59b884..381a357 100644
--- a/src/app.d.ts
+++ b/src/app.d.ts
@@ -1,12 +1,12 @@
-// See https://kit.svelte.dev/docs/types#app
-// for information about these interfaces
-declare global {
- namespace App {
- // interface Error {}
- // interface Locals {}
- // interface PageData {}
- // interface Platform {}
- }
-}
-
-export {};
+// See https://kit.svelte.dev/docs/types#app
+// for information about these interfaces
+declare global {
+ namespace App {
+ // interface Error {}
+ // interface Locals {}
+ // interface PageData {}
+ // interface Platform {}
+ }
+}
+
+export {};
diff --git a/src/app.html b/src/app.html
index 8a81f56..935ffbd 100644
--- a/src/app.html
+++ b/src/app.html
@@ -1,31 +1,31 @@
-
-
-
-
-
-
-
-
-
-
- %sveltekit.head%
-
-
-
-
-
-
+ {repo.description}
+ {#if repoImages[repo.name]}
+
+ See More
+
+
+
+ {/if}
+
+
+ Last Updated: {timeSince(repo.updated_at)}
+
+
+ {/each}
+
+ {/await}
+
diff --git a/static/json/me.json b/static/json/me.json
index d7bee24..4732a54 100644
--- a/static/json/me.json
+++ b/static/json/me.json
@@ -1,132 +1,132 @@
-{
- "name": "Luke Else",
- "job_title": "Software Engineer",
- "location": "Crawley, Sussex UK",
- "profile_photo": "/profile.jpg",
- "about": "Hello! I'm an enthusiastic, dedicated software engineer passionate about backend development, networking, and embedded systems. I am currently employed at Thales UK and thrive on architecting robust backend solutions, optimizing data transmission, and crafting efficient embedded software. I love tackling complex challenges, collaborating with fellow professionals, and staying up-to-date with tech trends such as my current venture in learning Rust-Lang.",
- "skills": [
- {
- "name": "Rust",
- "logo": "devicon-rust-plain",
- "colour": "bg-orange-400",
- "link": "https://rust-lang.org",
- "about": "Rust combines safety, efficiency, and clean code, making it a powerful choice for reliable software development.",
- "competency": 70
- },
- {
- "name": "C++",
- "logo": "devicon-cplusplus-plain",
- "colour": "bg-blue-400",
- "link": "https://cplusplus.com/",
- "about": "C++ offers high-level abstractions with low-level control, making it essential for performance-critical applications.",
- "competency": 80
- },
- {
- "name" : "Python",
- "logo": "devicon-python-plain",
- "colour": "bg-yellow-400",
- "link": "https://python.org",
- "about": "Python is a versatile language known for its simplicity and readability, making it ideal for rapid development and data analysis.",
- "competency": 70
- },
- {
- "name": "Git",
- "logo": "devicon-git-plain",
- "colour": "bg-red-400",
- "link": "https://git-scm.com",
- "about": "Git is an essential tool for version control, enabling efficient collaboration and streamlined code management.",
- "competency": 80
- },
- {
- "name": "Docker",
- "logo": "devicon-docker-plain",
- "colour": "bg-blue-500",
- "link": "https://docker.com",
- "about": "Docker simplifies deployment by packaging applications in lightweight containers, ensuring consistency across environments.",
- "competency": 100
- },
- {
- "name": "Kubernetes",
- "logo": "devicon-kubernetes-plain",
- "colour": "bg-blue-600",
- "link": "https://kubernetes.io",
- "about": "Kubernetes automates the deployment, scaling, and management of containerized applications, enhancing operational efficiency.",
- "competency": 40
- },
- {
- "name": "PostgreSQL",
- "logo": "devicon-postgresql-plain",
- "colour": "bg-blue-700",
- "link": "https://postgresql.org",
- "about": "PostgreSQL is a powerful, open-source relational database known for its robustness and advanced features.",
- "competency": 70
- },
- {
- "name": "MongoDB",
- "logo": "devicon-mongodb-plain",
- "colour": "bg-green-500",
- "link": "https://mongodb.com",
- "about": "MongoDB is a NoSQL database that provides flexibility and scalability for modern applications with unstructured data.",
- "competency": 70
- },
- {
- "name": "Redis",
- "logo": "devicon-redis-plain",
- "colour": "bg-red-600",
- "link": "https://redis.io",
- "about": "Redis is an in-memory data structure store, used as a database, cache, and message broker for high-performance applications.",
- "competency": 30
- },
- {
- "name": "JavaScript",
- "logo": "devicon-javascript-plain",
- "colour": "bg-yellow-500",
- "link": "https://javascript.com",
- "about": "JavaScript is a versatile language that powers dynamic web applications and enhances user interactivity.",
- "competency": 60
- },
- {
- "name": "Tailwind CSS",
- "logo": "devicon-tailwindcss-plain",
- "colour": "bg-blue-800",
- "link": "https://tailwindcss.com/",
- "about": "Tailwind CSS is a utility-first CSS framework that enables rapid UI development with a focus on customization and responsiveness.",
- "competency": 60
- },
- {
- "name": "Svelte",
- "logo": "devicon-svelte-plain",
- "colour": "bg-orange-400",
- "link": "https://svelte.dev",
- "about": "Svelte compiles to optimized JavaScript, offering a fast, efficient, and maintainable front-end development experience.",
- "competency": 55
- }
- ],
- "timeline" : [
- {
- "duration" : "April 2025 - Present",
- "title" : "Thales UK (DDCC) - Software Engineer",
- "description" : "As a 3rd year apprentice at Thales UK’s Digital Data Competency Centre, I have taken on responsibility for developing microservices that encapsulate Machine Learning models provided by R&D teams, helping to advance product readiness. These services are primarily written in Python and deployed to Kubernetes clusters for use across the business. Our team also designs and maintains CI/CD pipelines to automate the deployment of both these services and their supporting infrastructure."
- },
- {
- "duration" : "September 2022 - April 2025",
- "title" : "Thales UK (ISR) - Software Engineer",
- "description" : "As a software engineering apprentice at Thales UK, Intelligence Surveillance and Reconnaissance, I worked within an agile team of six engineers, contributing to the ongoing development of a C++ system for the MOD. My role involved collaborating closely with colleagues, following Scrum methodologies, and leveraging internal frameworks to enhance and maintain the existing platform."
- },
- {
- "duration" : "September 2022 - Present",
- "title" : "University of Warwick - Digital and Technology Solutions",
- "description" : "The apprenticeship includes allocated time for studying a Digital and Thechnology Solutions degree with the University of Warwick, including modules relevant to business management, devlopment processes and data integrity etc..."
- },
- {
- "duration" : "September 2020 - July 2022",
- "title" : "The Norton Knatchbull School (A-Levels)",
- "description" : "Computer Science (A*) Mathematics (A) Physics (A)"
- },
- {
- "duration" : "September 2015 - July 2020",
- "title" : "The Norton Knatchbull School (GCSEs)",
- "description" : "Computer Science (9) Physics (9) Chemistry (9) Biology (9) Geography (9) FSMQ (C) Maths (8) Spanish (7) English (Literature & Language) (7, 7) "
- }
- ]
+{
+ "name": "Luke Else",
+ "job_title": "Software Engineer",
+ "location": "Crawley, Sussex UK",
+ "profile_photo": "/profile.jpg",
+ "about": "Hello! I'm an enthusiastic, dedicated software engineer passionate about backend development, networking, and embedded systems. I am currently employed at Thales UK and thrive on architecting robust backend solutions, optimizing data transmission, and crafting efficient embedded software. I love tackling complex challenges, collaborating with fellow professionals, and staying up-to-date with tech trends such as my current venture in learning Rust-Lang.",
+ "skills": [
+ {
+ "name": "Rust",
+ "logo": "devicon-rust-plain",
+ "colour": "bg-orange-400",
+ "link": "https://rust-lang.org",
+ "about": "Rust combines safety, efficiency, and clean code, making it a powerful choice for reliable software development.",
+ "competency": 70
+ },
+ {
+ "name": "C++",
+ "logo": "devicon-cplusplus-plain",
+ "colour": "bg-blue-400",
+ "link": "https://cplusplus.com/",
+ "about": "C++ offers high-level abstractions with low-level control, making it essential for performance-critical applications.",
+ "competency": 80
+ },
+ {
+ "name" : "Python",
+ "logo": "devicon-python-plain",
+ "colour": "bg-yellow-400",
+ "link": "https://python.org",
+ "about": "Python is a versatile language known for its simplicity and readability, making it ideal for rapid development and data analysis.",
+ "competency": 70
+ },
+ {
+ "name": "Git",
+ "logo": "devicon-git-plain",
+ "colour": "bg-red-400",
+ "link": "https://git-scm.com",
+ "about": "Git is an essential tool for version control, enabling efficient collaboration and streamlined code management.",
+ "competency": 80
+ },
+ {
+ "name": "Docker",
+ "logo": "devicon-docker-plain",
+ "colour": "bg-blue-500",
+ "link": "https://docker.com",
+ "about": "Docker simplifies deployment by packaging applications in lightweight containers, ensuring consistency across environments.",
+ "competency": 100
+ },
+ {
+ "name": "Kubernetes",
+ "logo": "devicon-kubernetes-plain",
+ "colour": "bg-blue-600",
+ "link": "https://kubernetes.io",
+ "about": "Kubernetes automates the deployment, scaling, and management of containerized applications, enhancing operational efficiency.",
+ "competency": 40
+ },
+ {
+ "name": "PostgreSQL",
+ "logo": "devicon-postgresql-plain",
+ "colour": "bg-blue-700",
+ "link": "https://postgresql.org",
+ "about": "PostgreSQL is a powerful, open-source relational database known for its robustness and advanced features.",
+ "competency": 70
+ },
+ {
+ "name": "MongoDB",
+ "logo": "devicon-mongodb-plain",
+ "colour": "bg-green-500",
+ "link": "https://mongodb.com",
+ "about": "MongoDB is a NoSQL database that provides flexibility and scalability for modern applications with unstructured data.",
+ "competency": 70
+ },
+ {
+ "name": "Redis",
+ "logo": "devicon-redis-plain",
+ "colour": "bg-red-600",
+ "link": "https://redis.io",
+ "about": "Redis is an in-memory data structure store, used as a database, cache, and message broker for high-performance applications.",
+ "competency": 30
+ },
+ {
+ "name": "JavaScript",
+ "logo": "devicon-javascript-plain",
+ "colour": "bg-yellow-500",
+ "link": "https://javascript.com",
+ "about": "JavaScript is a versatile language that powers dynamic web applications and enhances user interactivity.",
+ "competency": 60
+ },
+ {
+ "name": "Tailwind CSS",
+ "logo": "devicon-tailwindcss-plain",
+ "colour": "bg-blue-800",
+ "link": "https://tailwindcss.com/",
+ "about": "Tailwind CSS is a utility-first CSS framework that enables rapid UI development with a focus on customization and responsiveness.",
+ "competency": 60
+ },
+ {
+ "name": "Svelte",
+ "logo": "devicon-svelte-plain",
+ "colour": "bg-orange-400",
+ "link": "https://svelte.dev",
+ "about": "Svelte compiles to optimized JavaScript, offering a fast, efficient, and maintainable front-end development experience.",
+ "competency": 55
+ }
+ ],
+ "timeline" : [
+ {
+ "duration" : "April 2025 - Present",
+ "title" : "Thales UK (DDCC) - Software Engineer",
+ "description" : "As a 3rd year apprentice at Thales UK’s Digital Data Competency Centre, I have taken on responsibility for developing microservices that encapsulate Machine Learning models provided by R&D teams, helping to advance product readiness. These services are primarily written in Python and deployed to Kubernetes clusters for use across the business. Our team also designs and maintains CI/CD pipelines to automate the deployment of both these services and their supporting infrastructure."
+ },
+ {
+ "duration" : "September 2022 - April 2025",
+ "title" : "Thales UK (ISR) - Software Engineer",
+ "description" : "As a software engineering apprentice at Thales UK, Intelligence Surveillance and Reconnaissance, I worked within an agile team of six engineers, contributing to the ongoing development of a C++ system for the MOD. My role involved collaborating closely with colleagues, following Scrum methodologies, and leveraging internal frameworks to enhance and maintain the existing platform."
+ },
+ {
+ "duration" : "September 2022 - Present",
+ "title" : "University of Warwick - Digital and Technology Solutions",
+ "description" : "The apprenticeship includes allocated time for studying a Digital and Thechnology Solutions degree with the University of Warwick, including modules relevant to business management, devlopment processes and data integrity etc..."
+ },
+ {
+ "duration" : "September 2020 - July 2022",
+ "title" : "The Norton Knatchbull School (A-Levels)",
+ "description" : "Computer Science (A*) Mathematics (A) Physics (A)"
+ },
+ {
+ "duration" : "September 2015 - July 2020",
+ "title" : "The Norton Knatchbull School (GCSEs)",
+ "description" : "Computer Science (9) Physics (9) Chemistry (9) Biology (9) Geography (9) FSMQ (C) Maths (8) Spanish (7) English (Literature & Language) (7, 7) "
+ }
+ ]
}
\ No newline at end of file
diff --git a/svelte.config.js b/svelte.config.js
index 8f0f7a7..7e35e08 100644
--- a/svelte.config.js
+++ b/svelte.config.js
@@ -1,10 +1,10 @@
-// import adapter from '@sveltejs/adapter-auto';
-import adapter from '@sveltejs/adapter-node';
-import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
-
-const config = {
- preprocess: vitePreprocess(),
- kit: { adapter: adapter() }
-};
-
-export default config;
+// import adapter from '@sveltejs/adapter-auto';
+import adapter from '@sveltejs/adapter-node';
+import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
+
+const config = {
+ preprocess: vitePreprocess(),
+ kit: { adapter: adapter() }
+};
+
+export default config;
diff --git a/tsconfig.json b/tsconfig.json
index 82081ab..a2319c4 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,18 +1,18 @@
-{
- "extends": "./.svelte-kit/tsconfig.json",
- "compilerOptions": {
- "allowJs": true,
- "checkJs": true,
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "sourceMap": true,
- "strict": true,
- "moduleResolution": "bundler"
- }
- // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
- //
- // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
- // from the referenced tsconfig.json - TypeScript does not merge them in
-}
+{
+ "extends": "./.svelte-kit/tsconfig.json",
+ "compilerOptions": {
+ "allowJs": true,
+ "checkJs": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "strict": true,
+ "moduleResolution": "bundler"
+ }
+ // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
+ //
+ // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
+ // from the referenced tsconfig.json - TypeScript does not merge them in
+}
diff --git a/vite.config.ts b/vite.config.ts
index 26a5bad..8c7ce3e 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,10 +1,10 @@
-import { sveltekit } from '@sveltejs/kit/vite';
-import { defineConfig } from 'vite';
-import tailwindcss from '@tailwindcss/vite';
-
-export default defineConfig({
- plugins: [
- tailwindcss(),
- sveltekit(),
- ]
-});
+import { sveltekit } from '@sveltejs/kit/vite';
+import { defineConfig } from 'vite';
+import tailwindcss from '@tailwindcss/vite';
+
+export default defineConfig({
+ plugins: [
+ tailwindcss(),
+ sveltekit(),
+ ]
+});