Skip to content

Tech-Nest-Ventures/deepFocus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeepFocus

DeepFocus Logo

Release Version License Platform

Building the Oura for productivity. Get insights on how productive you are.

Primarily for macOS. Coming to Windows & Linux shortly.

Table of Contents

Features

  • Daily email summaries of deep work hours
  • Productivity tracking and insights
  • Customizable productivity site labeling

Tech Stack

Electron TypeScript SolidJS

Getting Started

DeepFocus in Action

Installation

  1. In the Releases section, click on the [latest release] (https://github.com/Tech-Nest-Ventures/deepFocus/releases/latest) and download the Deep Focus.dmg file.

Open the .dmg or .zip file and drag the Deep Focus app to your Applications folder.

  1. Add the Deep Focus app to your Dock.

  2. Sign up for an account or log in to your existing account.

Goals

  • Allow all users to download on any machine through an Electron JS app
  • Migrate to TypeScript and implement SolidJS
  • Set up CI/CD pipeline and automatic releases
  • Implement changelog using conventional commits
  • Add integration and automated tests
  • Implement user authentication and cloud-based data persistence
  • Implement progress bar for deep work visualization
  • Improve user onboarding experience
  • Use inspiration from debugtron to render the electron apps most commonly used. Use another API service to get the favicons of the top websites and include this in email and in the desktop app.
  • Implement a basic email notification system
  • Sign & Notarize the app for macOS
  • Collect each site visited. Show users all sites visited in the past day at the end of the day/next day and ask them to label them as productive or unproductive.
  • Fix Auto update logic so users don't have to manually update.
  • Fix Emails not sending on schedule.
  • Add onboarding flow to improve user comprehension
  • Allow users to customize productive/unproductive sites
  • Add a gif to the README that shows the app in action
  • Add more comprehensive test suite for main and renderer processes
  • Add timeline view for daily email summaries
  • Upload app to the App Store
  • Collect error logs (sentry, etc)

Philosophy

DeepFocus is built primarily for Software Engineers, Product Managers, and Designers. We believe in:

  • Creating systems to combat imposter syndrome
  • Focusing on the journey, not just the end goal
  • Encouraging consistent, focused work

Roadmap

  • Implement progress bar for deep work visualization
  • Enhance data analysis and insights
  • Improve user onboarding experience
  • Develop comprehensive test suite for main and renderer processes
  • Create cloud synchronization for user data and preferences
  • Implement secure user authentication system

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Timeo Williams @timeowilliams - [email protected]

Troubleshooting

  1. Manually Open the Application When macOS shows the “developer cannot be verified” error, you can bypass this warning by manually opening the app.

Right-click on the Deep Focus app in the Applications folder. Select Open. You should see the same warning message, but this time there will be an Open button to proceed with opening the app. This will whitelist the app for future use.

  1. pnpm (not supported) We saw some issues with how pnpm was bundling dependencies in the electron-builder stage and it's inability to target certain architectures. We recommend using npm for now.

  2. Verifying the app:

  codesign -vvv --deep --strict "${appPath}"

  # Check the code signing status of a binary
  codesign -vvv --strict --verbose "${binary}"

  # Check the notarization status of app
  spctl -a -v --type install "${dmgPath}"

  # Notarize the .dmg after its signed
  xcrun notarytool log "UUID" --apple-id "my apple ID" --team-id "my team id" --password "my app password"


  # Check contents of provision profile
  security cms -D -i "/Users/{yourname}/Library/Developer/Xcode/UserData/Provisioning\ Profiles/{nameOfProvisioningProfile}.provisionprofile"

  1. For Firefox users, there's addditional setup to get the URL of the active tab.

First enable Firefox support for VoiceOver by going to about:config and setting the accessibility.force_disabled property to -1

Source: https://apple.stackexchange.com/questions/404841/get-url-of-opened-firefox-tabs-from-terminal