Research. Build. Launch.

A mini accelerator that investigates topics vital to the Muslim cause — then turns that research into real projects and initiatives.

Who are we

We are a mini accelerator ran out of Ihsan Initiatives. Our purpose is to design, launch, and relentlessly grow what we call smart projects: initiatives grounded in research on topics we deem vital to the Muslim cause.

Every project starts with a question worth investigating. We do the research, build a thesis, and then ship something real — a product, a community program, an educational series, a creative initiative, or a tool that our community can use and grow.

Traditional think tanks publish papers that sit on shelves. We publish research that becomes projects. The Ihsan Initiatives community gives us something most research hubs don't have: a built-in launchpad with over 1,000 members ready to participate, test, and scale what we build.


Projects

Kacie Ahmed

The Western Muslim Struggle

by Kacie Ahmed

A book centering the current western Muslim struggle. First half due by end of month.

Najab

AI & Islamic Knowledge

by Najab

How is AI reshaping how Muslims access, interpret, and trust Islamic knowledge? A research study using Salaam Spaces as a sample group, with plans to engage scholars and imams — culminating in an AI literacy workshop series for Muslims.

F

30 Verses

by Faraz

1 poem a day for 30 days — a poetry sprint culminating in a published compilation. Exploring Muslim identity, imagination, and the future through verse.

F

Open Pitch

by Fahim

A computer vision-powered soccer analytics platform — no wearables required. Using object detection to generate match stats for teams that can't afford expensive tracking tech.

N

Modern Matrimonials

by Nimla

Redesigning Muslim matrimonial services from the ground up — building a more efficient, monetizable system that actually works for the community.

O

What Makes Marriages Last

by Omer

A cross-sectional study analysing the factors correlated with divorce and successful marriages.

00 Days : 00 Hours : 00 Minutes : 00 Seconds

Research

The research phase lasts 1 week. After the window closes, no further uploads will be accepted.

Phase Two — Build the Demo

Grind

Research is the thesis. Grind is the demo. This is a guided walkthrough for complete beginners. You don't need to know how to code — you just need to describe what you want to build. The AI writes the code. We'll walk you through every command.

There are no textbooks, no lectures, no homework. You'll tell the AI what to build, it'll build it, and by the end of this phase you'll have a real app live on the internet.

Choose your OS

We're going to install everything step by step. Each command is copy-paste — you don't need to memorize anything. Just follow along. The whole thing takes about 5 minutes.

Step 1

Open your terminal

The terminal is where you'll type all the commands.

  1. Press + space to open Spotlight Search
  2. Type Terminal
  3. Press enter
Tip

You're going to use Terminal a lot. Right-click the Terminal icon in your dock and select Options → Keep in Dock. Now it'll always be there when you need it.

We'll use PowerShell — it's already installed.

  1. Press Win + X
  2. Click Terminal (Admin) or Windows PowerShell (Admin)
  3. When asked "Do you want to allow this app to make changes?" click Yes
Tip

Pin it to your taskbar so you can find it later. Right-click the Terminal icon on the taskbar and select Pin to taskbar.

  1. Press Ctrl + Alt + T
  2. If that doesn't open a terminal, find Terminal in your app launcher and click it
Tip

Most Linux distros come with a terminal pre-installed (GNOME Terminal, Konsole, xterm). Any of them will work.

Step 2

Install Node.js

Node.js is the engine that lets JavaScript run on your computer. You need it to install and run your AI coding tools. Don't worry about what it does — just install it.

First, install Homebrew (think of it like an app store for developer tools). Paste this into your terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Heads up

It might ask for your password (the one you use to log into your Mac). When you type it, you won't see any characters on screen — that's normal, it's a security thing. Just type it and press enter.

Once Homebrew is done, install Node.js:

brew install node

To check that it worked:

node --version

You should see a version number like v22.x.x. If you do, you're good.

The easiest way on Windows is with winget — it's a package manager that comes built into Windows 10 and 11. Paste this into your terminal:

winget install OpenJS.NodeJS.LTS
Heads up

Windows might prompt you to accept license agreements — just press Y and enter to continue.

After it finishes, close your terminal and open a new one so it picks up the new install. Then check:

node --version

You should see a version number like v22.x.x. If you do, you're good.

winget not working?

No worries — download the installer directly from nodejs.org. Click the big green "LTS" button and run the .msi file. Click through the installer with default settings.

We'll install Node.js using nvm (Node Version Manager) — it's the cleanest way and doesn't need sudo for installs later. Paste this:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Close your terminal and open a new one so it picks up nvm. Then install Node:

nvm install --lts
nvm use --lts

Check it worked:

node --version

You should see a version number like v22.x.x.

Prefer apt?

On Ubuntu/Debian you can do sudo apt update && sudo apt install nodejs npm, but the version might be outdated. nvm is recommended.

Step 3

Install Git

Git is a tool developers use to save and track code. Some of the AI tools need it. Let's make sure you have it.

git --version

If you see a version number, you're good — skip to the next step. If you get an error, install it:

brew install git
winget install Git.Git

Close and reopen your terminal, then verify:

git --version

On Ubuntu/Debian:

sudo apt install git

On Fedora/RHEL:

sudo dnf install git

On Arch:

sudo pacman -S git
Step 4

Install your AI coding tool

We recommend OpenAI Codex — a terminal tool made by OpenAI. It's like having a coding partner that you talk to by typing. You tell it what to build, it writes the code; you tell it what to change, it fixes it.

Why Codex?

Codex comes with free tokens when you sign up, so you can build your first demo without paying anything. Claude Code works great too, but requires a paid plan.

1. Get an account. Head to chatgpt.com/codex and sign in with your ChatGPT account (or create one — it's free).

2. Install it:

npm install -g @openai/codex

This downloads and installs Codex on your computer. Might take a minute.

Step 5

Create your project and launch the AI

Almost there. Let's make a folder for your project and fire up your AI tool. We'll put it on your Desktop so it's easy to find:

cd ~/Desktop
mkdir my-first-app
cd my-first-app

mkdir creates a new folder. cd moves you into it. You should see a folder called my-first-app appear on your Desktop.

Now launch your AI:

codex

It'll ask you to log in the first time — follow the prompts. Once you see a prompt waiting for your input, you're in.

You're all set.
  • ✓ Node.js installed on your computer
  • ✓ Git ready to go
  • ✓ Codex installed and running
  • ✓ A project folder ready for your first app

Time to build something. Follow these steps — by the end you'll have a working app on your screen.

Step 1

Open your AI tool

Open your terminal. If you followed the setup steps, you should already be inside your my-first-app folder. If not:

cd ~/Desktop/my-first-app
codex

You should see a prompt waiting for you to type something. That means it's ready.

Step 2

Pick an idea

Don't overthink this. Just pick something small and fun. You can always build something bigger later. Here are some ideas — pick one or come up with your own:

  • "Build me a personal website with my name, a bio, and links to my socials"
  • "Build me a countdown timer app for my next birthday"
  • "Build me a simple to-do list app"
  • "Build me a quiz app about [topic you love]"
Step 3

Type your prompt

Describe what you want like you're texting a friend who happens to be a really good programmer. Be as specific as you can — the more detail you give, the better the result.

Example
> Build me a personal website with my name, a short bio,
  and links to my Twitter, GitHub, and Instagram.
  Make it dark themed with a clean minimal design.

● thinking...

Press enter and watch it go. The AI will start creating files and writing code — you'll see it happening in real time. Just let it cook. It usually takes 30 seconds to a couple minutes depending on what you asked for.

Step 4

See your app

The AI just built your app. Now you need to actually see it. Your app lives on your computer — to view it, you need to run it and open it in your browser.

Tell the AI to run it:

run the app so I can see it in my browser

The AI will start a local server and give you a link like:

Local:   http://localhost:3000
What's localhost?

Normally when you visit a website, you type something like google.com. But your app isn't on the internet yet — it's running on your computer. Localhost is just a special address that means "the website running on my own machine right now." The :3000 part is like a door number. The AI will tell you which door it picked.

Open it in your browser: Copy that URL from your terminal, paste it into your browser, hit enter. You should see your app. You can also Cmd-click the link directly in your terminal to open it automatically.

If your app is just an HTML file (no server needed), you don't even need localhost — just double-click the index.html file in your project folder and it'll open in your browser.

Seeing a blank page or an error? Totally normal. Just tell the AI what you see: "I see a blank white page" or "I'm getting an error that says [paste the error]." It'll fix it.

Step 5

Make changes

Don't like something? Just tell the AI. You're the creative director. Some examples:

  • "Make the background darker"
  • "Add more spacing between sections"
  • "This button doesn't work, can you fix it?"
  • "Change the font to something more modern"
  • "Add a section for my favorite projects"
  • "Make it look better on mobile"

After each change, refresh your browser to see the update. Keep going until you love it.

The whole loop
  1. Type what you want
  2. AI builds it
  3. Check it in your browser
  4. Tell it what to change
  5. Repeat until you love it
If something isn't working

Copy the entire error message and paste it straight into the AI. Don't try to summarize it — the full error gives the AI the context it needs to fix it. It might take a couple of tries, but it'll usually figure it out.

You built something. Now let's put it on the internet so anyone with the link can see it. We'll use GitHub — the same place developers use to store and share code. It's free, and it can host your website too. The AI will do most of the heavy lifting.

Step 1

Create a GitHub account

GitHub is where developers store their code online. Think of it like Google Drive, but for code. Go to github.com/signup and create a free account with your email.

Step 2

Get a Personal Access Token

A personal access token is like a special password that lets your terminal talk to GitHub. You only need to do this once. Go to github.com/settings/tokens/new.

Heads up

If GitHub asks you to choose between Fine-grained and Classic, pick classic.

Fill in the fields:

  1. Note — type my-first-app
  2. Expiration — pick 90 days
  3. repo — check that one checkbox (first in the list). Ignore everything else.

Scroll down and click the green Generate token button. You'll see your token — it starts with ghp_. This is the only time you'll ever see it. Copy it right now and paste it somewhere safe (a notes app, a text file, whatever). You won't be able to see it again after you leave this page.

Step 3

Push your code to GitHub

Create a repo: Go to github.com/new.

  1. Repository name: my-first-app
  2. Make sure Public is selected
  3. Check Add a README file
  4. Click the green Create repository button

GitHub Pages (the free hosting we'll use later) only works with public repos on the free plan. Copy the repo URL — it'll look like https://github.com/yourusername/my-first-app.git.

Push your code — tell the AI:

push my code to https://github.com/yourusername/my-first-app.git

When it asks you to authenticate with GitHub:

  • Username — your GitHub username
  • Password — paste your personal access token (not your GitHub password)

When it's done, refresh your repo page on GitHub. You should see all your files there.

Step 4

Turn on GitHub Pages

Your code is on GitHub, but it's not a website yet. GitHub Pages is a free feature that turns your repo into a live website. Works great for simple HTML/CSS/JS apps.

  1. Open your repo on GitHub
  2. Click Settings (the tab near the top)
  3. In the left sidebar, click Pages
  4. Under Source, select Deploy from a branch, pick main, then / (root), then click Save

After a minute or two, refresh the page. You'll see a banner with your live URL.

GitHub Pages not working? Use Vercel instead.

GitHub Pages only works for static sites (plain HTML/CSS/JS). If your AI built your app using React, Next.js, or Vite, GitHub Pages won't work — your site will show up blank or broken.

1. Sign up: vercel.com/signup → click Continue with GitHub → pick the Hobby plan (free).

2. Import your repo: Click Add New Project, find my-first-app, click Import.

3. Deploy: Don't change any settings — just click Deploy. Vercel builds and deploys in 30-60 seconds. You'll get a URL like my-first-app.vercel.app.

Step 5

Grab your link

Your live URL will look something like:

  • https://yourusername.github.io/my-first-app
  • https://my-first-app.vercel.app

That's your app. On the real internet. Anyone with that link can see it — from their phone, their laptop, anywhere in the world. Click the link. Send it to yourself. Open it on your phone. It's live.

You just built something from scratch and put it on the internet.

Send the link to someone. Seriously. Text it to a friend. Post it on social media. You made this. You described what you wanted and an AI built it. That's pretty wild.

Bonus

Making updates

Whenever you make changes to your app with the AI and want to update the live site, just tell it:

push my latest changes to github

Both GitHub Pages and Vercel automatically pick up the changes and update your site within a couple minutes. No extra steps.

Your app is live. That's huge. But deployed and production-ready are two different things. Below is everything that goes into taking an app from demo to real product. You don't have to do all of this right now — this is a reference. Use the AI prompts to help you along the way.

Pro tip

Your AI prompts get way better when you know the names of UI components. "Add a dropdown" is more useful than "add a thing that opens when you click it." A modal, a carousel, a toast notification, a breadcrumb, an accordion — these all have names, and the AI knows exactly what to build when you use them.

Polish
01 · Responsive Design

Most people will visit on their phone. Responsive design means your layout adapts to any screen size. The AI can handle all of it.

Make my app fully responsive and look great on mobile, tablet, and desktop
02 · Favicon & Page Title

The favicon is the little icon in the browser tab. The page title shows up in search results and when someone shares your link.

Add a favicon and update the page title and meta description
03 · Accessibility

Make your app usable for everyone — including people who use screen readers, navigate with a keyboard, or have low vision. Alt text, heading structure, color contrast, keyboard focus, ARIA labels.

Audit my app for accessibility issues and fix them — check color contrast, add alt text, make sure everything is keyboard navigable
04 · Dark Mode

Reduces eye strain and saves battery on OLED screens. Use CSS custom properties for colors and respect prefers-color-scheme.

Add dark mode support with a toggle button — use CSS variables and respect the user's system preference
Get Discovered
05 · SEO & Social Sharing

Open Graph tags control how your link looks when shared on Twitter, Discord, iMessage. Without them, shared links show a blank preview.

Add SEO meta tags and Open Graph tags so my app looks good when shared on social media and shows up in Google
06 · Analytics

Tracks how many people visit, where they come from, what pages they view. Plausible and Umami are privacy-friendly alternatives to Google Analytics.

Add Google Analytics to my app
07 · Custom Domain

A custom domain like myapp.com makes it feel legit. Buy from Namecheap, Cloudflare, or Google Domains, then update DNS to point to your host.

Help me connect my custom domain to my deployed app
Build the Foundation
08 · Environment Variables

API keys and secrets should never be hardcoded. Use a .env file locally (add it to .gitignore) and your hosting dashboard for production.

Help me set up environment variables for my API keys and make sure they're not exposed in my code
09 · CI/CD

Automatically build, test, and deploy every time you push. Vercel already does the deploy part. GitHub Actions can run tests and linters.

Set up a GitHub Actions workflow that runs my tests and linter on every push
10 · Preview & Staging

Test changes before they go live. Vercel creates preview deployments for every pull request — unique URLs where you can test without touching production.

Help me set up a staging environment and preview deployments for my app
Add Real Features
11 · Database

Right now your app can't remember anything. A database stores user data, content, form submissions — anything that persists. Supabase has a generous free tier.

Add a Supabase database to my app to store [what you need]
12 · User Authentication

Let people create accounts and log in. Supabase Auth, NextAuth, and Clerk handle password hashing, sessions, OAuth, verification, and resets. Never build auth from scratch.

Add user authentication so people can sign up and log in — use Supabase Auth or NextAuth
13 · File Storage & Uploads

You can't save files to your server — it gets wiped on every deploy. Use Supabase Storage, AWS S3, or Cloudflare R2.

Add file upload support to my app using Supabase Storage
14 · Payments

Stripe is the industry standard. Create products and prices in the Stripe dashboard, then use their SDK. They handle everything — card processing, tax, receipts, PCI compliance.

Add Stripe payments to my app so users can pay for [your product or service]
15 · Email & Notifications

Welcome emails, password resets, order confirmations. Resend and SendGrid are popular. Start with email — push notifications come later.

Add transactional email to my app using Resend — send a welcome email when someone signs up
Make It Reliable
16 · Error Handling & Loading States

Without error handling, your app shows a blank white screen when things break. Add loading spinners, error boundaries, and fallback UI.

Add error handling and loading states to my app — add error boundaries, loading spinners, and fallback UI
17 · Error Tracking & Monitoring

Sentry captures every error in production with stack traces and context. UptimeRobot or BetterStack alert you if your app goes down.

Add Sentry error tracking to my app so I get notified when errors happen in production
18 · Testing

Tests are code that checks if your other code works. Vitest/Jest for unit tests, Playwright/Cypress for end-to-end. Start with the parts that would hurt most if they broke.

Add tests to my app — set up Vitest for unit tests and write tests for my most important features
19 · Backups

Databases can get corrupted, accidentally deleted, or hit by bad migrations. Most managed DBs include daily backups on paid plans.

Help me set up automated database backups for my Supabase project
Lock It Down
20 · Security Basics

Validate user input, don't expose API keys, use parameterized queries, set security headers, escape user content to prevent XSS.

Review my app for security vulnerabilities and fix them — check for XSS, SQL injection, exposed secrets, and missing security headers
21 · Rate Limiting

Prevents someone from hammering your API with thousands of requests. Without it, one bad actor can rack up costs or take your app down.

Add rate limiting to my API routes to prevent abuse
Make It Fast
22 · Performance Optimization

Compress images (WebP/AVIF), lazy load below the fold, minimize JS bundles, use a CDN.

Optimize my app for performance — compress images, add lazy loading, minimize bundle size, and improve load time
23 · Caching

Browser caching for repeat visits, server-side caching for DB queries, CDN caching for global speed. Proper cache headers cut load times dramatically.

Add caching to my app — set up proper cache headers and server-side caching for my API routes
24 · Core Web Vitals

Google's UX metrics (LCP, INP, CLS) affect your search ranking. Run Lighthouse in Chrome DevTools to see your scores.

Analyze my app's Core Web Vitals and Lighthouse score and fix any issues
Go Further
25 · Progressive Web App (PWA)

Makes your web app installable. Users add it to their home screen and it works offline. Needs a service worker and a web app manifest.

Convert my app into a Progressive Web App with offline support and an install prompt
26 · Internationalization (i18n)

Support multiple languages. Use translation keys instead of hardcoded text. next-intl or react-i18next. Think about RTL layouts for Arabic/Hebrew.

Add internationalization to my app so it supports multiple languages
27 · API Design & Documentation

Use RESTful conventions (GET/POST/PUT/DELETE). Swagger/OpenAPI generates interactive docs automatically.

Add API documentation to my app using Swagger/OpenAPI
Cover Yourself
28 · Privacy Policy, Terms & Cookie Consent

If you collect any user data, you legally need a privacy policy. Accounts need terms of service. European users need GDPR-compliant cookie consent.

Add a privacy policy page, terms of service page, and cookie consent banner to my app
Launch
29 · Just Ship It

You don't need all 28 steps checked off to launch. Most successful apps launched with way less. Pick what matters for your app, get it done, and put it out there. Share on Twitter, post on Reddit, submit to Product Hunt, text it to your friends. The hardest part is already done — you built it.