11export interface Project {
22 name : string
33 description : string
4- imageURL : string
4+ image : {
5+ /** The filename in the s3 bucket located at `Portfolio/Projects` */
6+ src : string
7+ alt : string
8+ }
59 href : string
610}
711
@@ -11,105 +15,156 @@ export const PROJECTS: Project[] = [
1115 {
1216 name : 'Crab Fit' ,
1317 description : 'A modern event planning website' ,
14- imageURL : 'https://storage.googleapis.com/personal-site-cdn/crabfit.webp' ,
18+ image : {
19+ src : 'crabfit.webp' ,
20+ alt : 'Screenshot of the Crab Fit website showing a heatmap of availabilities' ,
21+ } ,
1522 href : 'https://crab.fit' ,
1623 } ,
1724 {
1825 name : 'Stevent' ,
1926 description : 'Community event platform' ,
20- imageURL : 'https://storage.googleapis.com/personal-site-cdn/stevent.webp' ,
27+ image : {
28+ src : 'stevent.webp' ,
29+ alt : 'Screenshot of the Stevent events page with several university events visible' ,
30+ } ,
2131 href : 'https://stevent.club' ,
2232 } ,
2333 {
2434 name : 'Automatarium' ,
2535 description : 'Build and simulate complex automata in your browser' ,
26- imageURL : 'https://storage.googleapis.com/personal-site-cdn/automatarium.webp' ,
36+ image : {
37+ src : 'automatarium.webp' ,
38+ alt : 'Screenshot of the Automatarium editor with a sidepanel that reads "Testing Lab"' ,
39+ } ,
2740 href : 'https://automatarium.tdib.xyz/' ,
2841 } ,
2942 {
3043 name : 'Flour - Baker’s Companion' ,
3144 description : 'Android and iOS app with baking tools' ,
32- imageURL : 'https://storage.googleapis.com/personal-site-cdn/flour.webp' ,
45+ image : {
46+ src : 'flour.webp' ,
47+ alt : 'Several screenshots of the Flour app showing its various features like quantity converter, substitutions, etc.' ,
48+ } ,
3349 href : 'https://play.google.com/store/apps/details?id=benpai.flour' ,
3450 } ,
3551
3652 // More projects
3753 {
3854 name : 'Era' ,
3955 description : 'Simply beautiful countdown timers' ,
40- imageURL : 'https://storage.googleapis.com/personal-site-cdn/era.webp' ,
56+ image : {
57+ src : 'era.webp' ,
58+ alt : 'Screenshot of the Era website showing several countdown timers' ,
59+ } ,
4160 href : 'https://era-timers.netlify.app/' ,
4261 } ,
4362 {
4463 name : 'Hyper Colors' ,
4564 description : 'Every named CSS color at your fingertips' ,
46- imageURL : 'https://storage.googleapis.com/personal-site-cdn/hyper_colors.webp' ,
65+ image : {
66+ src : 'hyper_colors.webp' ,
67+ alt : 'A screenshot of a grid of HTML colors and their hex codes with the caption "Find colors from any tab with the Hyper Colors extension"' ,
68+ } ,
4769 href : 'https://chrome.google.com/webstore/detail/hyper-colors/ogefbnmdhjekmihajflilhhcjpkjmppc' ,
4870 } ,
4971 {
5072 name : 'Our Saviour Popcat' ,
5173 description : 'A tribute to the cat of legend' ,
52- imageURL : 'https://storage.googleapis.com/personal-site-cdn/popcat.webp' ,
74+ image : {
75+ src : 'popcat.webp' ,
76+ alt : 'An image of the popcat meme with text above that reads "Our Saviour Popcat has descended from the heavens to help us find our path and wholesome ways"' ,
77+ } ,
5378 href : 'https://popcat.faith' ,
5479 } ,
5580 {
5681 name : 'Maimai Song List' ,
5782 description : 'Browse songs from the popular rhythm game' ,
58- imageURL : 'https://storage.googleapis.com/personal-site-cdn/maimai_song_list.webp' ,
83+ image : {
84+ src : 'maimai_song_list.webp' ,
85+ alt : 'A list of several songs with their jacket images, and metadata about them' ,
86+ } ,
5987 href : 'https://otohime.rocks' ,
6088 } ,
6189 {
6290 name : 'Emoji Menu' ,
63- description : 'A catalogue of Google\'s Emoji Kitchen' ,
64- imageURL : 'https://storage.googleapis.com/personal-site-cdn/emoji_menu.webp' ,
91+ description : "A catalogue of Google's Emoji Kitchen" ,
92+ image : {
93+ src : 'emoji_menu.webp' ,
94+ alt : 'Screenshot of the Emoji Menu site with a search field and several emoji mashups' ,
95+ } ,
6596 href : 'https://emojikitchen.rocks' ,
6697 } ,
6798 {
6899 name : 'Modern Calendar Embed' ,
69100 description : 'Embed any iCal on a website beautifully' ,
70- imageURL : 'https://storage.googleapis.com/personal-site-cdn/modern_cal_embed.webp' ,
101+ image : {
102+ src : 'modern_cal_embed.webp' ,
103+ alt : 'Screenshot of several events in an agenda view with the title "Test Calendar"' ,
104+ } ,
71105 href : 'https://github.com/GRA0007/modern-cal-embed' ,
72106 } ,
73107 {
74108 name : 'Spectrum Tab Page' ,
75109 description : 'A colourful new tab page' ,
76- imageURL : 'https://storage.googleapis.com/personal-site-cdn/spectrum_tab_page.webp' ,
110+ image : {
111+ src : 'spectrum_tab_page.webp' ,
112+ alt : 'A blue-green gradient with a simplified browser tab interface' ,
113+ } ,
77114 href : 'https://addons.mozilla.org/en-US/firefox/addon/spectrum-tab-page/' ,
78115 } ,
79116 {
80117 name : 'Pixel Display' ,
81118 description : 'Tiny JavaScript library for pixels' ,
82- imageURL : 'https://storage.googleapis.com/personal-site-cdn/pixel_display.webp' ,
119+ image : {
120+ src : 'pixel_display.webp' ,
121+ alt : 'Screenshot of the test page with several buttons and inputs with the title "Pixel Display Library"' ,
122+ } ,
83123 href : 'https://github.com/GRA0007/pixel-display' ,
84124 } ,
85125 {
86126 name : 'Cookie Cat' ,
87127 description : 'A Steven Universe inspired Discord bot' ,
88- imageURL : 'https://storage.googleapis.com/personal-site-cdn/cookie_cat.webp' ,
128+ image : {
129+ src : 'cookie_cat.webp' ,
130+ alt : 'A large ice-cream sandwich graphic shaped like a cat, with the words "Cookie Cat" below, and a button that reads "Add Cookie Cat to your server"' ,
131+ } ,
89132 href : 'https://gra0007.github.io/cookiecat-website/' ,
90133 } ,
91134 {
92135 name : 'Kaneda' ,
93136 description : 'A helpful Discord bot' ,
94- imageURL : 'https://storage.googleapis.com/personal-site-cdn/kaneda.webp' ,
137+ image : {
138+ src : 'kaneda.webp' ,
139+ alt : 'A Discord message from the Kaneda bot with information about itself' ,
140+ } ,
95141 href : 'https://github.com/GRA0007/kaneda-website' ,
96142 } ,
97143 {
98144 name : 'Folder Icon Generator' ,
99145 description : 'Generate icons for your media folders' ,
100- imageURL : 'https://storage.googleapis.com/personal-site-cdn/folder_icon_generator.webp' ,
146+ image : {
147+ src : 'folder_icon_generator.webp' ,
148+ alt : 'Screenshot of a Windows file explorer window with folder icons that have little anime cover images in them' ,
149+ } ,
101150 href : 'https://github.com/GRA0007/Folder-Icon-Generator' ,
102151 } ,
103152 {
104153 name : 'Blue' ,
105154 description : 'Enhanced Scratch 2.0 mod' ,
106- imageURL : 'https://storage.googleapis.com/personal-site-cdn/blue.webp' ,
155+ image : {
156+ src : 'blue.webp' ,
157+ alt : 'A list of new Scratch blocks, with comments about their functionality' ,
158+ } ,
107159 href : 'https://github.com/GRA0007/Blue' ,
108160 } ,
109161 {
110162 name : 'MAL Client for Pebble' ,
111163 description : 'Manage your anime list from your watch' ,
112- imageURL : 'https://storage.googleapis.com/personal-site-cdn/mal_client_for_pebble.webp' ,
164+ image : {
165+ src : 'mal_client_for_pebble.webp' ,
166+ alt : 'A stylised Pebble smartwatch displaying the app, with a title that reads "MyAnimeList Client"' ,
167+ } ,
113168 href : 'https://github.com/GRA0007/MAL-Client' ,
114169 } ,
115170]
0 commit comments