{"data":[{"_id":"6a23f94ce4d4921fb7e367e3","slug":"nights-plus-ab-testing-0ebdfb97","title":"Nights Plus A/B Testing","description":"","imageKeys":["projects/images/c41d70c2-47e5-4a71-bee2-fc087cebf953-nights-plus-ab-testing.png"],"videoKeys":[],"documentKeys":[],"links":[{"url":"https://paintnite.com","details":"Live Website URL"}],"startDate":null,"endDate":null,"status":"active","techStack":[],"role":"Lead Full Stack Engineer","createdAt":"2026-06-06T10:41:16.075Z","updatedAt":"2026-06-06T10:41:16.075Z","assetUrls":{"images":["https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/c41d70c2-47e5-4a71-bee2-fc087cebf953-nights-plus-ab-testing.png"],"videos":[],"documents":[]}},{"_id":"6a00307f506f8979cfc7af78","slug":"a-b2b-platform-that-helps-companies-track-audience-signals-across-multiple-data-sources-categorizing-industries-monitoring-signal-volume-and-triggering-alerts-based-on-momentum-444cc8d2","title":"TamTracker","description":"A B2B platform that helps companies track audience signals across multiple data sources — categorizing industries, monitoring signal volume, and triggering alerts based on momentum.\n\n## My Role\n\nI was part of a team of three engineers, contributing to a live production codebase — fixing issues and building the industry alerts feature with its dashboard from scratch.\n\n## Features\n\n- **Subscription Plan Management:** Implemented updates and changes to subscription plans, supporting multiple pricing tiers.\n- **Industry Dashboard:** Built a dashboard categorizing companies across 25 industries to analyze signal distribution.\n- **Industry-Based Alerts:** Developed daily and weekly alerting driven by signal volume and momentum across industries.\n- **Database Migrations:** Assisted with schema design and safe migrations for live users.\n","imageKeys":["projects/images/9ee61267-44f8-45a7-b75a-0363ad569b32-tamtracker-alerts.png","projects/images/ea88d17d-9458-4606-8781-ab539afc2110-tamtracker-calculator.png","projects/images/ea425a59-6ccd-4065-9427-5359f9bbe455-tamtracker-mockup.png"],"videoKeys":[],"documentKeys":[],"links":[{"url":"https://tamtracker.io"},{"url":"https://agency.tamtracker.io"}],"startDate":"1970-01-01T00:00:00.000Z","endDate":"1970-01-01T00:00:00.000Z","status":"completed","techStack":[],"role":"Full stack developer","createdAt":"2026-05-10T07:15:11.129Z","updatedAt":"2026-05-10T07:19:52.064Z","assetUrls":{"images":["https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/9ee61267-44f8-45a7-b75a-0363ad569b32-tamtracker-alerts.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/ea88d17d-9458-4606-8781-ab539afc2110-tamtracker-calculator.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/ea425a59-6ccd-4065-9427-5359f9bbe455-tamtracker-mockup.png"],"videos":[],"documents":[]}},{"_id":"6a00316d506f8979cfc7af79","slug":"ti-ai-c1673e02","title":"TI AI","description":"Developed the backend for an AI-driven mobile application that helps founders validate and refine business ideas through structured conversations.\n\nFeatures\nBuilt the complete backend using Node.js and Express with AWS-managed infrastructure.\n\nDesigned an AI-led conversational flow where users evaluate business ideas across structured stages (vision, overview, execution, etc.).\n\nImplemented brainstorming and final evaluation phases generating actionable insights and reports.\n\nIntegrated AI workflows using the OpenAI API with tool calls for guided questioning and structured responses.\n\nModeled scalable data storage using DynamoDB.\n\nFocused exclusively on backend architecture and AI logic for a mobile-first product.\n\nTech stack: Node.js, Express.js, DynamoDB\n\nAI: OpenAI Chat Completions & Responses APIs\n\nInfrastructure: AWS (EBS, managed services)","imageKeys":["projects/images/afc3cc55-1a53-4af9-8cba-40c146440b77-ti-ai-game-chat.png","projects/images/b4341c6d-5972-4e7d-ac89-032228188846-ti-ai-game-tic.png","projects/images/84499f0f-baa4-4b6c-9368-ea6473df86cc-ti-ai-mockup.png"],"videoKeys":[],"documentKeys":[],"links":[],"startDate":null,"endDate":null,"status":"completed","techStack":[],"createdAt":"2026-05-10T07:19:09.351Z","updatedAt":"2026-05-10T07:19:09.351Z","assetUrls":{"images":["https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/afc3cc55-1a53-4af9-8cba-40c146440b77-ti-ai-game-chat.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/b4341c6d-5972-4e7d-ac89-032228188846-ti-ai-game-tic.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/84499f0f-baa4-4b6c-9368-ea6473df86cc-ti-ai-mockup.png"],"videos":[],"documents":[]}},{"_id":"69f5cf435e35f3f475556ea5","slug":"search-infrastructure-rd-zero-downtime-reindex-a6e50dd0","title":"Search Infrastructure R&D — Zero-Downtime Reindex","description":"A production SaaS platform was going offline on every Elasticsearch schema change due to a broken reindex implementation — no alias management, no rollback path, and manual AWS console steps that brought down search for the full duration. The initial assumption was that the search engine itself needed replacing.\nEvaluated four alternatives (Algolia, Typesense, AWS OpenSearch Serverless, Elastic Cloud Serverless) across pricing, geo search, typo tolerance, alias-swap support, auto-scaling, and operational overhead. All four were dropped — Algolia for unpredictable cost at scale, the serverless options for unjustified floor pricing, and Typesense for adding new infrastructure without sufficient reason. The diagnosis was that the existing AWS OpenSearch managed clusters were fully capable; the problem was purely in the reindex implementation.\nBuilt a zero-downtime reindex pipeline inside a dedicated NestJS microservice. On every deployment, the service compares the index mapping defined in code against the live index and automatically triggers a background reindex if drift is detected. New index versions are built in the background using the alias-swap pattern while the old index stays live, then swapped atomically on completion. All reindex state is persisted in MySQL with cursor-based resumption — if the service crashes mid-job at any phase, it recovers and continues from the exact point it stopped. A separate Prisma connection pool is used for batch queries so reindex jobs cannot starve the live query path. Reindexes are also triggered on a 3-hour schedule via AWS EventBridge and Lambda, with idempotent endpoints and concurrent job guards.\nDomain services publish data change events via RabbitMQ; the search service consumes and upserts documents. GraphQL queries are routed to the search service via RabbitMQ RPC. Zero database hits on the read path — all data is denormalized into the search document at index time.","imageKeys":["projects/images/6f5f18ea-ba25-4fb9-b80b-98b66207ffff-elastic-search-price-comparison.png","projects/images/54d6cbe8-f3f5-4085-9f49-85cb2d193240-elastic-search-r_d.jpeg"],"videoKeys":[],"documentKeys":[],"links":[{"url":"https://www.linkedin.com/posts/ikramdeveloper_systemdesign-scalablearchitecture-softwareengineering-ugcPost-7453663673228648448-YATS?utm_source=share&utm_medium=member_desktop&rcm=ACoAAC5a5mMBzqaexqZIVd13Mi3re07wVcHfYIM","details":"Linkedin Post"}],"startDate":"1970-01-01T00:00:00.000Z","endDate":"1970-01-01T00:00:00.000Z","status":"completed","techStack":["NestJS","AWS OpenSearch","RabbitMQ","Prisma","MySQL","AWS EventBridge","AWS Lambda","AWS App Runner","GraphQL","TypeScript"],"role":"Full Stack Developer (R&D & POC)","highlights":"Zero additional infrastructure cost — no migration, no new tooling, no vendor lock-in. Drift detection runs automatically on every deployment, making schema changes fully hands-off going forward. Cursor-based resume and phase-aware crash recovery ensure the pipeline completes even after mid-run failures with no manual intervention. Isolated DB connection pool prevents reindex batch queries from degrading live traffic. The reindex that previously required manual AWS console steps and brought production offline now runs entirely in the background.","createdAt":"2026-05-02T10:17:39.753Z","updatedAt":"2026-05-03T07:37:40.200Z","assetUrls":{"images":["https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/6f5f18ea-ba25-4fb9-b80b-98b66207ffff-elastic-search-price-comparison.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/54d6cbe8-f3f5-4085-9f49-85cb2d193240-elastic-search-r_d.jpeg"],"videos":[],"documents":[]}},{"_id":"69f5d1815e35f3f475556ea6","slug":"intelliflow-ai-powered-learning-management-mvp-b7fce738","title":"Intelliflow — AI-Powered Learning Management MVP","description":"A multi-role learning management system built as a rapid MVP in 2–3 days, covering four distinct user roles: admin, parent, teacher, and student.\nAdmins access a dashboard with overall platform performance data across students and teachers. Parents can monitor their children's academic performance. Teachers have the most feature-rich experience: they can upload PDF lesson files which are processed via OpenAI APIs to extract and structure lesson content automatically, generate quizzes from lesson material using OpenAI, then launch or schedule those quizzes, edit individual questions and answers, and assign quizzes to specific students. Teachers can also view submitted quiz results per student. Students log in to see their assigned quizzes and complete any pending ones.\nBuilt entirely with Next.js using API routes within the same application (no separate backend), MongoDB for persistence, OpenAI APIs for lesson extraction and quiz generation, and deployed on Vercel.","imageKeys":["projects/images/20c54bd5-1b61-44db-b697-6173178c4195-intelliflow-core-teacher-analytics.png","projects/images/1a759b7b-144e-40f9-b66b-b6881f5b6f15-intelliflow-core-teacher-dashboard.png","projects/images/75a778d3-6409-474c-903b-0f87bc721012-intelliflow-core-teacher-lesson-detail.png","projects/images/f52fe997-6c1a-412e-952a-af47cb796de1-intelliflow-core-parent-dashboard.png"],"videoKeys":[],"documentKeys":[],"links":[{"url":"https://youtube.com/shorts/5GIjNPZrWmc?feature=share","details":"Youtube short video demonstrating using claude code to build this MVP at fast pace"},{"url":"https://edtech-phii.vercel.app/","details":"Demo Website"}],"startDate":null,"endDate":null,"status":"completed","techStack":["Next.js","TypeScript","MongoDB","OpenAI API","TailwindCSS","Shadcn","Vercel"],"role":"Full Stack Developer","highlights":"Delivered a fully functional four-role LMS with AI-powered content and quiz generation in under 3 days. PDF-to-lesson pipeline uses OpenAI to extract and structure educational content automatically, removing manual data entry for teachers. Quiz generation is triggered directly from lesson content, keeping the teacher workflow in a single flow. Monolithic Next.js architecture (API routes + frontend in one codebase) was the right call for MVP speed without sacrificing deployability.","createdAt":"2026-05-02T10:27:13.396Z","updatedAt":"2026-05-02T10:27:13.396Z","assetUrls":{"images":["https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/20c54bd5-1b61-44db-b697-6173178c4195-intelliflow-core-teacher-analytics.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/1a759b7b-144e-40f9-b66b-b6881f5b6f15-intelliflow-core-teacher-dashboard.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/75a778d3-6409-474c-903b-0f87bc721012-intelliflow-core-teacher-lesson-detail.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/f52fe997-6c1a-412e-952a-af47cb796de1-intelliflow-core-parent-dashboard.png"],"videos":[],"documents":[]}},{"_id":"69f5c7f15e35f3f475556ea3","slug":"vonza-live-streaming-feature-574bebbe","title":"Vonza — Live Streaming Feature","description":"Built the complete live streaming module for Vonza, a SaaS platform for creators and educators. The feature supports three stream types (scheduled, instant, and personal rooms), shareable room links with optional password protection, an email-based invite system with role-scoped access, and automatic session recording triggered via webhooks. Also implemented a manual in-session recording toggle for admins and a guest join flow with multi-mode access validation.\nThe frontend is built on a Turborepo monorepo using Next.js, Zustand, Shadcn/Tailwind, and Apollo Client. The backend follows a NestJS microservices architecture with RabbitMQ for inter-service messaging, MongoDB for persistence, and 100ms for the real-time video/audio layer. Deployed on AWS Amplify (frontend) and AWS App Runner (backend).","imageKeys":["projects/images/a8813ff5-ce63-4543-910c-f7989f1569af-vonza-streaming-admin.png","projects/images/11b5d7d8-fea0-4758-b86e-011af2a94845-vonza-streaming-create-stream.png","projects/images/415e6017-1cd7-41c8-a208-2e8c2d147608-vonza-streaming-stream-screen.png"],"videoKeys":[],"documentKeys":[],"links":[{"url":"https://vonza.com","details":"Live Website"},{"url":"https://youtube.com/shorts/HAl4oGWxpjU?feature=share","details":"Youtube short video demonstration"}],"startDate":"2025-12-20T00:00:00.000Z","endDate":"2026-02-28T00:00:00.000Z","status":"completed","techStack":["Next.js","NestJS","TypeScript","GraphQL","MongoDB","RabbitMQ","100ms SDK","Zustand","Apollo Client","TailwindCSS","Shadcn","AWS Amplify","AWS App Runner"],"role":"Lead Full Stack Developer","highlights":"Integrated 100ms SDK for production-grade real-time streaming with minimal latency. Designed a unified access control model supporting three distinct entry flows (public link, password-protected link, email invite) without creating separate room types. Automated recording via a webhook-driven flow requiring zero manual admin intervention. Kept streaming logic isolated in its own microservice so recording failures never affect the live session.","createdAt":"2026-05-02T09:46:25.258Z","updatedAt":"2026-05-02T10:00:31.015Z","assetUrls":{"images":["https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/a8813ff5-ce63-4543-910c-f7989f1569af-vonza-streaming-admin.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/11b5d7d8-fea0-4758-b86e-011af2a94845-vonza-streaming-create-stream.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/415e6017-1cd7-41c8-a208-2e8c2d147608-vonza-streaming-stream-screen.png"],"videos":[],"documents":[]}},{"_id":"69f5cb155e35f3f475556ea4","slug":"vonza-affiliate-management-system-71e12535","title":"Vonza — Affiliate Management System","description":"Built a full affiliate management module inside the Vonza SaaS platform, covering both the admin and affiliate sides end-to-end. Admins can onboard any user as an affiliate directly from the panel, assign specific products each affiliate is allowed to promote, and monitor a real-time stats dashboard showing revenue, commissions, and refunds broken down per affiliate. On the affiliate side, users log in to a clean self-serve interface where they can view only their assigned products, generate and copy unique referral links per product, and track their own performance metrics.\nThe architecture follows the same Vonza stack: a Next.js frontend on a Turborepo monorepo, NestJS microservices with RabbitMQ for inter-service messaging, MongoDB for persistence, and a GraphQL API. Deployed on AWS Amplify (frontend) and AWS App Runner (backend).","imageKeys":["projects/images/e446a7c8-ab66-444a-b044-7a2e4abdcc92-vonza-affiliate-admin.png","projects/images/07bcc91f-898e-472e-b385-c7812c4c6d6d-vonza-affiliate-detail.png"],"videoKeys":[],"documentKeys":[],"links":[{"url":"https://vonza.com","details":"Live Website"},{"url":"https://youtube.com/shorts/HAl4oGWxpjU","details":"Youtube video link about solving Amplify 500 error due to versions mismatch"}],"startDate":"2026-02-01T00:00:00.000Z","endDate":"2026-03-15T00:00:00.000Z","status":"completed","techStack":["Next.js","NestJS","TypeScript","GraphQL","MongoDB","RabbitMQ","Zustand","Apollo Client","TailwindCSS","Shadcn","AWS Amplify","AWS App Runner"],"role":"Lead Full Stack Developer","highlights":"Referral link system is product-scoped — each link carries affiliate ID and product context for accurate attribution at the point of conversion. Permissions model ensures affiliates only see and can promote products explicitly assigned to them by an admin, with no risk of cross-promotion. Stats aggregation pipeline handles revenue, commission calculations, and refund deductions in a single query layer, keeping dashboard loads fast. Microservices boundary keeps affiliate tracking fully isolated from core product and billing services, so affiliate logic changes never risk disrupting transactions.","createdAt":"2026-05-02T09:59:49.604Z","updatedAt":"2026-05-02T09:59:49.604Z","assetUrls":{"images":["https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/e446a7c8-ab66-444a-b044-7a2e4abdcc92-vonza-affiliate-admin.png","https://projects-panel.s3.us-east-1.amazonaws.com/projects/images/07bcc91f-898e-472e-b385-c7812c4c6d6d-vonza-affiliate-detail.png"],"videos":[],"documents":[]}}],"meta":{"total":7,"page":1,"limit":50,"pages":1}}