Harshdeep Singh Hura
banner
kinngh.com
Harshdeep Singh Hura
@kinngh.com
Sikh. Shopify Build Award Winner, 2024. Product @ Shopify

All opinions are my own.

harshdeephura.com
- am I missing something or have we just lost the plot and assumed full stack frameworks are difficult to write?

github.com/kinngh/attayjs
GitHub - kinngh/attayjs: attay (ਅਤੈ / "and" in Punjabi) is an opinionated JS framework that's meant to be small, fast and stable.
attay (ਅਤੈ / "and" in Punjabi) is an opinionated JS framework that's meant to be small, fast and stable. - GitHub - kinngh/attayjs: attay (ਅਤੈ / "and" in Punjabi) is an opi...
github.com
May 3, 2025 at 1:54 PM
Server: Middlewares, Api routes
Client: client side routing, prefetching, dynamic routes

Even as I build Yakk, a full fledged app, I don't need anymore than this. It's breaking my head right now
May 3, 2025 at 1:54 PM
If you keep devices long term, makes sense to get physical / disc versions. I still have the PS1 that I sometimes boot up and play CTR on and if it was digital, idk if that would even be possible without shady emulators
April 26, 2025 at 10:16 AM
Get back in soldier. We need you to ship. You've been exempted from touching grass
April 9, 2025 at 11:22 PM
HAHAHAHAHAHAHAHAHA
April 9, 2025 at 10:35 PM
I really like this pattern because I want to define middlewares for each endpoint and treat them like a sequentially running function instead of global middlewares that *ahem ahem*

I also want to dive deeper into Bun and see what other things can be done but I'm happy with how this is shaping out
March 24, 2025 at 1:39 PM
2. Middlewares.

I don't want to add in a single `middleware.js` file. Instead, a new function called `withMiddleware()` is exposed, that sequentially runs middlewares.

no middlewares -> `export default handler;`

middlewares -> `export default withMiddleware(middleware1, handler);`
March 24, 2025 at 1:39 PM
--so your structure would be

/pages/api/example/get.js
/pages/api/example/post.js

This would mean that a GET request to /api/example would go to get.js and a POST would hit post.js.
March 24, 2025 at 1:39 PM
I am of the opinion that MCP servers have always existed - it's that OpenAI never did a good job of building them properly. Like go to ChatGPT and create a custom GPT - you'll see it's literally the same baselines for how you create MCP except it's more UI than code for setup^
March 22, 2025 at 10:10 PM
This also means that Atē can be deployed as a Node/Bun application or on Cloudflare without any changes. This is what's roughly in my head.

Also, right now I'm focusing on creating a router - just doing itself is so much fun because enow I get to work with browser APIs that I never cared about
March 22, 2025 at 10:09 PM
-chasing trends, while focusing in on basics and familiarity that I want. I don't care about making it a commercially viable framework, and I want to stick to core baselines wherever possible instead of creating abstractions over everything.
March 22, 2025 at 10:09 PM
Ye like I need a trend-free SPA React based framework that picks up Nextjs' pages style along with simple / light weight routing with proper client side state management so I can build apps that don't have to worry about SEO and all the other bs
March 21, 2025 at 3:04 PM
-- but now I feel the need to just write my own React based lib/framework that I can be truly native to React, bring in abstractions that I really like, stick to SPA and bring my own server.
March 21, 2025 at 1:47 PM
because too often we're moving between, CSR, SSR, Serverful, Serverless and idk what else - feels like almost everyone is about going with trends. My last shot is Honojs, but now I'm just studying client and server frameworks to build my own.

I've already built some insane stuff on Next--
March 21, 2025 at 1:47 PM