Skip to content
View VahidGarousi's full-sized avatar

Block or report VahidGarousi

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
VahidGarousi/README.md
val vahidgarousi = developer {
    about {
        name = "Vahid Garousi"
        role = "Senior Android Engineer"
        company = "Negah Bank"
        experience = 8.years
        domains = listOf("Banking", "Fintech", "Travel")
    }
    stack {
        languages = listOf("Kotlin", "Java")
        android = listOf("Jetpack Compose", "Coroutines", "Flow", "Multi-module")
        architecture = listOf("Clean Architecture", "MVVM", "MVI", "TDD")
        realtime = listOf("WebSockets", "Lightstreamer", "gRPC")
        tooling = listOf("Gradle Convention Plugins", "GitHub Actions", "Internal CLI tooling")
    }
    links {
        website = "https://vahidgarousi.ir"
        linkedin = "https://linkedin.com/in/vahidgarousi"
        medium = "https://vahidgarousi.medium.com"
        telegram = "https://t.me/GarousiVahid"
        twitter = "@vahidgarousi_"
    }
}

🌐 vahidgarousi.ir

This repository also hosts my personal site — portfolio, writing and resume.

Built with Next.js as a static export, so it deploys to GitHub Pages today and moves to any host without a rewrite.

Running it locally

Requires Node 22+.

npm install
npm run sync     # optional: pulls Medium, Telegram and GitHub data
npm run dev      # http://localhost:3000

npm run sync reaches out to Medium, Telegram and the GitHub API. Skip it and the site still runs — those sections are just hidden. Run npm run sync:ensure instead to create empty placeholders without any network access.

Other commands:

npm run build      # static export into ./out
npm run typecheck  # tsc --noEmit
npx serve out      # preview the production build

Where things live

  • All personal contentcontent/: site.config.ts for identity, links and service keys; data/ for experience and skills; MDX for projects and blog posts.
  • Setup, DNS and deploymentDEPLOYMENT.md
  • Design tokenssrc/styles/globals.css

Pinned Loading

  1. ComposeNews ComposeNews Public

    Forked from Kaaveh/ComposeNews

    A playground about best practices, using updated libraries and solutions in the Android world!

    Kotlin

  2. Framework Framework Public template

    A GitHub Repository Template for structured and reusable Gradle build logic in Android projects. It includes custom Gradle plugins for Jetpack Compose, library management, testing, publishing, lint…

    Kotlin 4 1