Apps & tools crafted by Osman Koç.
A personal app catalog powered by Appétit — the App Store-inspired catalog by Fatih Kadir Akın (FKA).
Live · osmankoc.dev/projects · Upstream: Appétit
This is a fork of Appétit by Fatih Kadir Akın (FKA), customised as a personal catalog for Osman Koç's apps and projects. All credit for the framework, UI, and architecture goes to FKA. This fork changes only the store data, branding, and category configuration.
Appétit is a beautiful, browsable app catalog that looks and feels like the Apple App Store. It's built entirely with vanilla HTML, CSS, and JS — no frameworks, no build step, no dependencies. Just edit apps.json and deploy.
- Store: rebranded as
kocdev— Osman Koç's personal app catalog - Apps: projects from osmankoc.dev/projects (mobile, web, VS Code extensions, Telegram bots, games)
- Categories: Web Apps, Developer Tools, Utilities, Productivity, Lifestyle, Health & Fitness, Entertainment, Games
- Logo: custom
OKmonogram - Domain:
apps.osmankoc.dev
- App Store UI — Sidebar navigation, featured carousel, app cards, detail pages with screenshots
- Dark & Light themes — System preference detection with manual toggle, persisted in localStorage
- JSON-driven — All apps, categories, and featured items defined in a single
apps.json - Install modals —
brew installandnpxcommands with one-click copy to clipboard - Search — Instant client-side filtering across names, descriptions, and features
- GitHub stats — Live star and fork counts, updatable with the included
update-stats.shscript - Responsive — Desktop sidebar collapses on mobile
- Zero dependencies — Pure HTML/CSS/JS, deploys anywhere as static files
git clone https://github.com/osman-koc/my-apps.git
cd my-apps
python3 -m http.server 8080Open localhost:8080 and you're running.
Edit apps.json. Each app entry supports:
"categories": [
{ "id": "web", "name": "Web Apps" },
{ "id": "developer-tools", "name": "Developer Tools" },
{ "id": "utilities", "name": "Utilities" },
{ "id": "productivity", "name": "Productivity" },
{ "id": "lifestyle", "name": "Lifestyle" },
{ "id": "health-fitness", "name": "Health & Fitness" },
{ "id": "entertainment", "name": "Entertainment" },
{ "id": "games", "name": "Games" }
]"featured": [
{
"id": "my-app",
"headline": "NEW",
"title": "A catchy headline.",
"subtitle": "A longer description for the featured banner."
}
]Fetch live star and fork counts from the GitHub API:
./update-stats.shFor higher rate limits:
GITHUB_TOKEN=ghp_xxx ./update-stats.sh├── index.html Main HTML shell
├── style.css All styles (dark + light themes)
├── app.js Routing, rendering, carousel, modals
├── apps.json All app data — edit this file
├── logo.svg App icon / favicon
├── logo.png App icon / favicon (alternative)
├── logo-oval.svg App icon / favicon (oval version)
├── update-stats.sh Fetches GitHub stars/forks into apps.json
├── CNAME Custom domain for GitHub Pages
└── .nojekyll Prevents Jekyll processing
- Push to a GitHub repo
- Settings → Pages → Source: branch
master, folder/ - Add a
CNAMEfile with your custom domain (apps.osmankoc.dev)
- Appétit — original framework by Fatih Kadir Akın (FKA) · MIT License
- kocdev store — fork & customisation by Osman Koç
MIT

{ "id": "my-app", "name": "My App", "subtitle": "A short tagline", "description": "One-liner for list views.", "longDescription": "Full description for the detail page.", "icon": "https://example.com/icon.png", // or use iconEmoji: "🚀" "iconStyle": { "scale": 1.3, "objectFit": "cover", "borderRadius": "22%" }, "category": ["mobile", "web"], "platform": "iOS & Android", "price": "Free", "github": "https://github.com/osman-koc/my-app", // null if private "homepage": "https://my-app.dev", "language": "Flutter", "downloadUrl": "https://play.google.com/store/apps/details?id=com.example.app", "requirements": "iOS 13+ or Android 6+", "features": ["Feature one", "Feature two"], "screenshots": ["https://example.com/screenshot.png"] }