Discover trending repositories, find beginner-friendly issues, and get AI-powered guidance for your first (and hundredth) open source contribution.
One Flutter codebase. Five platforms. Zero backend. Zero cost.
Live Demo Β· Report a Bug Β· Request a Feature Β· Contributing
- Why ForgeOS
- Features
- How It Works
- Screenshots
- Tech Stack
- Architecture
- Project Structure
- Getting Started
- Configuration
- Building for Release
- Roadmap
- FAQ
- Comparison
- Contributing
- Support the Project
- License
- Author
Every developer remembers the exact feeling of wanting to contribute to open source for the first time β and not having the faintest idea where to begin.
GitHub's trending page is noisy and skewed toward already-massive projects. Issue trackers bury the two or three approachable tickets under hundreds of stale, half-triaged, or maintainer-only issues. Labels like good first issue exist, but they're scattered across thousands of repositories with no single place to browse them. And even once you find an issue, it's often unclear what it actually involves β what files you'll touch, what skills you need, whether it's a five-minute fix or a five-day rabbit hole.
ForgeOS removes that friction end to end. It surfaces trending and beginner-friendly repositories, filters GitHub issues down to the ones explicitly labeled for newcomers, and uses AI to explain what an issue actually involves β its difficulty, the skills it requires, and a suggested approach β without ever handing you the full solution. No account required. No backend to trust. No subscription. It runs identically on your phone, your desktop, and in the browser, built entirely on free, public APIs.
If you've ever bookmarked a "how to start with open source" blog post and never acted on it, this is the tool that closes that gap.
- π₯ Trending repositories by day, week, or month β filterable by language
- π Full repository search with language, topic, minimum-star, and sort filters
- β‘ "Active this week" feed of recently updated, currently-popular projects β not just perennially famous ones
- βΎοΈ Infinite scrolling, pull-to-refresh, tasteful skeleton loading states, and clear empty/error states everywhere
- π·οΈ Issue finder scoped to
good first issue,help wanted,documentation,beginner friendly, and more β filterable by language and keyword, unassigned issues only, so you never chase a ticket someone already owns - π Local contribution tracker β mark issues Saved β In Progress β Completed and watch your own momentum build
- π Offline bookmarks for repositories and issues, with bookmarked READMEs cached for offline reading (great for flights, commutes, spotty wifi)
- π Recently viewed repositories and full search history, so you never lose a promising find
- π Repository detail pages with rendered Markdown READMEs, syntax-highlighted code blocks, and a dedicated issues tab
- π€ GitHub profile viewer for any user or organization β repos, pinned work, activity at a glance
- π Optional contribution insights via the GitHub GraphQL API β good-first-issue counts, help-wanted counts, and commit totals for a repo β unlocked once you add a personal access token
- π£οΈ Plain-language explanations of any issue β what it's really asking for, stripped of jargon
- ποΈ Difficulty estimation (Beginner / Intermediate / Advanced) with the reasoning behind the rating
- π Recommended learning resources and prerequisite skills, tailored to the specific issue
- π§ Implementation guidance β approach and pitfalls, deliberately stopping short of a full solution, because the point is to help you learn, not to write the PR for you
- πΊοΈ Step-by-step learning roadmaps tailored to a specific repository, for when you want to go deeper than one issue
- π README summarization for long or dense projects, so you can decide in thirty seconds whether a repo is worth your time
- π¬ Follow-up Q&A in a persistent chat interface β ask anything about the repo or issue you're looking at
- π Dark theme by default, with a fully-supported light theme
- π¨ Custom Material 3 palette β deep charcoal navy (
#101820) with warm amber accents (#F2AA4C) - π±οΈ Hover effects, subtle lift/glow interactions, and smooth transitions on desktop and web
- π± Fully responsive β bottom navigation on mobile, navigation rail on tablet and desktop, content max-width capped so nothing stretches awkwardly on ultrawide monitors
flowchart LR
A["Browse trending repositories"] --> B["Open a repository"]
B --> C["Find beginner-friendly issues"]
C --> D["Ask the AI Assistant"]
D --> E{"Ready to contribute?"}
E -->|Yes| F["Bookmark & start working"]
E -->|Not yet| C
F --> G["Open your first pull request"]
G --> H["Mark it as completed"]
| Layer | Choice | Why |
|---|---|---|
| Framework | Flutter (Web, Android, Windows, macOS, Linux) | One codebase, five real targets, native performance |
| State management | Riverpod | Compile-safe, testable, no BuildContext gymnastics |
| Navigation | GoRouter (StatefulShellRoute) |
Deep-linkable, preserves per-tab navigation stacks |
| Networking | Dio | Interceptors for auth headers, rate-limit handling, retries |
| Models | Freezed + json_serializable |
Immutable, exhaustive, boilerplate-free data classes |
| Local storage | Hive | Fast, cross-platform key-value storage β including Web |
| Markdown & code | flutter_markdown + flutter_highlight |
Renders real READMEs and code blocks faithfully |
| Data sources | GitHub REST API, GitHub GraphQL API, Gemini API (free tier) | No backend of ForgeOS's own β every request goes straight from your device to the source |
Architecture follows a clean, feature-first structure with a repository pattern separating data sources from UI β see docs/ARCHITECTURE.md for a full breakdown.
flowchart TD
UI["UI Layer"] --> Providers["Riverpod Providers"]
Providers --> Repositories["Repositories"]
Repositories --> GitHub["GitHub API"]
Repositories --> AI["Gemini API"]
Repositories --> Storage["Hive Storage"]
Providers -. "State Updates" .-> UI
core/holds everything cross-cutting: theme, router, the Dio client, local storage, and shared widgets/utilities used across every feature.features/is organized by domain, not by layer β each feature owns its providers, screens, and (where relevant) its own data layer.- Network calls never touch UI code directly; every screen reads from a Riverpod provider, which reads from a repository, which talks to Dio or Hive. This keeps the app testable and makes it straightforward to add a new data source without touching a single widget.
lib/
βββ app.dart # Root widget β router + theme wiring
βββ main.dart # Entry point, Hive bootstrap
βββ core/
β βββ constants/ # App-wide constants (name, API bases, labels)
β βββ network/ # Dio client, API exception handling
β βββ router/ # GoRouter config + adaptive nav shell
β βββ storage/ # Hive local storage wrapper
β βββ theme/ # Material 3 theme, color palette, radii
β βββ utils/ # Formatters, launcher, responsive helpers
β βββ widgets/ # Shared widgets: hover effects, skeletons,
β # status views, language indicator dots
βββ features/
βββ github/ # REST + GraphQL data sources, domain models
βββ explore/ # Home (trending) + search
βββ issues/ # Beginner-friendly issue finder
βββ repo_details/ # Repository page (README / issues / about)
βββ ai/ # Gemini service, prompts, assistant UI
βββ bookmarks/ # Bookmarks + contribution tracking (offline)
βββ profile/ # GitHub profile viewer
βββ settings/ # Theme, API keys, data management
βββ about/ # About screen + About the Developer screen
- Flutter SDK 3.27 or newer (Dart β₯ 3.3)
- A GitHub account (optional, only needed for a personal access token β see below)
git clone https://github.com/ArsalanKaleem/forgeos.git
cd forgeos
# Generate platform folders for your targets
flutter create . --platforms=web,android,windows,macos,linux
# Install dependencies
flutter pub get
# Generate Freezed / JSON models β required before first run
dart run build_runner build --delete-conflicting-outputs
# Run
flutter run -d chrome # Web
flutter run -d windows # or macos / linux
flutter run # connected Android device or emulatorGenerated
*.freezed.dart/*.g.dartfiles are gitignored by design β thebuild_runnerstep above recreates them locally on every fresh clone.
Both keys below are free and optional β ForgeOS is fully usable without either, just with lower GitHub rate limits and no AI features.
| Key | Purpose | Where to get it |
|---|---|---|
| Gemini API key | Enables all AI Assistant features | aistudio.google.com/apikey β paste into Settings β Gemini API Key |
| GitHub personal access token | Raises the REST rate limit from ~60/hr to 5,000/hr and unlocks GraphQL contribution insights (no scopes required β a plain classic token is enough) | GitHub β Settings β Developer settings β Personal access tokens β paste into Settings β GitHub Token |
All keys are stored locally on your device (via Hive) and are sent only to their respective official APIs. ForgeOS has no backend of its own β there is nothing for it to log, sell, or leak.
Windows
flutter build windows --releaseOutput: build\windows\x64\runner\Release\forgeos.exe
An Inno Setup script for a proper Windows installer lives at installer/forgeos_installer.iss β compile it with Inno Setup to produce a signed-ready ForgeOS-Setup-x.x.x.exe.
Android
flutter build apk --release # single APK
flutter build appbundle --release # Play Store bundleWeb
flutter build web --releaseDeploy the build/web output to Firebase Hosting, GitHub Pages, Vercel, Netlify, or any static host.
macOS / Linux
flutter build macos --release
flutter build linux --release- Push notifications for new beginner-friendly issues matching saved filters
- "Similar repositories" recommendations powered by Gemini
- Contribution streaks and lightweight gamification for the local tracker
- Multi-language localization (UI strings)
- Optional cloud sync of bookmarks across devices (still no mandatory account)
- Browser extension: "Explain this issue" button injected directly into github.com
Have an idea? Open a feature request β roadmap items are pulled straight from real user requests.
Is this affiliated with GitHub? No. ForgeOS is an independent, unofficial client built on the public GitHub REST and GraphQL APIs.
Does it cost anything? No. The app itself is free and open source, and both external APIs it uses (GitHub, Gemini) have generous free tiers that cover normal personal use.
Do I need to sign in? No. Everything works anonymously. A GitHub token is optional and only raises your rate limit β it is never used to authenticate you, only to authenticate the request.
Where is my data stored? Entirely on your device, via Hive. Nothing is sent anywhere except the GitHub and Gemini APIs, and only the minimum data each request needs.
Can I self-host or white-label this? Yes β it's MIT licensed. Fork it, rebrand it, ship it.
| GitHub Explore | up-for-grabs.net |
Awesome-list repos | ForgeOS | |
|---|---|---|---|---|
| Cross-platform native app | β | β | β | β |
| Filters issues, not just repos | β | Partial | β | β |
| AI explains issue difficulty | β | β | β | β |
| Offline bookmarks & tracking | β | β | β | β |
| No account required | β | β | β | β |
| Works on mobile | Partial | β | β | β |
Contributions are genuinely welcome β an app built to help people make their first open source contribution should itself be an approachable one to contribute to. See CONTRIBUTING.md for setup details, coding conventions, and a list of good-first-issues on this very repo (yes, dogfooding intended).
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m "Add your feature") - Push to your branch (
git push origin feature/your-feature) - Open a Pull Request
Even small contributions count β typo fixes, README improvements, and issue triage are just as valuable as code.
If ForgeOS helped you land your first open source contribution, the single most useful thing you can do is star the repo β it's what gets this in front of the next developer staring at GitHub Explore wondering where to start.
Distributed under the MIT License. See LICENSE for details.
Arsalan Kaleem β "Somi"
Flutter developer building cross-platform apps across mobile, desktop, and web, with a focus on Firebase, real-time systems, and AI-augmented developer tooling. ForgeOS is one of the ways I like to give back to the open source community that taught me most of what I know.
- GitHub: @ArsalanKaleem
- LinkedIn: linkedin.com/in/arsalankaleem
- Portfolio: arsalankaleem.github.io/portfolio
If this project helped you make your first open source contribution, consider giving it a β β it helps the next person find it too.


