The Lab banner

The Lab

5 devlogs
38h 12m 31s

This is basically a website that I post blog posts, project updates (thats why it’s called The Lab, and a place where you could contact me (via Giscus embedded in the website)

This project uses AI

Copilot code completion

Demo Repository

Loading README...

Nathan

Shipped this project!

Hours: 5.75
Cookies: 🍪 54
Multiplier: 9.31 cookies/hr

I added a TOC section and a music player with this ship. The music player automatically loads based on the provided music_name-musician name (if it’s in the library in my CDN). The TOC is also generated based on markdown

Nathan

Added a music card that could be used anywhere (including in markdowns via .MDX)!

Attachment
0
Nathan

Added a TOC section which automatically generates based on the titles on the MD File

Attachment
0
Nathan

Shipped this project!

Hours: 32.45
Cookies: 🍪 149
Multiplier: 4.59 cookies/hr

I made The Lab to experiment with features I never implemented with my previous portfolio page. The Lab includes:

  • Auto-redeploy on update using PPOD (Which is a deploy tool I made myself)

  • Built using NEXT.JS, supports SSR (Server Side Rendering)

  • Blog post pages and project pages are rendered and generated on demand based on .mdx files. (THIS WAS A PAIN TO DO)

-Live Markdown editor built in for blog posting on the go

Comment section made using Giscus - integrates GitHub Discussions with comments on the pages

Media storage using Cloudflare R2

Status page and badge (status.nathanyin.com)

Overall, I am quite proud of what I made, and I learnt A LOT in backend file pipelines and React + Next.js workflow. I’ll be regularly updating the projects and blogs once I finish my exams. Stay tuned!

Nathan

Implemented a live Markdown editor for the admin page, it supports adding media via drag and drop (which caches them and uploads them to Cloudflare R2 via AWS S3 API when the post is published. When the post is published, it gets pushed to GitHub automatically.

Attachment
0
Nathan

Added the basic frontend of the admin panel, it rendered markdown automatically as you type (and renders using the same format as the actual pages). It is protected using Cloudflare Access, maybe I will also protect it using an authentication system that I implement myself later, I trust Cloudflare for now

Attachment
0
Nathan

[UPDATE: Apr 22: I did not expect this project to take me so long, so I did not log anything on flavourtown prior to Apr 19… ]

Added the blog section, which is dynamically server-side generated based on a .md file and metadata included within the file

Attachment
0