{"id":51423008,"url":"https://github.com/olafkotur/switch","last_synced_at":"2026-07-05T01:01:44.395Z","repository":{"id":364704224,"uuid":"312574939","full_name":"olafkotur/switch","owner":"olafkotur","description":"✨ Lightweight browser and can be summoned over any existing application.","archived":false,"fork":false,"pushed_at":"2023-07-06T20:00:24.000Z","size":5621,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-14T07:03:37.867Z","etag":null,"topics":["electron","express","macos","node","react"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olafkotur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-13T12:52:53.000Z","updated_at":"2025-07-27T08:23:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/olafkotur/switch","commit_stats":null,"previous_names":["olafkotur/switch"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/olafkotur/switch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olafkotur%2Fswitch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olafkotur%2Fswitch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olafkotur%2Fswitch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olafkotur%2Fswitch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olafkotur","download_url":"https://codeload.github.com/olafkotur/switch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olafkotur%2Fswitch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35140189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","express","macos","node","react"],"created_at":"2026-07-05T01:01:43.251Z","updated_at":"2026-07-05T01:01:44.358Z","avatar_url":"https://github.com/olafkotur.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://switchapp.dev.com\"\u003e\n    \u003cimg width=\"150px\" style=\"margin-top: 30px\" src=\"https://github.com/olafkotur/switch/blob/main/app/assets/switch-icon.png?raw=true\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eSwitch\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\nLightweight overlay browser\n\n![api-build](https://github.com/olafkotur/switch/actions/workflows/api-build.yml/badge.svg)\n![app-build](https://github.com/olafkotur/switch/actions/workflows/app-build.yml/badge.svg)\n![site-build](https://github.com/olafkotur/switch/actions/workflows/site-build.yml/badge.svg)\n\n\u003c/div\u003e\n\nhttps://user-images.githubusercontent.com/24353005/175253078-cce3c954-b440-4baa-880d-d92f0f8fb394.mp4\n\n## 👋🏽 About\n\n_Switch started off as a very small project I created for myself to improve my workflow. Overtime I noticed other people enjoyed to use it too so I made some improvements to make it worthy and public. I would appreciate any feedback you may have on this project._\n\n#### What does it do?\n\nThis is a simple lightweight browser and can be summoned over any existing application. It's designed to help you quickly interact with your favourite applications without losing focus.\n\nMy use case started with just wanting to check my [Notion](https://notion.so) notes during development. I then realised I use for so much more including `Discord` `Github` and `Twitter`. You can add most `webapps` of your choice to the Switch browser.\n\n## ⬇️ Download\n\n- Only available on `macOS` (Intel \u0026 Apple Silicon)\n- Head over to the [releases](https://github.com/olafkotur/switch/releases) and download the latest `.dmg` file\n- You'll receive auto-updates so you only need to do this once\n- **Switch is currently invite-only, reach out to a code owner if you'd like a code, otherwise feel free to spin-up a local instance**\n\n## 🔨 Setup\n\n_This repo contains both the `api` and `app`, make sure you're in the correct directory._\n\n\u003e **Note**\n\u003e You will need a .env configuration to setup this project, please reach out for details.\n\n\u003cbr /\u003e\n\n**To setup the `./api`, follow the below instructions:**\n\n- Start a mongodb server (instructions not included in this repo)\n- Run `yarn` to install dependencies\n- Run `yarn start` to start the API\n\n**To setup the `./app`, follow the below instructions:**\n\n- Run `yarn` to install dependencies\n- Run `yarn start` to start the application\n\n## 📦 Publishing\n\n- Update the version in `app/package.json`\n- Install Developer ID certificate and Provision Profile locally\n- Ensure a provision profile exists at the root of this project `Switch.provisionprofile`\n- Run `yarn package` to create a package for publishing\n- Create a new release in [olafkotur/switch-releases](https://github.com/olafkotur/switch-releases/releases) repository\n- Upload `.dmg` and `.zip` files from package output to the release\n- Update [release file](https://github.com/olafkotur/switch-releases/blob/master/release.json) with the latest version info\n- Update [updates file](https://github.com/olafkotur/switch-releases/blob/master/updates.json) with the latest version info\n- Automatic updates will be rolled out to all users\n\n## 💻 Contributing\n\n- You're more than welcome to submit a PR, follow the below rules before you do\n- Setup your env in-line with the project guidelines _e.g. prettier_\n- Ensure all commits have meaningful descriptions\n- Branch name should follow the format of `fix/appropriate-title` `feat/appropriate-title` `chore/appropriate-title` etc...\n- Create a PR against `main` branch and add an existing contributor as a reviewer\n- PRs will be rejected if the above is not met\n\n## ⚠️ Issues\n\n- If you've found a bug or something isn't quite right, open an issue\n- Be respectful, write as if you're the one reading\n- Contributors will tackle the issue once enough information is provided\n\n**Known Issues**\n\n- Streaming services will not work due to additional licensing required to do so e.g. Netflix, Disney Plus\n- Some `webapps` such as Whatsapp can sometimes break due to requiring a specific Chrome version\n\n\u003cbr /\u003e\n\nBuilt with ❤️ by Olaf Kotur\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folafkotur%2Fswitch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folafkotur%2Fswitch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folafkotur%2Fswitch/lists"}