Muhammad Unain's Work | ContraWork by Muhammad Unain
Muhammad Unain

Muhammad Unain

Full-Stack Next.js Developer | SaaS & AI Products

    15
    Followers
Followed by Kraig M, Joshua D, and Munirudeen A
I've talked about the engineering behind Amanises before. This time, I wanted to just show what it actually does. Amanises uses an AI agent to interact with the app and help with the workflow instead of everything being handled through traditional UI flows. This video is a quick look at how it works in practice. There's still a lot I want to improve, but seeing the idea actually work end-to-end has been pretty interesting to build.
1
20
Cover image for I didn't want the workflow
I didn't want the workflow canvas to feel like a single-user tool. So I made it collaborative. SeerForge is a multi-tenant AI workflow builder, so multiple people can work inside the same workspace. And that's where things started getting interesting. How do you keep everyone's canvas in sync? How do you show another user's cursor in real time? What happens when two people change the workflow at the same time? And how do you keep everything responsive without making a database request for every little thing? The canvas itself wasn't the hardest part. Most of the interesting work was happening behind it: → real-time state → events → persistence → database calls → keeping everything in sync It's one of those features that looks pretty simple when you're using it. But once you start building it, you realize there's a lot happening underneath. Still working on SeerForge, but the collaboration layer has been one of the more interesting parts to build so far.
1
70
Cover image for I was trying to improve
I was trying to improve latency in Amanises. The database wasn't actually the only problem. Amanises is built with Next.js, Hono, Cloudflare Workers, and AI, so a single user action can end up going through quite a few things: → API request → Database → AI processing → Response → Back to the client I started tracing the request flow instead of looking at each part separately. And I found something pretty simple: some requests were doing work they didn't actually need to do. Some database calls could be avoided. Some data could be reused instead of fetched again. And some AI flows could be handled more efficiently instead of triggering another request every time. So I started moving the logic around and reducing unnecessary calls. The result: fewer database calls per request, less repeated fetching, and fewer extra AI requests. The app feels noticeably snappier. The interesting part was that I didn't need some huge optimization. I just needed to stop doing unnecessary work. That's probably my biggest takeaway from this: Performance isn't always about making things faster. Sometimes it's about asking: "Do I need to do this at all?" Still building Amanises, but these changes made the request flow a lot cleaner and gave me a much better understanding of how the app behaves once Next.js, Hono, Workers, databases, and AI all start talking to each other. If your app feels slow and you can't figure out why, DM me, happy to take a look. What's the most unnecessary work you've found hiding in your own app? More of my work: unainr.vercel.app (http://unainr.vercel.app)
2
95
Aureum Most luxury brand sites look the same: a big hero, a few stock photos, done. Aureum is my take on a landing page that feels like stepping into a space instead of reading a page. It’s a scroll-driven, cinematic experience built around light, texture, and restraint. A golden ring animates as you scroll, the copy is sparse and deliberate, and every section is paced so nothing feels rushed. The goal was a premium, quiet-luxury feel that holds attention without shouting. I handled the concept, design direction, copy, and front-end build, from the story structure to the motion and performance. It’s a concept project, but the approach works for high-end brands, studios, and product launches that need to feel premium from the first second. If you want a site that makes people stop scrolling and actually feel your brand, let’s talk.
3
107