| 1 | export type ProjectSlug = |
| 2 | | "voice-learn" |
| 3 | | "cortex" |
| 4 | | "frameground" |
| 5 | | "aero" |
| 6 | | "voto" |
| 7 | | "saturn" |
| 8 | |
| 9 | export interface Project |
| 10 | name: string; |
| 11 | slug: ProjectSlug |
| 12 | image: { |
| 13 | url: string |
| 14 | alt: string |
| 15 | width: number |
| 16 | height: number |
| 17 | source?: string |
| 18 | }; |
| 19 | urls: { |
| 20 | githubUrl?: string |
| 21 | liveUrl?: string |
| 22 | [key: |
| 23 | }; |
| 24 | tags: string[] |
| 25 | } |
| 26 | |
| 27 | export const Projects = |
| 28 | { |
| 29 | name: "Saturn", |
| 30 | slug: "saturn", |
| 31 | image: { |
| 32 | url: "https://saturn.procrastinator.fyi/api/og?page=Saturn", |
| 33 | width: 1200, |
| 34 | height: 630, |
| 35 | alt: "Saturn", |
| 36 | }, |
| 37 | urls: { |
| 38 | liveUrl: "https://saturn.procrastinator.fyi", |
| 39 | githubUrl: "https://github.com/phantomknight287/saturn", |
| 40 | }, |
| 41 | tags: [ |
| 42 | "Next.js", |
| 43 | "Typescript", |
| 44 | "Drizzle", |
| 45 | "PostgreSQL", |
| 46 | "Better Auth", |
| 47 | "Polar", |
| 48 | "Tailwind CSS", |
| 49 | ], |
| 50 | }, |
| 51 | { |
| 52 | name: "Cortex Chat", |
| 53 | slug: "cortex", |
| 54 | image: { |
| 55 | url: "https://cortex.procrastinator.fyi/logo.png", |
| 56 | alt: "Cortex Chat", |
| 57 | height: 100, |
| 58 | width: 100, |
| 59 | }, |
| 60 | tags: [ |
| 61 | "Flutter", |
| 62 | "OpenRouter", |
| 63 | "Hono", |
| 64 | "Postgres", |
| 65 | "Better Auth", |
| 66 | "Prisma", |
| 67 | ], |
| 68 | urls: { liveUrl: " |
| 69 | }, |
| 70 | { |
| 71 | name: "Voice Learn", |
| 72 | slug: "voice-learn", |
| 73 | image: { |
| 74 | url: "https://voicelearn.procrastinator.fyi/logo.png", |
| 75 | alt: "Voice Learn", |
| 76 | height: 381, |
| 77 | width: 495, |
| 78 | }, |
| 79 | tags: [ |
| 80 | "Flutter", |
| 81 | "Nest.js", |
| 82 | "Postgres", |
| 83 | "Prisma", |
| 84 | "Socket.io", |
| 85 | "LLM", |
| 86 | "Gemini", |
| 87 | "OpenAI", |
| 88 | "XILabs", |
| 89 | "Next.js", |
| 90 | ], |
| 91 | urls: { |
| 92 | liveUrl: "https://voicelearn.procrastinator.fyi", |
| 93 | }, |
| 94 | }, |
| 95 | { |
| 96 | name: "FrameGround", |
| 97 | slug: "frameground", |
| 98 | image: { |
| 99 | url: "/frameground.png", |
| 100 | width: 1418, |
| 101 | height: 414, |
| 102 | alt: "Frameground", |
| 103 | }, |
| 104 | urls: { |
| 105 | githubUrl: "https://github.com/phantomknight287/frameground", |
| 106 | liveUrl: "https://frameground-web.vercel.app", |
| 107 | }, |
| 108 | tags: ["Next.js", |
| 109 | }, |
| 110 | { |
| 111 | name: "Aero", |
| 112 | slug: "aero", |
| 113 | image: { |
| 114 | url: "https://raw.githubusercontent.com/PhantomKnight287/aero/refs/heads/main/landing/public/features/og.png", |
| 115 | width: 1274, |
| 116 | height: 956, |
| 117 | alt: "Aero", |
| 118 | }, |
| 119 | urls: { |
| 120 | liveUrl: "https://aero.procrastinator.fyi", |
| 121 | githubUrl: "https://github.com/phantomknight287/aero", |
| 122 | }, |
| 123 | tags: ["Flutter", |
| 124 | }, |
| 125 | { |
| 126 | name: "Voto", |
| 127 | slug: "voto", |
| 128 | urls: { |
| 129 | liveUrl: "https://voto.com.ng", |
| 130 | }, |
| 131 | image: { |
| 132 | url: "/voto.png", |
| 133 | width: 417, |
| 134 | height: 234, |
| 135 | alt: "Voto", |
| 136 | }, |
| 137 | tags: [ |
| 138 | "Next.js", |
| 139 | "Express", |
| 140 | "Typescript", |
| 141 | "Cloudinary", |
| 142 | "PostgreSQL", |
| 143 | "Prisma", |
| 144 | "Socket.io", |
| 145 | "Tailwind CSS", |
| 146 | "Mantine", |
| 147 | "Chart.js", |
| 148 | ], |
| 149 | }, |
| 150 | |
| 151 | ] as Project[] |