{"id":18889762,"url":"https://github.com/scottlogic/lookingatyou","last_synced_at":"2026-02-25T09:30:21.531Z","repository":{"id":73353025,"uuid":"190038183","full_name":"ScottLogic/lookingatyou","owner":"ScottLogic","description":"Looking At You is a front-end application which uses computer vision to enable a pair of eyes to follow people using a webcam. The application was developed as part of the 2019 Scott Logic Internship Program.","archived":false,"fork":false,"pushed_at":"2019-08-27T07:34:02.000Z","size":16656,"stargazers_count":0,"open_issues_count":15,"forks_count":3,"subscribers_count":38,"default_branch":"master","last_synced_at":"2024-12-31T06:12:07.506Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://scottlogic.github.io/lookingatyou","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ScottLogic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2019-06-03T16:02:11.000Z","updated_at":"2020-01-06T15:35:55.000Z","dependencies_parsed_at":"2023-06-18T04:03:14.120Z","dependency_job_id":null,"html_url":"https://github.com/ScottLogic/lookingatyou","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottLogic%2Flookingatyou","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottLogic%2Flookingatyou/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottLogic%2Flookingatyou/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScottLogic%2Flookingatyou/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ScottLogic","download_url":"https://codeload.github.com/ScottLogic/lookingatyou/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239861129,"owners_count":19709163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-08T07:50:49.217Z","updated_at":"2026-02-25T09:30:21.474Z","avatar_url":"https://github.com/ScottLogic.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- PROJECT SHIELDS --\u003e\n\n[![CircleCI](https://img.shields.io/circleci/build/github/ScottLogic/lookingatyou/master.svg?label=master\u0026style=badge\u0026token=ab5d53d5a9479d50259a1d2febaa710964b4bd8c)](https://circleci.com/gh/ScottLogic/lookingatyou)\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n\n  \u003ch1 align=\"center\"\u003eLooking At You\u003c/h1\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/ScottLogic/lookingatyou/blob/master/README.md\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://scottlogic.github.io/lookingatyou/\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/ScottLogic/lookingatyou/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/ScottLogic/lookingatyou/issues\"\u003eRequest Feature\u003c/a\u003e\n    ·\n    \u003ca href=\"https://blog.scottlogic.com/2019/08/19/LookingAtYou.html\"\u003eRead the Blog\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n-   [About the Project](#about-the-project)\n-   [Prerequisites](#prerequisites)\n    -   [General](#general)\n    -   [Tests](#tests)\n-   [Running the project (local)](#running-the-project-locally)\n-   [Usage](#usage)\n-   [Testing](#testing)\n-   [Deployment](#deployment)\n\n## About The Project\n\nLooking At You is a single page application that tracks a person using [PoseNet](https://github.com/tensorflow/tfjs-models/tree/master/posenet) and follows them with a pair of eyes on the screen. Looking At You was developed by [Scott Logic](https://www.scottlogic.com/)'s Summer 2019 interns in the Edinburgh office.\n\n![Eyes](./images/eyes.gif)\n\n## Prerequisites\n\n### General\n\nIn order to build and run the project, a package manager like npm or yarn is required.\n\n### Tests\n\nTests have a single requirement - [JEST](https://jestjs.io/). You can install it by using the following command from the project root directory:\n\n```\nnpm install\n```\n\nwhich will install any dependencies of the project based off of the package.json file.\n\n## Running the project locally\n\nInstall the dependencies:\n\n```\nnpm install\n```\n\nTo run the project locally, run the following command:\n\n```\nnpm start\n```\n\nThis will start the node server and you can access the project on [http://localhost:3000](http://localhost:3000)\n\n## Usage\n\nWhen you first access the application, you will be asked for the permission to access the webcam - click 'Allow'.\n\nWhen mouse movement is detected on the screen, the configuration menu will open where certain settings can be adjusted. Following options are currently available:\n\n| Option                 | Description                                                                             |\n| ---------------------- | --------------------------------------------------------------------------------------- |\n| Detections per Second  | Sets the number of detections per second for the object detection                       |\n| X Sensitivity          | X axis eyes sensitivity                                                                 |\n| Y Sensitivity          | Y axis eyes sensitivity                                                                 |\n| Iris Colour            | Changes the colour of the Iris                                                          |\n| Show Advanced Settings | Shows some extra settings for users that are technically familiar with object detection |\n\n![Settings Menu](./images/settings.gif)\n\n## Pose Interaction\n\nThere is a feature in the application that will make the eyes interact in a unique way if you hold certain poses.\n\n| Current Poses   |\n| --------------- |\n| Left hand wave  |\n| Right hand wave |\n| Arms above head |\n| T-shape pose    |\n\nIf you would like to add additional poses go to `src/utils/pose/poseDetection.ts` and define a new pose based on the available key point data. You can then define an animation in `src/utils/pose/animations.ts` as an array of keyframes where you can control the iris position, the iris colour, the open coefficient, and the dilation coefficient. This animation can then be mapped to the pose as shown in the file.\n\n## Reflection\n\nBy default there is a reflection of the target shown in the iris with a slight fish-eye effect applied. The intesity of the reflection can be changed in the advanced settings or switched off entirely.\n\n## Advanced Settings\n\nThe advanced settings contain the settings to configure PoseNet, all the settings have a descriptive tooltip when you hover over them that should help you understand what each setting is for. These settings provide in-depth performance controls for the app and will help you tune the app to run best on your machine. However, if you do change some settings and that has a bad impact on the performance of the app you can click the 'reset to defaults' button which will return the settings to the defaults.\n\n## Testing\n\nAll tests commands must be run from the root directory of the project.\n\nIn order to run the unit tests run the following command:\n\n```\nnpm run test\n```\n\nTo view the test coverage of the project run:\n\n```\nnpm run coverage\n```\n\nTo ensure that your code meets the linter requirements of the project run:\n\n```\nnpm run lint\n```\n\n## Deployment\n\nLooking At You is automatically deployed to a S3 bucket after each successful merge to the master branch. The project can be accessed [here](https://scottlogic.github.io/lookingatyou/).\n\nAny branch prepended with `feature/` will also be automatically deployed after passing the required linting check and tests. Feature branches can be accessed at `https://looking-at-you.s3.amazonaws.com/BRANCH_NAME` where `BRANCH_NAME` is the name of the feature branch you are trying to access. Those branches are automatically deleted either in following scenarios:\n\n-   after they are merged to master branch, or\n-   they have been closed without merging.\n\nPlease note, that the closed branches are not automatically deleted from AWS after closing them. Instead, they will be deleted during the deployment of any other branch.\n\nIn order to deploy the application manually first install all dependencies and build the project:\n\n```\nnpm install\nnpm run build\n```\n\nOnce the project is built, you can deploy it to AWS S3 bucket with following command:\n\n```\naws s3 sync ./build/ s3://\u003cbucket-name\u003e/ --delete\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottlogic%2Flookingatyou","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscottlogic%2Flookingatyou","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottlogic%2Flookingatyou/lists"}