airqmon
A macOS menu bar application that displays live air quality data from the nearest sensor station.
https://github.com/jsynowiec/airqmon
Category: Natural Resources
Sub Category: Air Quality
Keywords
air-pollution air-quality air-quality-monitor airly electron graphql macos macos-menubar poland react sensor-station smog typescript
Keywords from Contributors
report measurements archived observability animations optimize project certificate conversation transforms
Last synced: about 17 hours ago
JSON representation
Repository metadata
A macOS menu bar application that displays live air quality data from the nearest sensor station.
- Host: GitHub
- URL: https://github.com/jsynowiec/airqmon
- Owner: jsynowiec
- License: apache-2.0
- Created: 2017-11-16T12:34:38.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-12-18T10:06:42.000Z (4 months ago)
- Last Synced: 2025-04-17T23:00:02.234Z (9 days ago)
- Topics: air-pollution, air-quality, air-quality-monitor, airly, electron, graphql, macos, macos-menubar, poland, react, sensor-station, smog, typescript
- Language: TypeScript
- Homepage: https://jsynowiec.github.io/airqmon/
- Size: 2.71 MB
- Stars: 101
- Watchers: 4
- Forks: 12
- Open Issues: 0
- Releases: 15
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
README.md
Airqmon
Airqmon is a macOS menu bar application that displays live air quality data from the nearest sensor station. It can also notify you when the air quality index changes or when a new, closer station is found.
Supported data providers
- Airly - over 20k sensor stations in many cities around the world in addition to data provided from third-party services like PurpleAir. Check the Airly map for full coverage.
Source code-only
Due to the reasons described in this comment, I am no longer willing to cover the monthly costs associated with the Airqmon API and Google Geolocation.
I have removed all binaries from the current and previous releases as they will no longer work. You can host the Airqmon API on your own and clone the latest release to build your version of the app.
Build & installation
- Clone the latest release.
- Install the dependancies with
yarn install
. - Build the binary with
yarn run package
. - Drag the binary from the
out
directory to yourApplications
folder.
Preferences
There are a few options available to customize on the preferences window that you can access by clicking on the button with a cog or by pressing the โ + ,
shortcut.
Airqmon API
Starting from version 2, Airqmon depends on the Airqmon API to find the nearest station and fetch measurements from Airly.
Geolocation
With version 2.1.1, Airqmon switched to the free ip-api.com reverse geolocation service. If you want to switch back to the Google Geolocation API, revert the changes from the 1fe51d commit.
Privacy
Airqmon does not track any data.
Credits
My sincere thanks to the following individuals for helping me with beta testing and for donating ๐
![]() |
![]() |
---|---|
Michaล Pierzchaลa | Konrad Dzwinel |
License
This app is an open-source software licensed under the Apache License, Version 2.0
Owner metadata
- Name: Jakub Synowiec
- Login: jsynowiec
- Email:
- Kind: user
- Description: I make computers do beep boop beep
- Website:
- Location: ::1
- Twitter: jaqbsy
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1029142?u=402eaf5ae45dd27c615b93cd4a35541bf8ea79c4&v=4
- Repositories: 27
- Last ynced at: 2025-04-24T02:14:18.093Z
- Profile URL: https://github.com/jsynowiec
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Committers metadata
Last synced: 6 days ago
Total Commits: 424
Total Committers: 6
Avg Commits per committer: 70.667
Development Distribution Score (DDS): 0.125
Commits in past year: 1
Committers in past year: 1
Avg Commits per committer in past year: 1.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Jakub Synowiec | g****b@j****o | 371 |
Jakub Synowiec | j****c | 44 |
dependabot[bot] | 4****] | 4 |
DCzajkowski | d****i@g****m | 2 |
Maksymilian Bolek | m****k@t****m | 2 |
snyk-bot | s****t@s****o | 1 |
Committer domains:
- snyk.io: 1
- telenordigital.com: 1
- jakubsynowiec.info: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 38
Total pull requests: 14
Average time to close issues: 10 months
Average time to close pull requests: 22 days
Total issue authors: 8
Total pull request authors: 7
Average comments per issue: 1.39
Average comments per pull request: 1.07
Merged pull request: 9
Bot issues: 0
Bot pull requests: 7
Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jsynowiec (27)
- makbol (3)
- RudolfTheOne (2)
- thymikee (2)
- DCzajkowski (1)
- kdzwinel (1)
- kapke (1)
- tweks (1)
Top Pull Request Authors
- dependabot[bot] (7)
- makbol (2)
- dsdeur (1)
- DCzajkowski (1)
- jsynowiec (1)
- snyk-bot (1)
- thymikee (1)
Top Issue Labels
- enhancement ๐ (11)
- bug ๐ (11)
- feature ๐ (7)
- privacy ๐ (5)
- electron โ๏ธ (4)
- wontfix (3)
- macOS (3)
- needs more info (3)
- good first issue (2)
- ui & visuals ๐ (2)
- bug/unable to reproduce ๐คทโโ๏ธ (1)
- documentation ๐ (1)
- component/api/apiary (1)
- status/confirmed (1)
- needs donation ๐ธ (1)
- help wanted (1)
- feature request ๐ (1)
Top Pull Request Labels
- dependencies (7)
- ui & visuals ๐ (1)
Dependencies
- @types/enzyme-adapter-react-16 ~1.0.1 development
- @types/jest ~26.0.19 development
- @types/lodash ~4.14.123 development
- @types/node ~12.19.11 development
- @types/react ~16.14.2 development
- @types/react-dom ~16.9.10 development
- @types/semver ~7.3.4 development
- @types/universal-analytics ~0.4.3 development
- @types/uuid 8.3.0 development
- @typescript-eslint/eslint-plugin ~4.15.1 development
- @typescript-eslint/parser ~4.15.1 development
- css-loader ~5.0.1 development
- del ~6.0.0 development
- electron 11.2.3 development
- electron-packager 15.2.0 development
- enzyme 3.11.0 development
- enzyme-adapter-react-16 1.15.6 development
- enzyme-to-json 3.6.1 development
- eslint ~7.20.0 development
- eslint-config-prettier ~7.2.0 development
- eslint-plugin-react ~7.22.0 development
- eslint-webpack-plugin ~2.5.1 development
- file-loader ~6.2.0 development
- html-webpack-plugin ~5.1.0 development
- jest ~26.6.3 development
- less ~4.1.1 development
- less-loader ~7.2.1 development
- mini-css-extract-plugin ~1.3.3 development
- prettier ~2.2.1 development
- ts-jest ~26.5.1 development
- ts-loader ~8.0.12 development
- typescript ~4.1.3 development
- webpack ~5.22.0 development
- webpack-cli ~4.5.0 development
- apollo-boost ~0.4.4
- axios ~0.21.1
- electron-is-dev ~1.2.0
- electron-store ~7.0.2
- graphql ~15.5.0
- lodash ~4.17.21
- photon https://github.com/connors/photon.git#v0.1.2-alpha
- react ~16.14.0
- react-dom ~16.14.0
- semver ~7.3.4
- uuid ~8.3.2
- winston ~3.3.3
- 1012 dependencies
- actions/checkout v2 composite
- volta-cli/action v1 composite
Score: 6.406879986069315