# Grayhat Blog Author: Saad Bazaz > Expanded public blog context for posts by Saad Bazaz. ## Page - [Saad Bazaz Author](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/author/bazaz) - [Saad Bazaz Author LLM Context](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/author/bazaz/llms.txt) - [Root LLM Context](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/llms.txt) - [Root Full LLM Context](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/llms-full.txt) - [Author API](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/api/public/v1/authors/bazaz) ## Author Details - Name: Saad Bazaz - Location: Islamabad, Pakistan - Website: https://github.com/SaadBazaz - Post count in current snapshot: 12 - Bio: CEO, Co-Founder at Grayhat. I invent, to build a better world. ## Current Posts - [AI & the Future of Work](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/ai-and-the-future-of-work) - Popular student podcast show host, Fakhar Abbas, interviews Grayhat's CEO, Saad Bazaz, along with Maaz Ali Nadeem, CEO of Vector AI. - [Our struggles (and minor wins) with Rive for character animation in 2025](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/our-struggles-and-wins-with-rive-2025) - Inspired by Duolingo, we also gave the beta Rive Editor a try to make our AI virtual friends in MindChat come alive. TLDR; It didn't go too well. - ["I can talk to machines"](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/i-can-talk-to-machines) - Lessons from Saleem Koul’s journey through robotics, telecom, and engineering at scale. - [This is ECHO.](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/coming-soon) - Grayhat, world. World, Grayhat. - [Reject Cloud, return to onprem](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/reject-cloud-return-to-onprem) - Make the Cloud Overlords tremble in fear with your half-baked SSH and Wake-on-LAN powered virtual machine emulator. - [Mastra MCP AI Hackathon, and the Illegal Agents pivot](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/mastra-mcp-ai-hackathon-and-the-illegal-agents-pivot) - We kicked off April with the first-ever Mastra MCP Hackathon, focused on creating custom MCPs with Illegal Agents. This lead to Illegal Agents pivoting towards the metaverse. - [How to apply to Grayhat for GSoC 2025](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/how-to-apply-to-grayhat-for-gsoc-2025) - 💡Note: We were not able to make the cut for the GSoC (Google Summer of Code) program this year. We will still, however, be conducting open-source projects for students internationally. Apply to our internship program here: Grayhat Summer Internship - 2025 - [Is Crypto dead? (An analysis)](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/is-crypto-dead-an-analysis) - Took me quite some days to dive deep into the crypto world. Read more to find out. - [Automatons and AI for JavaScript Junkies](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/automatons-and-ai-for-javascript-junkies) - Automatons are the forerunners to AI, but don’t underestimate them. They’re cheap, fast, predictable, and do their job perfectly. What’s the difference? Both AI and Automatons branch out from the Theory of Automata, which is a foundational concept of computing. It sees the world as consequences and actions (in their terminology, “states” and “transitions”). Automatons start off very simple; they carry out tasks in a deterministic fashion. Consider it like a branch of finite possibilities, and a - [Sign in with Adobe in a Next.js App](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/sign-in-with-adobe-in-a-next-js-app) - Use the power of Adobe to authenticate your Next app. - [Design to Scale](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/design-to-scale) - Look beyond tech, trends, and fancy buzzwords; look back to humans. - [We built a multiplayer, web-based Mario-like game with PlayroomKit... in 7 days!](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/we-built-a-multiplayer-web-based-mario-like-game-with-playroomkit-in-7-days) - How we transformed an open-source single-player game to multiplayer. ## Child Route Content ### [AI & the Future of Work](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/ai-and-the-future-of-work) - Slug: `ai-and-the-future-of-work` - Published: 2026-05-10T01:18:00.000+05:00 - Updated: 2026-05-10T18:27:43.000+05:00 - Reading time: 36 min - Tags: Events, Podcast, AI, Agents, Artificial Intelligence, Infrastructure, LLMs, Open Source, Voice - Authors: Saad Bazaz - Visibility: public ***The original podcast was recorded in the Urdu (اردو) language. The transcript below is a translation, written by AI and edited by humans. There may be mistakes.**FAKHAR ABBAS:** Assalamu Alaikum, dear viewers. How are you? Are you all right? I'm your host, Fakhar Abbas. A week ago, we posted on LinkedIn, Facebook, YouTube, and Instagram about the "AI bubble" that's troubling many students. Even graduates are worried about what they'll do next. In that post, I featured two experts—Maaz Ali Nadeem and Saad Bazaz—and we invited them to address your concerns. Students are asking: "Which degree should I pursue? AI, cybersecurity, computer science? What skills should I learn? And even if I have skills, will AI take away our jobs?" There's a lot of fear and doubt. To clear those doubts, we arranged a special podcast for you. Our guests are industry insiders and prominent AI experts. They'll give their responses, and we'll compare them—live—with ChatGPT. How closely do their answers align with ChatGPT? Where do they differ? We collected questions from many of you, and this podcast is based on those questions—the real concerns of students. So please watch until the end. Now, let me introduce my guests. Sitting with me is **Maaz Ali Nadeem**, co-founder and CEO of Vector AI. He is a graduate of FAST AI, 20th batch, Islamabad campus. Also with me is **Saad Bazaz**, a graduate of CS 18th batch, FAST Islamabad campus. He is co-founder and CEO of Grayhat Developers. I have great respect for both of them. Bringing such busy people from the tech industry requires a special request. The purpose of this session is to help solve your problems through their advice. I'll now ask them to briefly introduce themselves, even though I've already said a little. **SAAD BAZAZ:** Thank you so much. My name is Saad. As Fakhar said, I'm the CEO and co-founder of Grayhat. I've been working in media since I was 15—about nine to ten years now. Later, I shifted to Computer Science for my degree and did software engineering work. Then, luckily, I started working with a company in Norway, and we founded Grayhat. Some of our clients came from Silicon Valley. Since then, we've expanded. I love coding and engineering on the side, and designing things in Figma—taking them from idea to completion is my hobby. **MAAZ ALI NADEEM:** Thank you. I started a little earlier—before graduating, actually before university. My first venture was selling knock-off shoes from the Russian market to Europeans while I was in Beijing. Then we created a hoodie brand called Easy back in 2019, pre-COVID, and ran it until COVID hit. After that, I came back to Pakistan and chose to pursue higher education. That was very difficult at first. During research, I realized I just couldn't do research. So eventually, building a company and being the front face of one was the right path for me. We actively work on multiple AI-native implementations worldwide, primarily in Australia, a bit in Pakistan, Canada, and the U.S.—though not very aggressively. Right now, our focus has shifted slightly toward Europe. We've built a lot of things, and many people are using them. But that's not the point today. The point is that we'll share insights based on our failed experiences. Insha'Allah, that's the goal. **FAKHAR ABBAS:** And your core work—is that AI-related? **MAAZ ALI NADEEM:** 100% AI-related. **FAKHAR ABBAS:** What about you, Saad? Is your work also AI-related? **SAAD BAZAZ:** Basically, we form a triangle: applications, gaming, and AI. We mix and match AI applications, AI games, and so on. So yes. **MAAZ ALI NADEEM:** And ours is a pyramid: foundational models, then workflows, then platforms, then sales. We're building a pyramid of AI solutions. **FAKHAR ABBAS:** We selected questions you shared. There were some redundant ones, which we filtered out. There were many great questions. We have about fifteen questions, plus some follow-ups. I'll read each question one by one. Our panel will give their response, and then we'll compare it with ChatGPT using the same prompt. **First question: Is coding going to become obsolete?** **SAAD BAZAZ:** First, I don't fully understand the fascination with coding, honestly. I've been coding for a long time and still do it on the side. For me, coding is a way of expression, a way to give instructions to a machine. Whether you do that through a high-level language, a design tool, or an LLM doesn't really matter. That said, I don't think software engineering is going anywhere in the next five years at least. Coding itself might evolve because these high-level languages were made for humans, but low-level coding will still thrive. People might start coding more in Rust, Go, and other low-level languages like C and C++ if they want to. **FAKHAR ABBAS:** To keep it short, what would you say? If you could explain in Urdu as well. **SAAD BAZAZ:** The kind of coding people are probably talking about—React coding—that might reduce a little, but not in the long run. We still need to talk to computers using programming languages. That kind of coding won't go away. **FAKHAR ABBAS:** So Maaz, what is your take? Is coding going to be obsolete? **MAAZ ALI NADEEM:** I think Saad summarized it well, but I'll add one thing. The term "coding" basically means translating a set of instructions into software. That translation process is becoming obsolete—or at least heavily assisted by AI tools that can even replace it, given the right instructions. Engineering, however, is not being replaced. Engineering means planning software so that it is scalable, testable, and actually works. Just works. We look at many government or public service platforms. The problem is often that banking systems are down, or something isn't working. That engineering—getting it right—is going to remain, because that problem hasn't been solved yet. Sure, you can translate "this button will work like this" and "this button will take you to that page," but that's fine. **FAKHAR ABBAS:** But big tech CEOs, like Claude's CEO and Elon Musk, say coding will become useless. They say it won't even be taught as a subject. Students are very afraid. What do you say from that perspective? **SAAD BAZAZ:** They are right, I think. Take an example from before LLMs. Everything was already templatized. If you wanted to make a SaaS app, a template was available. You'd pick it, apply it, make tweaks. That was all within our domain. Look at another domain: chip design. Someone showed me the chip design lifecycle, and I thought, "This sounds so familiar." It was basically the same as the software development lifecycle, just with minor tweaks. It turns out a similar thing happened in chip design. Powerful chips are now developed in modules. No one designs individual transistors or gates anymore. This has happened before in other industries. You might be seeing it in software engineering for the first time, but it's not new. There's nothing to be worried about. **MAAZ ALI NADEEM:** Yes, nothing to be afraid of. It's a good thing. We'll have more time to think. Manual translation into code is being replaced, sure. But the thinking process remains. If no one had to think at all, then there would be room for fear. But that's not the case. **FAKHAR ABBAS:** That was our first and very crucial question. Now, the second one: People used to learn coding by studying programming fundamentals, then OOP, data structures, and so on. Separate courses. How much will that change now? Should we learn the same way or differently? **SAAD BAZAZ:** It will be a bit different. It will become more logic-based. Pseudo-code will become more important. You need to learn logic, algorithms, and how to design a proper system—whether it's electrical, software-based, or mechanical. You need good logic. **FAKHAR ABBAS:** Maaz, what do you say? Compare the coding you learned when you started versus how students in university should learn now. **MAAZ ALI NADEEM:** I think we should put more pressure on them than ever before. It's easier to get things done now. No matter how much you try to stop students, they'll still go home and open ChatGPT or Claude. So, pseudo-code is definitely important for logic building. You'll have to get them to write extremely complex pseudo-code. And to ensure proper engineering, you should also have them write actual code at a younger age. They should translate their pseudo-code and test it, because until you run it, you cannot test it or identify use cases. I think it should get harder, not easier. That's the challenge for faculty and academia: how to make it more difficult. **FAKHAR ABBAS:** Thank you. Now let's see what ChatGPT says. Is coding going to be obsolete? **ChatGPT:** **FAKHAR ABBAS:** Almost the same response. **MAAZ ALI NADEEM:** So this confirms we have the right people sitting here. **FAKHAR ABBAS:** Now the second question from the audience: Will AI take away jobs in Pakistan? This is very crucial. Layoffs are happening in other countries. How much impact will there be in Pakistan? **SAAD BAZAZ:** I don't think AI will take away too many jobs in Pakistan right now, because Pakistan hasn't been fully digitized yet. When people in other countries talk about job losses, they're talking about white-collar or desk jobs. There aren't that many of those here to begin with. Pakistan still needs to adopt management systems and ERPs—they're still just a trend right now. So there's still a long way to go. There will actually be more job creation. **FAKHAR ABBAS:** That includes two groups: people working in Pakistan's local organizations and corporate sector, and Pakistanis doing remote jobs abroad. They will be affected, won't they? **SAAD BAZAZ:** Definitely, they will. Having a person behind a screen versus a terminal in the cloud is essentially the same thing. **FAKHAR ABBAS:** What do you say, Maaz? **MAAZ ALI NADEEM:** It's scary. Recently, we delivered a project at Vector that led to ten people being laid off at a company in Karachi. That's not something to be proud of. I was recently in Davos with a Global Youth Alliance that includes Accenture and the World Economic Forum, and they think about these issues. I pointed out that the team replaced by our AI transformation—we had to earn money, but the company wanted to replace them—those people were middle-aged. Thirty-five to forty years old, with families and children. They weren't earning six-figure PKR salaries, probably sixty to seventy thousand rupees a month. That was their major source of income. So that's critical. The good thing about the first world is that when they replace someone, they think about reskilling them using CSR funds. They invest in placing those people elsewhere. That's a lot of money. Pakistan and other third-world countries cannot invest that money. If people are replaced here, that's it. They go home and have to find the next job themselves. **SAAD BAZAZ:** I disagree a little with the narrative that jobs are going away. That narrative is mostly coming from the West—from Canada, the U.S., whose economies are declining. When their economy goes down, Meta lays off 1,000 or 2,000 people, AWS lays off people, and they label it "AI transition." But if you use their applications, the quality has dropped so much that it seems those people they laid off were pretty useful! Think about it: if you have a tool that makes each person ten times more productive, why would you lay people off? Your incentive should be: if I have 1,000 people, they can now do the work of 10,000. If I have 10,000, they can do the work of 100,000. They will do more work. Layoffs are not directly caused by AI; they are a direct indication of a declining economy. **FAKHAR ABBAS:** AI is not only eliminating jobs but also creating them. **MAAZ ALI NADEEM:** Creating jobs for educated people. **SAAD BAZAZ:** No, even for others. AI artists have emerged—people who have been empowered by these tools. I think AI will create more jobs and more upgrades. This scary narrative from the West is frightening people. Pakistan already had so few jobs to begin with. What's the worst that can happen? **MAAZ ALI NADEEM:** That's true, and it's a big narrative. But somewhere along the line, it will put a lot of pressure on us, absolutely. **FAKHAR ABBAS:** Let's see ChatGPT's response. Will AI take away more jobs in Pakistan? **ChatGPT:** **FAKHAR ABBAS:** People in the automation industry talk about this. I was reading about AWS Cloud—they laid off many people, put them on automation, and later suffered huge losses and a slowdown. **SAAD BAZAZ:** CloudFlare also had an outage recently, and they also had layoffs. The CTO of AWS said you can lay off people, sure, but you cannot replace juniors. Juniors are an essential part of your human workforce. That narrative is coming from the West, but what Maaz said is absolutely right: if you don't upskill people and they are doing redundant work, that is a bad thing. **FAKHAR ABBAS:** We'll also talk about which skills you need to learn to stay relevant in the AI world. Next question: Is AI just a hype cycle or a long-term infrastructure shift? **MAAZ ALI NADEEM:** It is a long-term infrastructure shift, yes—if applied with some thought. It is in a hype cycle right now, sure, and there's also a bubble that will burst. Every hype cycle bursts. But this isn't just a bubble that will burst and disappear. It will stay. During the blockchain era, the hype cycle went bust and couldn't transform anything afterward. Everyone thought everything in Pakistan would be tokenized—real estate, rooms, everything. That didn't last. With AI, it will be more natural. It is already happening and proving results. This is definitely a long-term thing. It will be implemented in your banks as well. Whether it's implemented in Pakistan first or not isn't the question—it's being implemented in the world. AI is already handling many after-hours tasks. Somewhere, it's enabling a business to stay relevant 24/7, answering calls, triggering workflows, providing good ROI, increasing revenue. No one hates more money coming in. So it's here to stay. There will be a bubble burst, then people will identify specific use cases to mature. Once it matures, it will definitely work. It's like when pens came—they never went away. Same with electricity. This is that kind of thing. **SAAD BAZAZ:** I 100% agree with Maaz. This was inevitable. People have been prophesying this since the 1950s and 60s—that one day robots would be made. It's human nature to evolve. The question is whether this particular wave will run. Architecturally, the main backbone is the transformer architecture, which hasn't been updated since 2017. Eight years with the same architecture—variations have come, but foundationally it's still the transformer. If you're building a data center the size of an entire city, like Mark Zuckerberg is doing for $50 billion, that feels a bit rushed. You're not doing as much foundational research as you are betting on it. You're subsidizing it heavily. Honestly, paying $20 for ChatGPT is basically harming them financially. They are pushing too fast and not researching AI sustainability. Data centers are not sustainable that way. I'll link that back to their economy going down. They have to pump their economy with the power of AI right now. So the hype we have now is real, but we are also pumping. Long term, definitely, AI has a place, but this is going a little overboard. **MAAZ ALI NADEEM:** I'll add a Pakistan context. We went to Pakistani companies, and they see that ChatGPT gives either free answers or costs $20. So they ask, "Why are you telling us this project needs huge infrastructure and the quality won't be the same?" When you implement models based on 8 billion parameters and serve a bank with one or two million active users, or a telecom with forty to fifty million users, the hardware costs millions. OpenAI offers it for $20, so why are you saying hardware costs millions? The problem is we have to make money from it. We don't have $5 billion to invest and wait three years for customer acquisition. We need to make money tomorrow. The expectation-reality gap is huge. **SAAD BAZAZ:** They are banking on the hope that at some point it will become economical. That's why they're pushing. Let's see what happens. **FAKHAR ABBAS:** Now we ask the same question to AI. **ChatGPT:** **FAKHAR ABBAS:** So long-term, because so much investment is being made, they're trying to build something. Question four: What does "learning AI" actually mean? Many people say, "Learn AI or be left behind." This is very important. **SAAD BAZAZ:** My approach is fundamental. When I say learning AI, I mean keep your math and logic strong so you can understand how an AI model works—how transformer architecture works. That's what learning AI means to me. But others might have a more advanced view. **FAKHAR ABBAS:** But people say even laypeople will have to learn AI because young people are doing it. **SAAD BAZAZ:** Absolutely. For them, it's a tool. Treat AI like any new tool. Don't outsource your mind. Use it to automate boring tasks. **MAAZ ALI NADEEM:** Seven months ago, I gave an answer for software developers and engineers who want to build AI. But reading the comments, I saw a question from a layperson's perspective: "If I partner with AI as my thinking partner—to close a deal, write a proposal—we plan together. AI and I throw ideas back and forth." Or someone who only does automation, with no connection to AI, and recently had to deploy a voice agent. His job is simply to prompt that agent well and piece together the tools, with no coding. When people learn to augment AI into their workflow, that's very beneficial. You learn how to use those tools depending on your current job role. You don't need to change your role. You just need to learn the tool so it can give you 10x productivity, like Saad mentioned. **FAKHAR ABBAS:** Now we ask ChatGPT: What does learning AI actually mean? **ChatGPT:** **SAAD BAZAZ:** I see a bit of the technical side in that answer, but the balance—humans won here. We balanced it. Point to humans. **FAKHAR ABBAS:** Whenever AI is mentioned, learning AI doesn't just mean you have to predict something. As you said, you share what you want, and it helps you achieve that goal. **SAAD BAZAZ:** Even to write a good prompt, you need to understand the fundamentals of how AI works and how it consumes data. It will always follow major data trends. So if your prompt reflects those trends, you'll get a good result. **MAAZ ALI NADEEM:** Talking to AI is an art. Right now, it's two people versus one AI. **FAKHAR ABBAS:** Question five: Do you need a top-tier university to succeed in tech? Senior students who couldn't get into FAST, NUST, GIKI, or LUMS worry about whether they'll get jobs. The culture at FAST is different, at LUMS it's different. If you're studying virtually or from a different location, can you get the same experience? Maaz, you start. **MAAZ ALI NADEEM:** First, let's be honest. Yes, being in a good university has an impact. But it also depends on whether you let that impact affect you. I've seen people at FAST who wasted their time, and people at tier-three universities—names we might not have even heard—who achieved something. Being in a good university means you are more likely to succeed or do better because the environment is already built: exposure, understanding, access to the market, a better competitive environment. The tag matters. Living in Pakistan, a good pre-built environment is essential. But if you compare going to MIT or not—if you're writing code, you can build a big company regardless. But if you're a Stanford dropout or graduate, the amount of funding your company gets automatically is huge. So positioning matters. But if your positioning isn't right—if you're at a university with no exposure or competitive environment—then it's up to you to step up. There are so many things happening in cities: competitions, community events, conferences. Just get up and go for the first two years. See what people are doing. Once you understand what you have to do, it doesn't matter if you're in a tier-three or tier-one university. And if you're in tier-one and think, "I've made it to the top," that won't help. These days, even at the FAST job fair, the 100% job success rate is going downhill because people are looking for very specific skills. They don't care if your degree says "FASTian" or not. **SAAD BAZAZ:** I totally agree with Maaz. The culture you study in matters a lot. But the bottom line is: don't let it get to your head. Whether you're in tier-one or tier-three, don't question yourself. When you go to university, all cards are balanced in the first semester. Everyone is back to square one. When you graduate, less and less of that matters around the world. Not many people care—it's just a conversation starter. "Oh, I dropped out of Stanford." "Oh, from MIT." That's the first interaction with a person. After that, everything is on the same level. The company needs its needs fulfilled. It doesn't care about pedigree. Some niche companies might care, but the majority just want the job done. We also see people who say, "I'm going to solve this problem for you. I studied this, I faced this issue, and I learned this skill. That's not your concern—but I can solve this problem for you." **FAKHAR ABBAS:** There is also a plus side to not being from a top university: you have plenty of time to learn industry-relevant skills instead of spending time on theory and three-hour exam papers. **MAAZ ALI NADEEM:** Saad gave a good example. In law and medicine, where you studied matters a lot. Outside of that, it's less important now. When we came in the 20th batch, everyone had four A-stars—FSc, A-Level, ICS, etc. There was an attempt to create differences. Then we had a professor who teaches at the Multan campus, Dr. Hasan Raza. He humbled everyone within six months in programming fundamentals. Even those with four stars got F's. Then we realized it doesn't matter. The same thing happens after you get a job. "You got a 3.1 from NUST, I got a 2.5. You got a 3.9 from LUMS, I got a 3.7 from Barani Institute. No, my 2.5 from FAST is much better." People think this way in their first year of employment. After that, everyone becomes humble. No one asks where you studied. They ask: do you work at DPL, Motive, Vector, or Grayhat? It just matters what you have done. **SAAD BAZAZ:** What value do you provide? **FAKHAR ABBAS:** A related question: people get opportunities to study abroad for bachelor's—Australia, UK, USA with scholarships. Compared to a Pakistani university, what should they choose? **SAAD BAZAZ:** The reason I would answer this question better is because my family has an academic background. Even when I did my BS, I had the opportunity to go abroad, and I'm sure Maaz did too. For a bachelor's, the most important thing you'll learn is to be groomed. You learn how to converse, how to be professional. When you go out for work, you first try to fit into society. If by luck you fit into their culture, fine. But most people going abroad end up sitting with the Pakistani diaspora anyway. So what's the point of going to Canada or the U.S. if you still only hang out with Pakistanis? **FAKHAR ABBAS:** But some people have achieved great success—like Sualeh Asif. What do you say, Maaz? If you have opportunities abroad, what should you do? **MAAZ ALI NADEEM:** If you have the resources and the understanding of what you need to do after going out—if you have a plan—then it's fine. In Pakistan, if you want to study at any university, you need a plan. If you want to go abroad, you also need a plan. How will I cook there? How will I commute? How much time will I give to my studies? Do I need to earn money to sustain myself? If you have answers to these, then sure. You also need to plan your boundaries. If you're moving to the UAE for your bachelor's—which is rare—or Qatar, like Carnegie Mellon in Qatar, that breaks a lot of boundaries. **SAAD BAZAZ:** What do you think is so special about Carnegie Mellon in Qatar? **MAAZ ALI NADEEM:** 100%. Just like McDonald's in Pakistan. **SAAD BAZAZ:** Yes, McDonald's in Pakistan. You can eat there if you want, but you can also eat at home. The people you mentioned are outliers. Only about 30 to 40 percent of people who go abroad actually succeed in getting what they aimed for. **MAAZ ALI NADEEM:** From my personal acquaintances, even less than 30 to 40 percent. **SAAD BAZAZ:** And if you're selling your life savings—house, car, land—to go abroad, that's too much. If you have resources and a plan, fine. But if you think, "Everything is bad in Pakistan, so I'm going abroad and leaving everything behind," you will end up disappointed. I'm not saying it's a bad thing—maybe you get a good experience. But 70 to 80 percent of people get disappointed. The same issues exist there. **MAAZ ALI NADEEM:** And in all that, you end up selling the only house or property you owned. **SAAD BAZAZ:** Exactly. If that's what you're doing, it's a disaster. **MAAZ ALI NADEEM:** If you're still doing it, go with a plan. Otherwise, if you have money to burn, sure. **FAKHAR ABBAS:** So back to the question: Don't be discouraged if you don't get into a top university. That's not a disadvantage. Don't compare yourself to top students. Instead, press for opportunity. Let's ask ChatGPT. **ChatGPT:** **FAKHAR ABBAS:** Our panel said it doesn't matter where you got your degree. What matters is your own experience and what you can do. So even if you don't get into a top university, don't be disappointed. Absolutely. **FAKHAR ABBAS:** Question six: BS in AI versus BS in Computer Science—which one to choose? There are also cybersecurity and software engineering. Students panic and want to do AI because of the bubble. What should they do? **SAAD BAZAZ:** I'm very traditional about this. If you want to do a BSCS, CS is a mathematical science. If you're interested in math and logic, and you want to create a programming language—not just use one—then you should do CS 100%. **MAAZ ALI NADEEM:** If you come with a plan, it all comes down to planning. Do you know why you want to do a BSCS? In my case, and with most people I know, we knew why we wanted to do it. I wasn't fond of assembly language. I wanted to learn more about NLP and computer vision. So you go with a plan. At this point, the degree title doesn't matter much. Our company, Vector AI, is an AI venture studio, but our team has more full-stack software engineers than AI researchers. Just pursuing a BS in AI or attaching that title isn't very relevant anymore. It was in 2020. Not anymore. **FAKHAR ABBAS:** Let's hear ChatGPT's response. **ChatGPT:** **FAKHAR ABBAS:** That answer sounds like it's from five years ago. You can pursue whatever degree you like. **SAAD BAZAZ:** Yes, it's a bit outdated. **MAAZ ALI NADEEM:** It was diplomatic. It tried to play it safe: "Do CS first, so you don't come back asking why I didn't tell you that doing cybersecurity wouldn't be an issue." **FAKHAR ABBAS:** Big tech companies say they don't even need a degree. What do you think, Maaz? **MAAZ ALI NADEEM:** They say it's not compulsory. They never say it's not necessary. If someone with a degree comes in and is good, they're welcome. But in cases where someone doesn't have a degree and is exceptional—those people are very rare. We glorify that too much. **SAAD BAZAZ:** A degree is proof of rigor. You've gone through hardship. Someone can go through hardship in other ways. I used to know a guy who worked while studying. By the time he graduated, he was already professional. When he went for interviews, you could tell. So a degree being mandatory doesn't matter. What matters is that the person is professional. **MAAZ ALI NADEEM:** Rigor is a very important part. **FAKHAR ABBAS:** Question seven: What skills should students build, and when? During a bachelor's degree, what skills should you develop? The first semester is tough, and there are breaks in between. What do you say? **SAAD BAZAZ:** I'm very adamant about this. Every young person in university asks, "Which technology should I learn?" Don't think about technology—React, Angular, PHP. I don't want to hear that from anyone. I don't expect anyone to be a React expert. What I encourage is developing critical thinking and logic-building skills. Take an assignment or project and tie it to a real-world problem. Take a problem from home, society, your neighborhood, or your university. Go talk to your professor: "What if I do this in my project or assignment?" If they give you the green light, go do it. The second thing I strongly encourage is open source. Every student should do open source. When you code in public, people will give you feedback—sometimes harsh. If you've used AI too much or done sloppy work, that pressure will make you improve. **FAKHAR ABBAS:** Yes, Maaz? **MAAZ ALI NADEEM:** I think Saad's answer covers it. I'll add one thing: traits are now being looked at more than skills. Traits are human nature that you need to develop—honesty, presentability, accountability, communication, reliability. Skills aren't the only thing. In our company, when we went to the last job fair, our evaluation sheet had no scoring for technical skills. It scored traits: how noble is the person? That was a score. Because rigor and purpose matter a lot now. Along with skills, it's very important to work on traits. **FAKHAR ABBAS:** Some experts say skills aren't as important as problem-solving ability, system design experience, and architecture understanding—at least for the next five to ten years. What do you say, Maaz? **MAAZ ALI NADEEM:** 100%. **SAAD BAZAZ:** In Pakistan, if you open the P@SHA Salary Survey from 2023 or 2024, it still says there are very few architects, solution designers, and requirements engineers. They don't exist in our market. They will be created. Once the SDLC runs correctly, then maybe five or ten years later we'll see their impact. **MAAZ ALI NADEEM:** Unfortunately, in Pakistan, when people say "architect" or "systems designer," they assume that person has ten years of experience. They are very rare and charge a lot. They've made something that should be common into something rare. But this is totally trainable. **SAAD BAZAZ:** Yes, you can learn all these things in university. You just have to consciously choose a direction and learn it. **FAKHAR ABBAS:** Now, ChatGPT's response. **ChatGPT:** **FAKHAR ABBAS:** ChatGPT covered a lot, but most of it matched. **MAAZ ALI NADEEM:** The human angle of the answer—you get that from us. **FAKHAR ABBAS:** Next question: How do you pick a career goal and build toward it? **SAAD BAZAZ:** The biggest help is to see other people in that area. Talk to them. Network. Sometimes even copy them to learn the ropes. As a student, if you like a subject—say algorithms—and you have a good relationship with your professor, talk to them. Ask what you can do with it. They are subject matter experts. Second, go to conferences and talk to people. Ask what they're doing. Take interest in what others do. That will motivate and guide you. When you translate that into your own goals, it helps. Finally, open source and hands-on work will help you. **FAKHAR ABBAS:** Maaz, how should someone choose a career goal and pursue it? **MAAZ ALI NADEEM:** "Choosing" is a difficult word. I haven't chosen my final goal yet. We are all evolving. We don't know what we'll do for the next fifty years. I have a guy on my team who is 19. He's studying fintech at FAST, works in machine learning research, and his hobby is financial analysis. He's also studying for a CFA. Three different things. The degree is different, the current role is different, and the plan is something else. That's fine. You don't have to pick one thing. You evolve and get exposed to new things. Someone who spent time in tech might get exposed to sports and pursue that. Someone might get exposed to tailoring and open a coat shop. You pick your career goals along the journey. For the next five years, create a direction—through talking to people and trying multiple things. I started selling shoes. Maybe I'll circle back to that someday. **FAKHAR ABBAS:** Some experts say you should learn skills that AI cannot replace. Putting rotis in a tandoor—that's the perfect business. AI won't replace that. Like selling shoes. **MAAZ ALI NADEEM:** I'm sure AI can't design and sell shoes. **SAAD BAZAZ:** In Pakistan and across Asia, we force ourselves into careers purely based on money. Look, society needs all kinds of people: nurses, shoe sellers, shoemakers, tech people, healthcare workers. What matters is that your knowledge is reusable. If you've studied CS, you can translate that to other domains—maybe not healthcare, but many others. Imagine a guy running a light shop. If he's an educated electrical engineer, he will run it properly, with vision and methodology. He will scale it correctly. Customers will be happier than going to another shop where the seller doesn't even know the shape and size of a bulb and sells out of compulsion, not interest. Look at your interest and what value you as a person can provide. That should be your goal, not chasing money or trends. **MAAZ ALI NADEEM:** You see this trend in Islamabad: conventional businesses are coming back. I have friends who run a bread business called Croûte. They make amazing bread at the Islamabad Farmers Market. It's their hobby—not their day job. They're consultants by day and bread makers by night. The "Guy Who Knows Food" on Instagram—the kimchi guy. He studied something else but sells kimchi as a hobby. We order ghee from Gulberg or somewhere. They do good work. **SAAD BAZAZ:** When good people work, there's finesse. You can tell an educated person made it—the packaging, the marketing. It makes you feel good. **MAAZ ALI NADEEM:** The guy who made Anatummy burgers—why is it called Anatummy? Because he's a doctor. It's his hobby. People turn hobbies into conventional businesses, and they shouldn't be ashamed of it. They seem to enjoy them more. **FAKHAR ABBAS:** What about the donut thing? **MAAZ ALI NADEEM:** Donuts? Crusteez? You mean Crumble. He definitely didn't learn to make cookies at GIKI. It's a hobby. He should do it. **FAKHAR ABBAS:** Let's move to ChatGPT. **ChatGPT:** **MAAZ ALI NADEEM:** To some extent, it's right, but it didn't include the human element. **SAAD BAZAZ:** Keeping all of Pakistan in mind. **FAKHAR ABBAS:** Now our rapid-fire round. Please keep your answers to about a minute. Next question: Why don't we see million-dollar SaaS companies from Pakistan? All the big billion-dollar projects are built by outsiders. Investment goes abroad. No one knows Pakistan. Sualeh Asif's Cursor is from MIT, in that environment. Why not from Pakistan? What's the problem and solution? **SAAD BAZAZ:** The technical answer is we don't have investment. That's why we don't have million-dollar SaaS. But I'm more concerned about why we care about million-dollar SaaS. The million dollars they earn comes from investment, and they claim their ARR or MRR is that much. If we make even a small software that serves a small company in Pakistan, that's a big thing on its own. You need to scale to a million dollars. If it scales through your local industry and your industry adopts it, you'll make enough money that your children will be happy and your life will be set. **FAKHAR ABBAS:** Maaz? **MAAZ ALI NADEEM:** Ignore the fact that it's million or billion or thousand dollars. The fact that we don't see cool things coming out of Pakistan is an exposure problem. Our industry is not mature at all. Vyro has broken that barrier—they jumped on it and said, "No, we can do it." But it's a mindset problem. Why does this immaturity arise? Because we don't get many opportunities to go abroad. LEAP is coming to Saudi Arabia in two months, but there's already speculation that Pakistanis won't get visit visas. It's not easy. We were shortlisted for an exhibition in Vietnam—the only company from Pakistan. Vietnam's visas were closed, so we couldn't go. Sixty-nine Indian companies went. None from Pakistan. If you want to go to the U.S. or Switzerland, it's extremely difficult to get a visa. This global exposure problem also comes from governance issues. The ecosystem doesn't mature because it doesn't get chances to go abroad. **FAKHAR ABBAS:** You recently went to the World Economic Forum in Davos. How much of Pakistan's presence was there compared to India? **MAAZ ALI NADEEM:** 200 versus 10. **FAKHAR ABBAS:** Could we bring any investment? **MAAZ ALI NADEEM:** Unfortunately, we couldn't. **FAKHAR ABBAS:** ChatGPT's response. **ChatGPT:** **FAKHAR ABBAS:** Next question: What separates long-term agencies from trend chasers? **SAAD BAZAZ:** The biggest differentiator, which even big companies don't do, is R&D. Innovation. They treat it as the job of professors. "We'll adopt this when it's fully stable." For example, the CEO of a big company was at FAST for a session and said, "I don't believe in AI. AI will happen when it's stable." That mindset needs to change. Young companies founded by people with fresh PhDs—like Quest—have a higher chance of winning in the long run by doing R&D. **MAAZ ALI NADEEM:** True. If you've evolved through R&D, like Quest, you're going to win. At the agency level, groups of people quickly service things. Their reason for retaining clients is that they retain clients. Some agencies change their service offerings every month based on trends—today OpenClaw, tomorrow ClawdBot, next Blend. They're not making money from effort. Other companies use age-old tools and offer a single service. They build credibility within that service. They retain clients monthly—maybe $500 per month per client. That long-term sustainability comes from credibility in delivery. Trends won't make you money or bring you to the table. Credibility—serving a company for two years and delivering well—will benefit you. That's something we miss. **ChatGPT:** **FAKHAR ABBAS:** Next question: Pakistan is mostly service-based instead of product-based. Is that true? **SAAD BAZAZ:** It's true, and I don't have a problem with it. As long as you can engineer something valuable and compose something, it doesn't matter if it's product-based or service-based, as long as you can deliver. Product-based companies rely on business, marketing, sales, and investment. That ecosystem doesn't exist here, so we can't take that on. But if you're running a good service-based company, engineering things well, delivering quality—it doesn't really matter. **MAAZ ALI NADEEM:** 100%. I'll touch on the Davos experience again. In Davos, there's a street like Mall Road with houses of different governments and companies. The three biggest companies there were Wipro, TCS, and Infosys—primarily service companies. Multi-billion dollar companies. TCS is worth $21.6 billion with 600,000 employees. None of our companies were there because we aren't even doing service at that scale. We should worry about scale, not whether it's service or product. Palantir makes military products. TCS was there. OpenAI wasn't. Microsoft productizes OpenAI and sells it as a service. You create IP and sell that IP as a service in Pakistan. You don't always need a product subscription. Or you build a service based on that IP and sell customized services. Netsol does that. The issue isn't service vs. product or B2B vs. B2C. What matters is the scale of the question, and we tend to miss that. **ChatGPT:** **FAKHAR ABBAS:** Next question: What have been Vector AI's and Grayhat's biggest wins? **SAAD BAZAZ:** Our strength is people. Our main product is our brains. Our biggest win is that our people consistently mentor, give internships, do FYPs, and do deep R&D as a young startup. That allows us to innovate and allows our people to think beyond. When they go into services with that mindset, clients think, "This person is thinking differently." Why? Because we manufacture them to think differently. That's our biggest win. **FAKHAR ABBAS:** In one sentence: most startups crash, but yours is growing, MashaAllah. What's the one-liner? "People"? **SAAD BAZAZ:** The people are good. The people we chose, trained, and beyond. Eighty percent of our staff came through our internship programs. **FAKHAR ABBAS:** And retention is very good. **SAAD BAZAZ:** Good people are our business. **FAKHAR ABBAS:** Maaz? **MAAZ ALI NADEEM:** I don't have a particular definition of a win, but the credibility we have built—inside and outside the company—is very important. Even if someone leaves us, they won't say anything bad about us. I can guarantee that. No one will say, "They underpaid me, exploited me, or never gave me good work." Unfortunately, many people say bad things about previous companies. If no one says bad things about you, that's added credibility. Second, these people randomly refer you: "If you're looking for a company, talk to them." That word-of-mouth ensures your credibility, brand image, and that you're not shady or a scam. That credibility is our biggest win. **FAKHAR ABBAS:** Let's see what ChatGPT says about these companies. **ChatGPT:** **FAKHAR ABBAS:** Awesome. All our previous responses were twenty seconds long; this time, ChatGPT's was about half a minute with lots of data. Next question: How big is the voice AI market really? **MAAZ ALI NADEEM:** From the perspective of building a SaaS tool for voice AI, many agencies worldwide are providing voice AI services. It's very big. In Pakistan, I wouldn't say it's big initially because when you build Urdu models and deploy them, the cost is very high due to the large usability. When you use API-first integrations—GPT, ElevenLabs, and other platforms—and use the service in South Africa (English), Australia (English), or any other commonly researched language like Hindi, it's massive. Any place with a large population where some disaster is occurring or public service is being provided—ElevenLabs just partnered with Ukraine for all public service calls through their voice AI. The market is incredible: public service, banking, insurance, finance. There's a lot to do. **FAKHAR ABBAS:** Saad? **SAAD BAZAZ:** I agree. My research goes back to 2021, when we built one of the world's first speech translation engines, Omni. A year later, ElevenLabs came out with something similar. It's very lucrative. Among human senses—speech, touch, hearing, feeling—speech is a huge way we communicate. The challenge is the temporal nature of speech data; it's always hard to train on. Transformers are making it easier, but there are more modalities. Voice AI has its space. Text AI has its space. In the future, maybe brain AI will have its space—I'm doing research on that, and it seems interesting. Everything has its own place. Voice AI has a huge market. **MAAZ ALI NADEEM:** And we shouldn't glorify it too much or take it in a very regional way. You say, "Let's bring voice in Pashto. Let's start small." But we also become very ambitious: "We'll bring all fifty languages spoken in Pakistan, including Memoni and Gujarati." Brother, there isn't that much use case for those. Let's generalize things first because distribution is easier there. We quickly specialize and regionalize without any issues. **ChatGPT:** **FAKHAR ABBAS:** Next question: What does it actually take to build an AI product like ChatGPT, Cursor, Claude, MidJourney, or Perplexity? We see all these coming from outside. Claude is a big thing these days—there's even talk of banning it. Whenever something good solves people's problems, it gets used for military purposes and then suppressed. But you mentioned all the big names, including Cursor. **SAAD BAZAZ:** I'll get a little technical. I've done product management for three to four Silicon Valley projects through Grayhat, and I've run AI products—some foundational (building the model itself) and some AI wrappers that call an API. At the level of products you're describing, if you don't have R&D, you will never make it. Sorry to say. Sure, you can push with investment, push as hard as you can. But if you don't have an entire pipeline of information coming in, you won't succeed. I'm not saying you need a 100% research team. Look at DeepSeek—they don't have that, but they have an environment of research, a source from universities or people bringing information and putting it into their product. **FAKHAR ABBAS:** Some small companies with only a few people—not big tech giants—have built things like Cursor. They attract investors by floating an idea. **SAAD BAZAZ:** Same thing. Either you have a lot of money to pump (like Cursor) or you have research strength (like MidJourney). If you lack one, you might survive. If you lack both, you can't make it. **FAKHAR ABBAS:** So in Pakistan, we can't do anything like that right now? **MAAZ ALI NADEEM:** I'll add to what Saad said. It's either research or money. Research also comes from money. We tried to build a partnership with another company in Islamabad for a text-to-mobile-app platform. We built it and started running it, then stopped. We were competing with two Indian companies—one from Gujarat, one from Surat. Both got funding. But before that, there was ecosystem maturity. Maturity in knowing how to do AWS deployments, get credits, raise funding for those credits, take a proof of concept to the world, position the product—whether in the U.S., Saudi Arabia, or Australia. And given all that, access to money is necessary. Neither access to money nor access to markets with money exists, partly due to visa problems. Until that matures, it can't happen. Again, people like Vyro have broken rules, and we should start sitting with each other better. We're sitting with Grayhat after two years. **SAAD BAZAZ:** After two years, man. There's so much going on, we never find time. I love the way Vyro did it, but they were a services company for a long time, learned all the tricks and trades, then got investment plus strong R&D. **MAAZ ALI NADEEM:** They have very strong R&D. Cowlar is another example—a service company that built a product, but that's rare. **FAKHAR ABBAS:** I forgot about that. People used to pitch ideas, investors would be present. Was that real or a spoof? **MAAZ ALI NADEEM:** In reality, the Indian government supports such ideas a lot more than Pakistan. Right now, Pakistani media showed that there was no control at the India AI Summit—chaos, people couldn't enter—and claimed our summit was controlled and powerful. Unfortunately, that was wrong. They actually had tangible things to use. We didn't. And our event got canceled the next day due to rain. People who paid 10 lakh rupees each for booth setups haven't been refunded yet. **FAKHAR ABBAS:** ChatGPT's response. **ChatGPT:** **MAAZ ALI NADEEM:** It included millions in hardware as well. **FAKHAR ABBAS:** So to succeed, you need GPUs and money. Last question: How to achieve financial independence in the age of AI? Everyone wants money to become independent. Please tell us, Saad. **SAAD BAZAZ:** The standard answer is that financial independence comes from having a business and entrepreneurship. But I'll tie it to value. If you can provide value to anyone—in your job—you can achieve it. If you go to a job every day and see that AI can help the company, pitch it to your superiors and team members. Build an internal team. Do intrapreneurship. Say, "We're going to build something to accelerate this company." If the company doesn't support it, they're really missing out—they'd be a dumb company not to do it. If you get an idea alongside your work, you can always start it. In the end, if you can provide value, you will get financial independence in a capitalist world. **MAAZ ALI NADEEM:** Correct. Financial independence for 20-to-22-year-olds means having enough money so you don't have to worry about basic daily needs. The definition evolves as you grow and hit different milestones. Initially, using AI in an internship or part-time job can make that process faster and help you get that job. Second, in our company, there's a guy named Musab who studies part-time at university. He makes investments to achieve financial independence through asset building. Before investing, he might ask Claude, "Climate change is a big issue. Coffee exports are declining. Should I invest in coffee? Will coffee be valuable in the future?" Claude will answer. Or he'll ask, "JS Bank is offering me these stocks. What does this portfolio look like? What should I do given Pakistan's geopolitical situation?" This is the age of AI—access to knowledge is great. Use it to leverage financial independence. Anyone can do that in their own way. **FAKHAR ABBAS:** One more question: You've talked a lot about Claude compared to ChatGPT. Most people use ChatGPT daily. "What should I do today? Which color matches this outfit?" But for investments and business, what's Claude's advantage over ChatGPT? Who should use Claude? **MAAZ ALI NADEEM:** This is the debate like Honda vs. Toyota. Toyota has more reliability, but Honda has more luxury. I find Claude's answers more interesting—it gives me a discussion-like feel, like I'm talking to a friend. If I have to refine a proposal or prepare for Davos—figuring out who to meet and how to navigate the entire week—I sit with Claude. **FAKHAR ABBAS:** So Claude is better than ChatGPT? You find more mature answers from it. **MAAZ ALI NADEEM:** This goes on and on. **FAKHAR ABBAS:** I thought only coders or programmers use Claude. That's not the case? **MAAZ ALI NADEEM:** Creative people use it more. **SAAD BAZAZ:** It's more about taste. It depends on the person's preference. For work, it's definitely good. But Claude is a bit too much for me—it talks too much. **FAKHAR ABBAS:** Just two days ago, Claude said it can do COBOL, IBM's coding language, and shares fell 13%. So the AI industry is dropping bombs. **SAAD BAZAZ:** For general purpose, I prefer ChatGPT. For coding, definitely Claude is better. But sometimes I just need something done without the BS that models give. I go straight to DeepSeek. Its context window is so big—I throw something in and say, "Just do this. Don't talk about anything else. Just get the job done." It's made by the Chinese boys, after all. **MAAZ ALI NADEEM:** Yeah, it's a world of its own. **FAKHAR ABBAS:** I'm very thankful. Saad Bazaz did all the work—took all the raw data, filtered it, and printed this A3 page. Credit goes to Saad for the entire arrangement. Let's clap for that. These were questions from students—some about to graduate, some already graduated. Maaz, you're very experienced and involved in many places, multitasking like pipelining, MashaAllah. Saad's company has also grown a lot. Two years ago, I interviewed Maaz, and his employees were 8 to 10. Now, MashaAllah, it's 30-plus. Saad's startup is also growing a lot. May Allah bless them further. When you hire or offer internships to students, what features do you look for? What would you like to tell students? **SAAD BAZAZ:** Good question. I mostly do design and business hiring. Engineering hiring I leave to my engineering team. As a fresh grad, just be yourself. We are investing in potential—we're taking a risk on a person. Be honest and humble about what you know and don't know. Be clear about it. Second, be learning-oriented and growth-oriented. Don't prioritize a few rupees more or less. Prioritize: Am I learning? Am I growing? If you grow, you will produce value and provide it to people. That student mindset should continue throughout life. A student becomes a teacher, and the teacher also learns from the student. If you have that mindset, that's good. **FAKHAR ABBAS:** And Maaz? **MAAZ ALI NADEEM:** Not much different from Saad. Sometimes you just have to let it be. Often, people try to be smart with you, and you try to be smart with them. They come and evaluate, "This company is small. Why should I join?" Then they say, "We have one or two offers from other places." That's cool—secure yourself. But it's a two-way process. We trust you; you trust us. We are not a 50-year-old company, and you are not 20 years old. You have to work it out maturely together, with compromises from both sides. We will always be honest with you about your growth trajectory. But you also have to be honest with us about what you deliver. **FAKHAR ABBAS:** One last question from the audience that I didn't add earlier: AI is eliminating a lot of entry-level jobs for fresh graduates. You both have companies. Graduates approach you, and you have to shortlist them. What are your thoughts on entry-level jobs for fresh graduates over the next 5 to 10 years? Is the market saturated? **SAAD BAZAZ:** AWS laid off 1,000 to 1,500 people, but later their CTO said you need junior-level jobs. Juniors are part of your pipeline. Every senior was once a junior. A junior is a long-term investment—they integrate into the system, make observations, and grow. If you eliminate entry-level jobs, you will very soon become extinct. No matter how big your company is, you won't have future partners. Those juniors could be the people making products or managing AI tomorrow. Whether you're a young company or a large one, don't kill junior roles. That's not fair. **MAAZ ALI NADEEM:** If we talk like this, Claude now does financial analysis. Will we remove McKinsey's entry-level analysts? No. Because what remains is human connection. Junior software engineers sit in front of clients, listen to their problems, and build personal connections. If no one builds personal connections, the work cannot be completed. Even to deliver a landing page, we get to know the client—what they like to eat, where they live, where they go. **SAAD BAZAZ:** And there are things that aren't said, which we just infer. AI can only do what you say. **MAAZ ALI NADEEM:** 100%. So much is left to human experience. If you are a human being who is completely replaceable because you are redundant and lack the ability to adapt and grow, then yes, your job is at risk. **SAAD BAZAZ:** If you say, "No, I have to do the same work that Cursor or Claude is doing," then yeah, it's difficult to survive. **FAKHAR ABBAS:** Bundle of thanks to both of you. You've spent more than an hour and a half from your very tight schedules for the sake of students—so they can get tips and advice they've been waiting for. It's hard to connect directly with people like you. This platform was created for that purpose: to interview people so they can share their experiences for your benefit. More will follow on this channel. Thank you again. Thank you, Saad, for arranging the entire podcast room. He prepared all these things on the fly—they weren't pre-planned. **MAAZ ALI NADEEM:** He got them painted yesterday! **FAKHAR ABBAS:** Yes, painted yesterday. Amazing achievements, all the lights, etc., MashaAllah. Thank you very much, Maaz. If any question remains unanswered or you're not satisfied, you can still ask in the comment section. Take care. Best wishes to all of you. Allah Hafiz. Thank you. **SAAD BAZAZ:** Also like and subscribe to the STEM Sphere! **MAAZ ALI NADEEM:** Fakhar's STEM Sphere! ### [Our struggles (and minor wins) with Rive for character animation in 2025](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/our-struggles-and-wins-with-rive-2025) - Slug: `our-struggles-and-wins-with-rive-2025` - Published: 2025-11-06T14:00:03.000+05:00 - Updated: 2025-11-19T23:03:41.000+05:00 - Reading time: 5 min - Tags: Animation, Design, AI, Artificial Intelligence, Flutter, Developer Tools, Design Tools - Authors: Saad Bazaz, Abdurrehman Subhani, Aniqa Sadaf, Talal Ahmed Khan, Wasif Sadiq, Muhammad Usama Rashid - Visibility: public Grayhat first met the Rive team at GDC 2024. Early startup energy, cool booth, tons of hype. At the time, we already knew about Rive, but we hadn’t actually battle-tested it in any real production scenario. It looked promising, and we filed it away as a “maybe one day” tool. *Fast forward to this year... We finally decided to give it a real shot. ## **Solly, Our First Rive Experiment** Our first test was simple. We built an animated mascot named **Solly** for MindChat. Just a cute, lively animation. It turned out pretty solid. *An animated Solly, the mascot for MindChat.In our hubris, we decided to go big. Not just animated characters. We wanted **full lip-sync and animated avatars reacting in real-time during video calls**. That’s when our rabbit hole journey began. ## **Research and Learnings** To understand what “good” looks like, we researched teams already doing this at scale. We studied Duolingo’s approach to visemes and character speech, which instantly made them our north star. We also pored over Guido Rosso's breakdown of how Duolingo uses GenAI and Rive for more technical insight. It's an excellent blend of art and tech, I highly recommend watching it: *For character structure and workflow inspiration, we found Tolan’s process incredibly useful, detailed in their post on designing their character. We also dove into the broader concepts of phonemes and visemes, looking at established solutions in the 3D space like Reallusion's iClone for AI-powered lip-sync. Enough theory, let's build. ## **Intersecting art and tech (Rive + Flutter)** To get hands-on, we learned the basics through foundational tutorials like this Rive in Flutter video and this more advanced follow-up. Community tips, like this Reddit thread on a better way to animate, and the official Rive best practices guide were essential reading. Then we got our hands dirty by running our first interactive test. We replaced the Interacting Bear Demo from GitHub with the Monster Mouth (found on the Rive Marketplace), and lipsynced it. *At this point, we were feeling pretty confident. We started exploring Rive's marketplace for rigs, especially mouth rigs and lip-sync templates: - Mouth Movement Rig - Custom Talking Avatar Lip Sync - Karaoke with Zari - Monster Mouth - Wave, Hear and Talk - Mouth Rig We built our own character in a flat, simple style so iteration would be fast. ## **Nested Artboard Hell** Then came the pain. Nested artboards. Calling inputs inside nested rigs from the parent board. This should have been trivial, as most of our designers came from an Adobe After Effects and Sony Vegas background. Instead it became a multi-day excavation. We even built a minimal reproducible Rive file just to understand the problem first, with data binding and nested artboards. We searched everywhere for answers. We scoured Stack Overflow for solutions, read through Reddit threads where users lamented broken nested animations, and followed a critical GitHub issue in the rive-flutter repository that highlighted our exact problem. The Rive community forum had a thread on passing input values that never got a definitive answer. Finally, we found a random deep-internet video that solved it. From Rive, but not on the surface. Not from official docs. Just some obscure YouTube video that succeeded where the actual product failed to explain itself. *And that’s when it hit me. Rive is not designed for professionals yet. Rive is built for early adopters, vibers, Behance-Dribbble motion designers, landing page razzle dazzle, and social media loops. Not structured engineering-grade animation pipelines. Anyone doing real character systems will eventually hit architecture problems. Rive isn’t there yet. But we were too deep in this to give up. ## **Building Our Own Playground** Once we finally got our rig working, we wanted to test it with our custom lip-sync algorithm. We tried using the third-party playground, rive.rip. Cool idea, but feature-limited. Not useful for live algorithmic testing. So we built our own playground in Flutter, specifically for real-time lip-sync with AI voices and Rive characters. You can find the source code for our Rive Playground on GitHub. And here is the deployed version you can play with: * Drag to resize ⤡ Open in new tab (function(){ var box = document.getElementById('rive-resize'); var iframe = box.querySelector('iframe'); var handle = document.getElementById('rive-resize-handle'); var minW = 200, minH = 200; // If Ghost gives width:100% (or if you want it to *look* full-width initially), // set a pixel width equal to the parent's computed width so the element can be resized. function setInitialWidth() { try { var pw = box.parentElement.clientWidth || document.documentElement.clientWidth; // Use parent's width but not less than minW box.style.width = Math.max(minW, Math.min(pw, 700)) + 'px'; } catch(e) { /* ignore */ } } // Initialize setInitialWidth(); // Recompute if window changes (keeps sensible starting width) window.addEventListener('resize', setInitialWidth); var dragging = false; function startDrag(e) { e.preventDefault(); dragging = true; // allow mouse events to reach document while still interacting with iframe iframe.style.pointerEvents = 'none'; window.addEventListener('mousemove', onDrag); window.addEventListener('mouseup', stopDrag); window.addEventListener('touchmove', onDrag, { passive: false }); window.addEventListener('touchend', stopDrag); } function onDrag(e) { if (!dragging) return; e.preventDefault(); var clientX = (e.touches && e.touches[0]) ? e.touches[0].clientX : e.clientX; var clientY = (e.touches && e.touches[0]) ? e.touches[0].clientY : e.clientY; var rect = box.getBoundingClientRect(); var newW = Math.max(minW, clientX - rect.left); var newH = Math.max(minH, clientY - rect.top); box.style.width = newW + 'px'; box.style.height = newH + 'px'; } function stopDrag() { dragging = false; iframe.style.pointerEvents = ''; window.removeEventListener('mousemove', onDrag); window.removeEventListener('mouseup', stopDrag); window.removeEventListener('touchmove', onDrag); window.removeEventListener('touchend', stopDrag); } handle.addEventListener('mousedown', startDrag); handle.addEventListener('touchstart', startDrag, { passive: false }); // optional: double-click handle to snap back to parent's width handle.addEventListener('dblclick', setInitialWidth); })(); ## **Final Result** We managed to make our animation work, with nested artboards and lip-sync. Check it out here: *It's still a work-in-progress, but we continue to learn and improve. ## **The Rive Reality Check** After this entire journey, here’s the honest breakdown. ### **The Cons** - The interface is unintuitive and tries too hard to cosplay as Figma without earning it. - Features like components and preview mode feel half-baked. - Pricing is preposterous, especially when they suddenly made exports paid mid-project. - Performance is unoptimized and multiplayer is buggy. - Browser sync pauses make it feel clunky instead of modern. ### **The Pros** - It works, at least in Beta terms. - Web-based. - Collaborative. - Fun for simple animation use cases. ### **My Verdict** If you already have working pipelines in Blender, After Effects, Spline, or your own tooling, stick with them. Rive is cool, but it is not ready for serious production beyond funky assets, splash animations, and loading screens. I still believe Rive should eventually be acquired by Figma and merged into a full pipeline. But if I see them pull a “we’ll stay independent forever” move like Figma did with Adobe, my remaining hope will evaporate. To anyone from the Rive team: If you're reading this, I'd love to talk and have a feedback session on our team's experience on the Paid plan. Maybe we can find a better way out! Peace ✌️ *Credits to:* - Umayma binte Saleem, our Web, Interactions and Graphics intern, for the first Solly animation - Ayesha Aamir (UI/UX Designer) for her research, character design and animation implementation - AbdurRehman Subhani (Lead Engineer) for building the open source Playground, and developing the lip sync algorithm with AI - Aniqa Sadaf (Product Designer) for world-building ### ["I can talk to machines"](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/i-can-talk-to-machines) - Slug: `i-can-talk-to-machines` - Published: 2025-10-09T22:09:12.000+05:00 - Updated: 2025-11-04T23:26:44.000+05:00 - Reading time: 6 min - Tags: Events, Software Engineering, Company Culture - Authors: Saad Bazaz - Visibility: public We had an awesome session with Saleem Koul, senior Software Engineer who has worked for around 30 years with multiple Big Tech companies including Motorola, Nokia and more (Intel, Qualcomm). ## TLDR; Based on his extensive career at industry giants like Nokia and Motorola, Mr. Saleem Koul emphasized that large, successful companies like Nokia operate on core principles of **Focus, Innovation, and Quality**. He illustrated that the best engineers distinguish themselves by proactively seeking solutions and automating processes, not just completing assigned tasks. True innovation, he taught, comes from a personal drive to improve systems and make the work of your entire team easier and more efficient, often by identifying manual bottlenecks and creating automated solutions that enhance speed, accuracy, and scalability. Ultimately, he championed the mindset of owning a problem, finding the optimal solution, and consistently striving to elevate both the product and the people around you. Saleem Koul’s career spans robotics, embedded systems, telecom infrastructure, and 5G networks. Across these domains, his approach has been consistent: focus on solving real problems, automate wherever possible, and hold the line on engineering quality. He’s seen how large companies like Nokia operate at scale, and he’s distilled clear lessons on what it takes to become an exceptional engineer inside complex organizations. ## Early Foundations Saleem’s path began at the **Pakistan Atomic Energy Commission**, in a robotics lab experimenting with early AI methods. Long before machine learning became mainstream, he worked with **single-layer perceptrons*** and **genetic algorithm**...** ***back in the late 80s and early 90s, when AI was in its early stages. He later moved to the **University of Texas at Arlington**, where he pursued **Digital Signal and Image Processing**, **Computer Vision**, and **Medical Imaging**. His research combined **MRI’s structural data with PET’s functional imaging**, improving the clarity and diagnostic utility of scans. He also worked on early UAV stability problems, applying control theory to keep aircraft stable — well before drones were commercialized. *## Entering Telecom Saleem joined **Nortel** during the UMTS rollout, then moved to **Motorola** and later **Nokia** (via Motorola’s acquisition). His core work was in **embedded systems**, developing and testing **vocoders**, signal processing components, and low-level code for **PowerPC architectures**. At Nokia, he observed that the company’s scale and resilience rested on three clear operational principles: **Focus, Innovation, and Quality**. - **Focus** meant that projects were broken into essential, well-defined components. Distractions were minimized. - **Innovation** wasn’t about brainstorming sessions; it was about finding better ways to do the work already at hand. - **Quality** was non-negotiable — systems shipped only when they met rigorous internal standards, because failure at network scale was not an option. Saleem often emphasizes that **a great engineer isn’t the one who merely finishes the task, but the one who finds the most effective way to do it**, even if that means redesigning the approach. ## Automating the Hard Work One of his most impactful contributions was in **network testing automation**. Traditionally, telecom teams performed manual drive tests: engineers would drive through test areas at night, measuring **signal strength**, **handover performance**, and **call reliability**. This process was slow, error-prone, and heavily dependent on human coordination. Saleem developed a fully automated system — later nicknamed the **Uber Driver** project. Using **Snapdragon devices**, **Qualcomm QXDM**, GPS triggers, and custom scripts, his solution automated the entire process: data collection, post-processing, visualization, and reporting. By morning, the system generated **Google Earth maps** and **presentation decks** without human intervention. The result was a **14× reduction in testing time**. More importantly, it shifted how teams thought about field validation. **“Lab simulations are useful, but real-world testing tells you the truth,” he would often point out. Environmental factors like vegetation, air quality, or building density rarely matched lab conditions. His insistence on real-world data improved network reliability and forced teams to confront gaps in their assumptions.*## Multimedia and 5G Saleem also led efforts to demonstrate **5G multimedia streaming** at **26 GHz and 39 GHz** bands. These live demos involved transmitting **4K and 8K video** over directional links — a technically demanding task that revealed issues like line-of-sight sensitivity, multi-base station synchronization, and OS-specific bugs. His role was to ensure these demos worked **end-to-end**, across devices, networks, and platforms. It was an example of how deep technical expertise, combined with disciplined execution, enables innovation at scale. ## Navigating Large Organizations Saleem is candid about the realities of working inside large technology companies. Technical excellence is essential, but **organizational dynamics** play a major role. Promotions often lead to managerial tracks, where technical work is replaced by politics and coordination. He consciously chose to remain on the engineering track, focusing on building systems rather than managing teams. **“If you’re technically strong, the system will always need you,” he says. “But at some point, you peak at a certain engineering level.”## Mentorship and Leadership Saleem spent time as an **educational leader** for Nokia, mentoring interns. He highlights the rewarding nature of seeing their mentees go on to successful careers, often earning more money and securing better jobs than they had. He stressed that having a non-traditional degree (like a BA or a Mining Engineering degree) is not a barrier in the US corporate culture if one is enthusiastic and performs well. He reflects on his career trajectory, explaining why he **chose not to move into managerial roles** despite reaching the top of the technical ladder. He **disliked corporate politics**, which became more intense at higher managerial levels. Although there is some politics in technical roles as well, he emphasized that **strong technical skills make one indispensable**. This dislike for politics ultimately shaped his decision to remain in technical and innovation-driven roles rather than pursuing senior management positions. Saleem’s manager once encouraged him to move into a managerial position, given his years of experience and technical strength. Saleem declined. He explained that he preferred solving problems directly rather than managing people or politics. His exact phrasing was: ****“**I told him**, I can talk to machines. I can’t talk to people.”**## On Programming (C Language) and Embedded Systems When asked about their favorite aspects of **C programming**, Saleem explains: - His work started off mostly on **embedded systems**, with limited memory and processing power. - Libraries and high-level abstractions common on PCs were not feasible; instead, **efficient C and assembly** were required to work with microcontrollers like **Motorola 68040** and **PowerPC**. Over time, they worked across many domains — **electrical engineering, mechatronics, robotics**, and software — before finding their niche. ## Reflections on Skills, Innovation, and Workplace Realities **Innovation is self-driven**: No one told Saleem to innovate; he identified inefficiencies and built better solutions. To **stand out as an engineer**, one must: - Be proactive in problem-solving. - Strive for the **“best way”** among many possible solutions. Saleem recalled his early days manually calculating throughput line by line in terminals before automating testing, which drastically improved speed and efficiency. **"I'll tell you clearly, from my experience, your boss will never tell you to innovate... No one ever told me, this isn't good, do this, do that, it'll be so much better. No! I have a nerdy habit, if I am doing something redundant, I get bored... and then I automate it!"## Global Standards, Academia, and Technological Roots Saleem briefly traced **technological foundations**: - Mentioned **Orthogonal Frequency Division Multiplexing (OFDM)**, **cosine transform** (core of JPEG), and figures like **Dr. K. R. Rao** (University of Texas at Arlington), his supervisor, whose work became industry standards. - Standards compliance involves massive, detailed requirement PDFs that all vendors must follow. Saleem emphasize how **industry builds on academic research**, but commercialization requires strict global standardization. ## Observations from Home After returning to Pakistan, Saleem continued working remotely for US companies. Eventually, **taxation issues and unreliable infrastructure** made it unsustainable. He has been clear in his assessment of the local tech landscape: Pakistan remains in a **catch-up phase**, often competing on cost rather than building ecosystems. In contrast, India’s early investments in infrastructure and capability have allowed it to leap forward. ## Takeaways Saleem’s career offers practical lessons for engineers and organizations alike: - **Anchor in Focus, Innovation, and Quality.** These principles scale. - **Automate wherever possible.** If a task is repetitive, make it disappear. - **Validate in the real world.** Simulations have limits. - **Stay technically sharp.** Strong engineers shape products as much as managers. - **Adapt to structures but don’t be consumed by them.** His journey reflects how sustained technical excellence, applied consistently over decades, can shape industries — often without fanfare. *One with the team. ### [This is ECHO.](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/coming-soon) - Slug: `coming-soon` - Published: 2024-05-05T12:00:00.000+05:00 - Updated: 2025-05-19T02:58:56.000+05:00 - Reading time: 2 min - Tags: Notes - Authors: Saad Bazaz - Visibility: public We talk about the latest in cut-throat, hardcore engineering. Some topics we love talking about: - **Design: **Practical design, design systems, design tokens, system design and product design. - **Development: **Solving hard and/or niche problems through code, trying out new tech, benchmarking - **Engineering:** Thinking better, problem solving, case studies, open-source work What we **won't **do: - **AI-generated content.** This will be raw information from raw humans, do what you want with it. - **Build without reference. **We won't just start quantum computer software coding for no reason at all. We'll try to link it with something we're doing. Which leads to... - **Avoid the fine details.** This isn't content for SEO, or for the fat cats in skyscrapers smoking fat cigars. This is for the builders. - **Be professionally surprised. **i.e. AI / Crypto hypebros. Basically the kind of people summed up in this meme: * However, I can't make promises on all the above. We may slip up here and there, sure, but I can promise one thing for sure; you'll find a lot of heart. Have fun. ## Sign up for ECHO From humans, to humans. Discover the cutting-edge in emerging tech, artificial intelligence, and innovative ideas. * * ** Join the fun .nc-loop-dots-4-24-icon-o{--animation-duration:0.8s} .nc-loop-dots-4-24-icon-o *{opacity:.4;transform:scale(.75);animation:nc-loop-dots-4-anim var(--animation-duration) infinite} .nc-loop-dots-4-24-icon-o :nth-child(1){transform-origin:4px 12px;animation-delay:-.3s;animation-delay:calc(var(--animation-duration)/-2.666)} .nc-loop-dots-4-24-icon-o :nth-child(2){transform-origin:12px 12px;animation-delay:-.15s;animation-delay:calc(var(--animation-duration)/-5.333)} .nc-loop-dots-4-24-icon-o :nth-child(3){transform-origin:20px 12px} @keyframes nc-loop-dots-4-anim{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}} Email sent! Check your inbox to complete your signup. No spam. Unsubscribe anytime. ### [Reject Cloud, return to onprem](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/reject-cloud-return-to-onprem) - Slug: `reject-cloud-return-to-onprem` - Published: 2024-02-29T12:03:00.000+05:00 - Updated: 2024-08-17T13:24:35.000+05:00 - Reading time: 6 min - Tags: Software Engineering, Cloud, Infrastructure, DevOps - Authors: Saad Bazaz - Visibility: public Remember when you could easily spin up a gaming server on your dusty ahh Pentium 4 desktop, and play with people around the world? Honestly, I don't. I couldn't really figure that out with the crusty internet speeds I had, all the blockades on our Internet here, and the learning curve was way too high. ## My self-hosting journey **You merely adopted the Cloud. I was born into it, moulded by it.I ran LAN parties back in school. My friends and I would load all the lab PCs with Counter Strike 1.6, and play the heck out of the hottest summer days. In uni, one of my laptop's broke apart (it was stepped on), and since I'm not a wasteful guy, I created a Linux-powered mediaserver out of it which I streamed movies off of using Samba, giving me almost unlimited storage and my own personal cinema. I got into self-hosting. I ran SSH off of my broken laptop, and used to build projects on it, using my good laptop as simply a "portal". I then stumbled upon **CapRover**** **in it's early stages, and I absolutely loved it. I deployed a few apps, crashed a lot of stuff, but it was cool in general. Then came **Coolify**, and I haven't let it go so far! ## What's going on in the Cloud world?! **TLDR; The Big Cloud Exit is very real.Even though Cloud, Cloud Native and IAAC are on the rise, there's a continuous increase in unnecessary complexity and overhead, which pretty much kills the case for simpler use cases. There seems to be a two factions - Cloud-only and on-premises - but they seem to be united by similar technologies (Containerization, modularity, etcetera.) ### The Olden Days Let's start with a bit of history. Before Gen Z and millennials got into software, baby boomers had a very distinct sales strategy. Build once, sell once. You pay $200, you own a license to the software, and now it's yours. It's installed on your computer and you can do whatever the heck you want to do with it. This process, albeit slow, had it's charms. Software had to be built right the first time before sales started, which resulted in pretty stable software for its time. For instance, you couldn't just send an update of your game to the Nintendo Gameboy. The cartridge had to be flashed once. The only way to update was a complete recall, like when Nintendo recalled Pokemon cartridges back in the early 2000s. As peer-to-peer arose in popularity, so did Tor. Piracy and illegal filesharing called for a need to "centralize" a software's control points. These pointed to having a remote server, most likely in the software's creators office. This gave rise to the subscription model. (Although, despite many misconceptions, the subscription model existed before as well in the form of mail-in CDs, USBs, etcetera). Then arose an interesting proposal: What if all these software creators centralized their centralized servers even further?! This lead to mass-scale Cloud providers like Microsoft, Google, Amazon, and more. Today, Amazon Web Services (AWS) stands as the largest cash producer in Amazon's portfolio. ### Fast forward The costs of subscriptions just keep adding up. The software company owning the SaaS tool you use, is further paying subscription to another service, which is further paying subscriptions to another, and finally at the end of the chain is a company which is burning VC money like crazy just to keep **their **subscription costs at the lowest. Sounds familiar? ▲ For the sake of comparison, here's the subscription cost of running a software agency of 15 people, on modern SaaS tools: *Costs with ALL SaaS SubscriptionsNow eradicate some costs with self-hosted options: *Costs with some SaaS Subscriptions, mixed with self-hostingYes, obviously the saving you're getting will probably be spent on **electricity, hardware, maintainers, **and **backups.** **Still, **when you're paying $15k a year for just the tools under your belt, you gotta step back and think; "Why don't I own the software at this point?" Surely, $15k (or even a fraction of it) in share values HAS to add up to something. Plus, there's always a chance of screwing up with a memory leak somewhere (like this user who made the same sad mistake), or the risk of being DDoS'ed, which can surge your Cloud bill to $104,000 (like this Netlify user) just overnight. What's the point of a Cloud and all its services, if you can't have a good night's sleep? This sentiment, along with tonnes more surrounding privacy, performance, and peace, have driven self-hosted enthusiasts around the world to build a new business model for the sustainability of the tech world. ## "Self-hosted" as a business model Some major and minor events in the self-hosting world: - 37signals announces Once.com with their first pay-once-own-forever software, CampFire. Their manifesto is an excellent read, and they've been advocates of Quitting Cloud for quite some time. - Plane.so, open source task management software reaches 22k stars on GitHub in less than a year - Coolify, the absolute king of self-hosting management, has more than 15,000 self-hosted instances. - Medusa.js, possible the biggest self-hosting of all marketplaces, reaches 20k stars on GitHub - Microsoft ditches Azure (their own Cloud) for LinkedIn (their own product) We're seeing two trends clearly - Either go full in Cloud, or allow people to self-host. This spawns an entirely new business model; host yourself for free, or host on our Cloud for $$. What does this mean for new startups and businesses? In fierce competition, letting people self-host with a strong license means you can: - Get your product tested, verified easily by a large number of users. Use the feedback to build better - Remove privacy and security concerns, improve trust on your product - Resolve DevOps problems - Get bugs fixed and features created through the community - Get Viral. Get promoted for pretty much free through just some good DevRel, and get tonnes of appreciation ## Self-hosting as a Tech Startup ***Mantra: *You can't call yourself a Cloud or DevOps engineer unless you can run an on-prem server and maintain it for a minimum of 3 months.Let's talk real benefits for startups, other than making their business model self-hosted. What can you get done with a self-hosted, on-premises system in your workplace? - **Expendable dev servers. **Save the cost of Google Cloud for staging and dev servers. - **Build runners, CI/CD. **The boring stuff, the compute-consuming stuff. - **Business Development and Sales automations. **Business operations with expendable data, which are usually stateless and just need to be "listening" somewhere (Examples: Scrapers, Bulk emailers) - **Process automations** (Examples: Stateless Slack Bots, Discord Bots, Builder Bots, Automated Changelog Updates. You name it.) - No **data privacy** concerns (if you apply the right security practices!) - **Monitoring** (Example: Checking system healths for projects, checking your baby monitor) - Learn how to **get your hands dirty**. Clouds often have fancy names for pretty basic stuff in almost any onprem system. It's good to know their origins, as it helps you make better Cloud deployments, and can improve your engineering culture too. *By the way, I'm not **against Cloud. **I just encourage people to know what they're doing, and to use the right tool for the right job. Knowing the basics of building onprem systems is crucial in a Cloud Native world.* ## Resources What are the best places to learn self-hosted, and to get guidance? - Discord servers: As always, you'll find the best of the best basement dwellers lurking around on Discord. There are tonnes of self-hosting communities who can guide you on the basics. I particularly love Coolify's community, but I'm sure you'll find more on top.gg - The Awesome Self-Hosted list - The r/servers subreddit - The r/selfhosted subreddit - This cool blog I found - ChatGPT The list I have is exhaustive, but if you have more suggestions, drop a comment and I'll add it up! ## What's next We're building on-prem AI systems for Omni. Why? - Unrealistic GPU costs on the Cloud - Hybrid architecture: We want Omni to be deployable anywhere for quick processing, so we need to ensure resources are used the right way During this, we've figured out some pretty good ways to make teams more efficient while easily saving around $3000 annually. I call it "WorkStack". I'll be publishing a guide soon on **WorkStack**, and how you can use it in your org to save you some costs. Plus, expect some **open-source goodies **to help you along the way. Happy hacking! ⚡️ *We love doing things differently, and contributing to the overall knowledge stream. A lot of our work is R&D-based and on experimental tech in application development and Artificial Intelligence. If you're interested in working with *Grayhat*, DM or comment!* **This article was authored by** Saad Bazaz, **Chief Executive Officer at Grayhat. Special thanks to **Muhammad Hashim **for his research on the topic, and **Sohaib Bazaz** and **Muhammad Saad** for their work on Baadal, Grayhat's on-premises infrastructure.** ### [Mastra MCP AI Hackathon, and the Illegal Agents pivot](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/mastra-mcp-ai-hackathon-and-the-illegal-agents-pivot) - Slug: `mastra-mcp-ai-hackathon-and-the-illegal-agents-pivot` - Published: 2025-05-10T10:49:00.000+05:00 - Updated: 2025-05-19T02:02:01.000+05:00 - Reading time: 5 min - Tags: AI, Events, Agents, LLMs, Innovation, Artificial Intelligence, Announcements - Authors: Saad Bazaz, Talal Ahmed Khan - Visibility: public The first **Illegal Agents AI Hackathon** was a groundbreaking success, with **70 developers** from 13+ universities competing to build the most innovative AI agent systems. After intense judging rounds, we're proud to announce the winners who pushed the boundaries of what's possible with MCP technology. ## 🏆 Meet the Champions ### 1st Place: Omni Recruiter by Hashim Muhammad Nadeem **The Ultimate HR Automation Suite** * This end-to-end recruitment system combines **7 custom MCP servers** to: - Screen resumes from Google Drive - Analyze LinkedIn profiles (posts/likes/activity) - Conduct AI phone interviews with voice synthesis - Create GitHub repos for technical assessments - Send follow-up emails autonomously *Judges' note: "A staggeringly complete implementation that demonstrates MCP's potential in enterprise workflows."* ### 2nd Place: AI Software Engineer by Talha Ali *An autonomous coding assistant that: - Writes and tests production-ready code - Pushes to GitHub repositories - Updates Supabase databases - Sends Slack notifications with test results # All Projects Showcase Here are all the projects with a valid, working submission. ### SummitAI by Abdullah Ashfaq *Revolutionizes meeting management by: - Extracting action items from notes/docs - Creating structured summaries - Sending alerts to Discord channels - File management automation ## GitHub-Slack-Zoom Connector by Hamas Akram *Connects development workflows by: - Integrating GitHub with Slack - Enabling Zoom meeting interactions - Automating team collaboration ## Excalidraw Agent by Abdullah *Visualizes ideas by: - Programmatically interacting with Excalidraw - Creating/updating visual diagrams - Saving drawings automatically ## YouTube Analyzer by Muhammad Zubair *Enhances video consumption by: - Extracting key information from YouTube links - Generating summaries and notes - Enabling video Q&A - Finding specific content ## Discord Moderator by Kaleemullah Younas * Automates server management by: - Scanning and moderating messages - Enforcing community rules - Managing roles/channels - Issuing warnings and alerts ## Vision Buddy by Anas Khan *Supports student success by: - Planning educational journeys - Finding scholarships/opportunities - Preparing for interviews - Creating study roadmaps ## n8n Workflow Manager by Mubashir Hamad Create and Share Interactive Product Demos for Free | SupademoShowcase your product with interactive product demos and guides that can be easily shared as a link or embedded in your website and blogs. Drive product adoption, increase engagement, and boost retention.*Supademo*Automates workflows by: - Managing n8n automation workflows - Editing/updating workflows - Syncing with GitHub repositories ## Instagram Post Automator by Samiullah * Simplifies social media by: - Generating post content from descriptions - Auto-publishing to Instagram - Sending completion notifications ## GitHub Repo Creator by Shozab Mehdi *Accelerates development by: - Creating GitHub repositories on command - Simplifying project setup - Handling repository initialization ## Workflow Automation Scout by Muhammad Usman * Enhances productivity by: - Analyzing repetitive tasks - Providing automation guidance - Implementing workflow solutions ## GitHub-Slack Manager by Abdullah Faisal Built a Slack-based Dev Assistant in 24 hours. Watch the demo. | ABDULLAH FAISAL posted on the topic | LinkedInJust dropped a quick demo of our Slack-based Dev Assistant built during NaSCon AI Hackathon.💻 Platform used: illegalagents.ai Talk to it like a human — it reviews PRs, creates repos, writes docs, edits code & even notifies your team. All from illegalagents. No tab switching. No drama. Check it out 👇*LinkedInMUHAMMAD AHMED*Streamlines development by: - Managing GitHub functions - Providing Slack notifications - Keeping teams informed ## The Sentinel by Sohaib Sarosh Shamsi *Improves code quality by: - Generating unit tests automatically - Identifying untested API endpoints - Analyzing endpoint functionality - Integrating with CI/CD pipelines ## Discord Time Scheduler by Shah Faisal AI agent schedules and reschedules on Discord | Faisal Azmat posted on the topic | LinkedInImagine your calendar saying: 'Hold up... you can’t be in two places at once.'" Meet a Discord-native AI agent with a mind of its own — it schedules, detects overlaps, and negotiates your time like a personal assistant that never sleeps (and never asks for a raise ☕). Built during my first AI hackathon using Illegal Agents website, this isn’t just AI on Discord — it’s AI in sync with you. In this short demo: 💬 Natural conversation ⚠️ Smart conflict detection 🔁 Real-time rescheduling All happening inside your server. 🎥 Watch it in action — because calendars should be more than just boxes and dates. #AI #HackathonProject #SmartScheduling #Automation #DiscordAgent #CreativeTech #StudentInnovation #illegalagents.ai*LinkedInAlexander Mejia*Organizes time by: - Creating events from natural language - Detecting scheduling conflicts - Suggesting resolution options - Updating schedules dynamically ## Omni Swap by Muhammad Etisam Ul Haq * Supports developers by: - Providing code analysis/review - Offering debugging assistance - Suggesting architectural designs - Recommending best practices ## Code Scribe by Muhammad Etisam Ul Haq * Automates documentation by: - Analyzing code files - Generating structured docs - Saving to project directories - Maintaining documentation ## By the Numbers: Hackathon Impact ***Developer Feedback:** - 92% said MCP concepts were clearly explained - 10/10 recommendation score from winners - "Super easy to make AI agents quickly!" - Hashim M. Nadeem (1st Place) ## What We Learned ### The Good: ✅ **Rapid Prototyping Works** Teams built complex agents like YouTube Analyzer and Instagram Poster in View LinkedIn announcement - Join our Discord to continue building ** ### [How to apply to Grayhat for GSoC 2025](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/how-to-apply-to-grayhat-for-gsoc-2025) - Slug: `how-to-apply-to-grayhat-for-gsoc-2025` - Published: 2025-02-09T11:16:34.000+05:00 - Updated: 2025-05-12T01:53:16.000+05:00 - Reading time: Unknown min - Tags: None - Authors: Saad Bazaz - Visibility: public 💡**Note: We were not able to make the cut for the GSoC (Google Summer of Code) program this year. We will still, however, be conducting open-source projects for students internationally. **Apply to our internship program here: Grayhat Summer Internship - 2025 ### [Is Crypto dead? (An analysis)](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/is-crypto-dead-an-analysis) - Slug: `is-crypto-dead-an-analysis` - Published: 2024-05-16T00:58:33.000+05:00 - Updated: 2024-05-16T00:58:33.000+05:00 - Reading time: Unknown min - Tags: Innovation - Authors: Saad Bazaz - Visibility: public Yes. ### [Automatons and AI for JavaScript Junkies](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/automatons-and-ai-for-javascript-junkies) - Slug: `automatons-and-ai-for-javascript-junkies` - Published: 2023-12-11T15:28:00.000+05:00 - Updated: 2024-05-09T16:25:01.000+05:00 - Reading time: 4 min - Tags: JavaScript, LLMs, Automation, AI, Automata, Automationsolutions, Bots, Meta, WhatsApp, Artificial Intelligence, xstate - Authors: Saad Bazaz - Visibility: public *AI !== LLMsAutomatons are the forerunners to AI, but don’t underestimate them. They’re cheap, fast, predictable, and do their job perfectly. What’s the difference? Both AI and Automatons branch out from the Theory of Automata, which is a foundational concept of computing. It sees the world as consequences and actions (in their terminology, “states” and “transitions”). Automatons start off very simple; they carry out tasks in a deterministic fashion. Consider it like a branch of finite possibilities, and at each state, it decides to move to the next state or stay on the current one. AI (especially deep learning) can be seen as a complex Automatons with the ability to “learn”. TLDR; Automatons work on data, AI understands it. ## The problem At Omni, we wanted to utilize Vercel’s Serverless Architecture to deliver video and audio content to multiple platforms, WhatsApp being the first. We leaned towards Vercel’s Edge functions due to the mass scale at which they can operate, and due to the cheap cost and long function runtimes. Unlike a standard server, Serverless cannot have context. Each function invocation is independent from the other. We needed a solution to persist state between function invocations, and we needed to make it robust for our product roadmap; there are tonnes of features more to be implemented. We wanted to have a conversational flow with the user. Having an “if else” sort of situation would get messy **very quickly.** We couldn’t be restricted by bot libraries because 1) The Edge is very picky about libraries; many JavaScript libraries are not supported, 2) Making external API calls for the bot would be a costly resource, 3) We needed to actually render content, and we weren’t too sure about how that would play out in a restricted environment. ## Stumbling upon states Luckily, I’d taken a course on Formal Methods back in uni. We’d made states in two boomer Eclipse tools called SPIN and UPPAAL. I knew we needed something similar. We needed something which could “pause” and “resume” work from any point, and knew exactly what to do. But there was no way I was going back to Eclipse. Then we discovered XState.js. State management is a challenge on the web, giving rise to Redux, Zustand, and many more state management libs. XState solves that using academic principles of state management. It’s also got a snazzy web editor, reminiscent of my Eclipse days, but at least with good UI. *PS: If a professor is reading this, please utilize new libraries like these in your classrooms, instead of dinosaur-age software which was prime in your days. This stuff is more relevant to students and can help them solve actual problems.* ### Building We used the online editor to build the states, with the help of our research partner Haroon Ali. The online editor gave us the equivalent JS code, and we loaded the now-deprecated XState 4. Worked well in Edge. Here’s our original diagram: Xstate Machine original diagram * However, it turns out that academic theory is a bit different from practical; we ended up having to add reusable guards on JavaScript to keep our code sane. Now that it was a reusable and clean machine, we created a Factory Function that would generate a flavored machine for every platform; WhatsApp, Telegram, and WeChat. Our highest priority is maintenance and ease of adding new features. Since we’re only two developers, it would mean the death of our product if it took too long to adapt to new features. ## Cons ### Predictable death XState has no predictable way of knowing when its transitions have stopped. That was bad for us, because as soon as we returned a response to the user, our serverless function was killed. To tackle that, we polled the machine every few seconds to see if there was still any activity. // Additional "hack" to wait for the state to settle do { const space = '\\u200B' // Zero Width Space const queue = encoder.encode(space) // Send an empty streaming response to keep the serverless function alive controller.enqueue(queue) // Wait 12 seconds. That's quite enough for Omni renders. await new Promise((resolve) => setTimeout(resolve, 12000)) } while (Object.entries(interpreter.state.activities).some((v) => v[1])) console.log('[machine] Ending interpreter...') // Complete the streaming response here controller.close() ### Always We use the “always” keyword in XState to auto-transition to states. However, there’s no way to repeat an “entry” action when the state loops on itself. So our bots are quiet when they’re stuck at a state. ### Cache states This is more of a Vercel Edge problem than an Xstate problem, but if there was a more performant (and, as always, cheap!) way of retrieving userstate, we would shift to that. We’ve checked out Vercel KV, but that seems a bit overkill for now. Are you a developer? Have you really read all this through? Bruh. If yes, we’d love to hear your solutions! We're building AI-powered dubbing tools at scale and at precision, at Omni. If you're interested in our API, or interested in joining our team, hit us up. **Author: **Saad Bazaz **Special mentions:** Muhammad Hashim for kickass botting Haroon Ali for RnDing at his best. UrduX for their constant support and research work. ### [Sign in with Adobe in a Next.js App](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/sign-in-with-adobe-in-a-next-js-app) - Slug: `sign-in-with-adobe-in-a-next-js-app` - Published: 2023-10-20T13:07:00.000+05:00 - Updated: 2024-08-31T13:42:30.000+05:00 - Reading time: 3 min - Tags: JavaScript, Development, Next.js, NextAuth - Authors: Saad Bazaz - Visibility: members **You can see the relevant Pull Request, and all the provider's code mentioned in this article, on GitHub: https://github.com/nextauthjs/next-auth/pull/8890Whether you're a seasoned Auth geek, or a newbie, NextAuth (soon, Authjs.dev) is the auth lib to use. That's why we chose it for Omni, since we needed a stable Auth solution so we could focus on experience. Adobe is a popular platform for creatives, and is widely used (obviously) internally at Adobe. From Behance, to Creative Cloud, and to Adobe Stock and many more, it's sort of the defacto for professional creatives. I believe it's a staple for products building in the art, media and design space, and sits right next to Google and ArtStation, and that made it a low-hanging fruit as an authentication feature for Omni's tools. This article has been made after painful hours understanding Adobe's OAuth 2.0 documentation. But there's one thing I'm grateful for; **standards** in the boring stuff. OAuth 2.0 has really made life much easier than before. The wild days of crappy Auth setups are long gone, and almost all major providers follow the standard to quite an extent, making integrations a breeze. At least for the libraries and builders who understand the standard. ## How to implement Adobe OAuth 2.0 Authentication ### 1. Create an account on Adobe's Developer Console Pretty straightforward. Use your team's account to create a Developer account on Adobe. You should be able to see a console here: https://developer.adobe.com/console/home *An important question: *What information do you want from Adobe? This is something that differs for each app. In our case, we just needed the bare minimum, so we went with Adobe Stock. You can see all the available scopes in OAuth 2.0 here. ### 2. Create a project On the Adobe Developer Console, create a new project for the app you're working on. ### 3. Add an API In the project you just created, you need to add an API. We chose Adobe Stock here, as mentioned earlier, because it gave us what we needed at the bare minimum. Make sure to choose an API with the **OAuth Web App **option. That's the one which'll work with Next.js. Read more on all the types here. ### 4. Configure the Credential **Default redirect URI: **This is the domain where you're hosting your app. Use https. **Redirect URI pattern: **This is a regex. This is the one I use: https://({{YOUR-PROJECT-NAME-ON-VERCEL}}-.*-{{YOUR-TEAM-NAME-ON-VERCEL}}\.vercel\.app|localhost)(.*)/api/auth/callback/adobe### 5. Install NextAuth Read more on that here. Set it up as per your requirements. ### 6. Add the Adobe Provider If, by the time you're reading this article, our PR is not part of the main source code, you'll have to add a custom OAuth Provider. No worries, here's the code for that: ### [Design to Scale](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/design-to-scale) - Slug: `design-to-scale` - Published: 2023-08-23T16:37:00.000+05:00 - Updated: 2024-08-17T13:22:00.000+05:00 - Reading time: 3 min - Tags: Design, UI, UX, Product Design, System Design - Authors: Saad Bazaz - Visibility: public Picture yourself driving down a road and making a left turn at the end, only to be confronted by a roadblock due to ongoing construction. Swiftly, you reverse your vehicle, alter your path, and embark on a detour to ultimately reach your intended destination. Now, expand this scenario on a larger scale. Imagine a crowd of *ten thousand* other individuals navigating the same road, and among them, *one thousand* encounter the obstructed route. Like you, they also backtrack, change directions, and adopt an alternative route. Another possible scenario: Someone else witnessing both your car and the one ahead of you taking an unplanned detour promptly deduces that something is off. They might assess the situation from a distance and perceive it as an anomaly and follow your lead without seeing what's wrong for themselves. **Paulo Coelho says, “The problem is, sometimes you stop and think you understand the world. This is not correct. The world is always moving.”At an individual level, making mistakes is a natural part of life's journey. But when these mistakes are magnified on a grand scale, they can become a costly hiccup. Mistakes can inspire systems, but can also mold them like a shell around themselves. Nature has a keen tolerance to mistakes - it embraces them as part of its change mechanics. A zebra has an instinct to save its life from a threat like a lion, but that instinct is actually the absence of the love of death, which… died. Countless zebras with a will to die had to die, before the ones which didn’t could become the majority. Designing and scaling systems with a "natural" mindset, often referred to as biomimicry or biologically inspired design, involves drawing inspiration from the efficiency, adaptability, and sustainability found in natural systems. By integrating these principles into human-made systems, it's possible to create solutions that are better aligned with the natural world and more conducive to scalability. What is natural, though? Is it something which has been iterated over countless times? Can, one day, our robotic and cold systems be called “natural”? If I simulate a system through a genetic algorithm, test every possible edge-case of it, and let it figure out the best way to do something… can I now call that system “natural”? Perhaps the building of systems, whether inspired by the nature around them or not, is inherently “natural” to a human being. Systems don’t also have to be invented or thought from scratch. They can build upon existing systems, or be a subset of them. You can build a system by connecting a few other systems with one another. Almost every ecosystem on earth is symbiotic in nature; the output of one, becomes the input to another, and vice versa. Shouldn’t our systems be strict, and built to prevent mistakes? I think otherwise. Keeping things stupidly simple, and building a robust framework of iterative improvement, while keeping a large vision in mind, may still be the best approach to building systems. The objective is always to maintain a balance, while moving progress - a key point of nature’s systems is sustainability. Of course, yes, there could be a “catastrophic event” which changes the course of the system, but good systems will always find a way forward, or, die out and leave a vacuum for better ones. "Nature has already solved many of the problems we are grappling with. Animals, plants, and microbes are the consummate engineers. They have found what works, what is appropriate, and most important, what lasts here on Earth." — Janine Benyus In the business world, this “balance” usually translates to burn rates, cost-profit charts, etcetera. As humans and their technology evolves, these iteration cycles may become shorter, but they will always exist. Perhaps one day, we humans could escape the labor which goes into these cycles and become strategic thinkers and visionaries. This evolution would augment (not replace!) human capabilities, and would force us to redesign and rethink some of our inefficient and “unnatural” human systems which have crept into our world. The first question I ask at Grayhat when designing systems is “How would this system exist if there was no technology in the world?”. In most cases, when software translates to the real world, there is almost always a way to achieve the objective without even touching a screen. Playing around real-world perceptions and experiences is a key stepping stone in the road to invention - only once you’ve understood how humans perceive the existing world, can you bring them out of their everyday lives and blow their minds. In the words of Albert Szent-Gyorgy: **"Innovation is seeing what everybody has seen and thinking what nobody has thought."**Author: **Saad Bazaz **Editor: **Aniqa Sadaf ### [We built a multiplayer, web-based Mario-like game with PlayroomKit... in 7 days!](https://grayhat-company-blog.grayhatstudio.workers.dev/blog/we-built-a-multiplayer-web-based-mario-like-game-with-playroomkit-in-7-days) - Slug: `we-built-a-multiplayer-web-based-mario-like-game-with-playroomkit-in-7-days` - Published: 2023-08-09T16:51:00.000+05:00 - Updated: 2025-10-12T20:37:37.000+05:00 - Reading time: 5 min - Tags: Multiplayer Gaming, Playroom, PlayroomKit, Gaming, Innovation - Authors: Saad Bazaz, Anonymous - Visibility: public To play the game, open this link on a laptop or TV: https://cast-app.vercel.app/ *Update: *We've now proudly open-sourced this project! Repository: https://github.com/grayhatdevelopers/platformer.ai *“The best articles are the ones with clickbaity titles.” - Unknown* We’ve been grinding our gears for 2 years at Grayhat, trying to get into games. Sure, we love web development and making the best products for our clients. Sure, we’ve built things in low-level vanilla JavaScript (at that point I would’ve loved me some chocolate JS) which haunt me in my sleep every night. But that doesn’t beat the fun in games, does it? We tried everything; Unity. Unreal. ThreeJS (we even tried building a game engine in ThreeJS - more on that later). The toughest part? **Multiplayer**. Every single time. Sure, we got some good, choppy single player working. But when it came to having more people join the fun, the logic just didn’t scale. This year, we made a resolution to try something new. We brushed off the trusty ol’ game engine, Phaser3, and explored some interesting new tech for multiplayer - **PlayroomKit.** *(I mean, we’re not biased towards it. There are a lot of great solutions out there - it’s just that this is the one we helped build.)* It’s not really something new unless we give ourselves an insane challenge, is it? So here goes… A multiplayer Mario-like game in 7 days. 7. *Multiplayer.* ## Day 1 - Inception: *“We’ll have to start by building a Mario-like game.”* *“Last I heard, my job title wasn’t ‘Wheel Inventor’. Let’s try something else...”* We usually build upon the shoulders of giants, and this time was no different. We found some cool code for Mario in Phaser3 on GitHub. The code comments were in Chinese, so it took some translation with ChatGPT to understand what it meant. We studied the refreshingly-nice documentation for PlayroomKit. Given that our objective was a classic platformer game, the Phaser example gave us a good high-level overview of how the game would work. PlayroomKit's Stream Mode makes your game act like a typical game console - A separate screen plays the game, while the phone(s) are simply controllers. We found that was a nice option for our Mario game, since the classic feel of the NES is really hard to replicate on a phone’s tiny 5” screen. ## Day 2 - Masters of Puppets We ran the project, and fell into the classic dilemma. As a software engineer, it feels easier to rebuild a project from scratch because it makes the code feel more like you. That keeps you safe and comfortable. I feel like the sign of a good software engineer is their ability to play with the cards they get and make the best out of it. I think of it as *iterative rebuilding* - use the right practices *going forward*, and *refactor* things which get in your way. Sort of like a long antibiotics course. In our case, the code structure was great - but to actually have the player move whenever the controller on PlayroomKit was moved, we thought we might have to dive deep into the game logic. Fortunately for us, we had a short brainfart - We could simply **simulate keypresses **within the game. I knew for a fact that game engines had such options, to account for bot players, and for automated testing. I’d seen a similar concept being used in Google’s own blogs, where they simulated keypresses on Chrome’s Dino Game. So we created a basic Phaser KeySimulator, and hooked it up with our phone controller: // Simulate pressing a key simulateKeyPress(keyCode) { const keyObj = this.input.keyboard.addKey(keyCode) keyObj.isDown = true keyObj.timeDown = this.time.now keyObj.isUp = false keyObj.timeUp = 0 this.input.keyboard.emit('keydown') } // Simulate releasing a key simulateKeyRelease(keyCode) { const keyObj = this.input.keyboard.addKey(keyCode) keyObj.isDown = false keyObj.timeDown = 0 keyObj.isUp = true keyObj.timeUp = this.time.now this.input.keyboard.emit('keyup') } // An example of simulating the UP key for 1 second simulateKeyPress(Phaser.Input.Keyboard.KeyCodes.UP) setTimeout(() => simulateKeyRelease(Phaser.Input.Keyboard.KeyCodes.UP, 1000)That was it. No need to change controls deep down - We just puppeteered it from the top! ## Day 3 - Powering Up We whipped up a simple SNES controller using some great code from Codepen. We hooked the buttons with PlayroomKit’s state logic and started sending “inputs” from the controller to the cast screen. See the Pen SNES Controller by Tim Pietrusky (@TimPietrusky) on CodePen. So far, we’d gotten single-player to work. Game running on laptop, controller running on phone. *Some problems: 1. It was only single-player. 2. We had no way to automate testing. We had to play the game every single time to test every feature. ## Day 4 - Luigi: Our idea was to have a free-for-all of players filling the game, to test the limits of the PlayroomKit SDK. The original game’s code didn’t agree - it was built solely for a single player. ### Hardcoding: The first step to a good experiment is dummy data - you can’t tightly couple yourself in long implementations unless you know what you’re doing. In our case, it meant adding a second hardcoded player. After some blood, sweat and tears, and adding comments wherever we broke stuff, we were able to add a second, albeit quite diseased, player to the game, and make it perform actions based on a second player (also hardcoded). ## Day 5 - Multiplayer Mayhem: If it works for 2, it should work for 20. We took a dive and replaced the hardcoded second player with some more generic logic which allowed an “array” of players to exist simultaneously, each with its own logic. This took multiple breaks of the code and a lot of overtime, but the results? Worth it. *## Day 6 - Field Test: It was time to put the guinea pigs up to the test. *The chaos which ensued was exactly what we were looking for. ## Day 7 - Deployment We decided we’d had enough of juggling two repositories - one for the cast screen in Phaser3, the other for the controller in React - so we built a Turbo monorepo to make things easier to deploy, manage and test. Installation was pretty straightforward - until we got the genius idea to standardise Node versions across the two projects. There went our day. Vercel’s got great support for Turborepo, so deployment was a breeze. ## A noob's overview Making games multiplayer has always been a hassle, and it's a huge barrier-to-entry for emerging game devs and studios. For Grayhat, PlayroomKit was the key for a rag-tag group of web developers to explore game dev at warp speeds - no need to worry about infra anymore, we could now focus on making games look appealing and engaging. That's the whole point. Apps can survive bad UI/UX to a certain extent. Games can't. If your game isn't fun, no one is going to even consider it twice. But that kind of craft takes time, and when you're spending hours figuring out why your networking code is sending corrupt data, you're either gonna spend big bucks, or a lot of hours. We have neither. Sure, PlayroomKit has its pitfalls - there's a huge roadmap ahead with tonnes of work to be done. But I understand that it's early stage tech and there's a lot of potential in it. The Playroom team already has a huge list of amazing features, like built-in lobbies and joysticks, and we love being part of the journey. I'd put it as simply as: **It's the Firebase of game development.## Parting words 🚀 Have you tried game dev? What are the challenges you've faced? Would you like to read more about stuff like this? DROP A COMMENT! *Disclaimer:* We do not own the rights over any characters or any resemblance of the characters depicted in the game. This experiment was purely for fun and to learn, and we do not have any commercial benefit from it.