https://github.com/twidgeapp/twidge
Twidge is a fresh approach to productivity. It integrates with your workflow and allows you to be your most productive self.
https://github.com/twidgeapp/twidge
productivity radix react rust tailwind tauri todo typescript
Last synced: 4 months ago
JSON representation
Twidge is a fresh approach to productivity. It integrates with your workflow and allows you to be your most productive self.
- Host: GitHub
- URL: https://github.com/twidgeapp/twidge
- Owner: twidgeapp
- License: apache-2.0
- Archived: true
- Created: 2022-07-29T14:01:53.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-12T20:23:48.000Z (over 1 year ago)
- Last Synced: 2024-09-21T08:32:02.232Z (8 months ago)
- Topics: productivity, radix, react, rust, tailwind, tauri, todo, typescript
- Language: TypeScript
- Homepage: https://twidge.app
- Size: 113 MB
- Stars: 227
- Watchers: 9
- Forks: 19
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
![]()
Twidge
A productivity app which is an extension to your mind
Twidge is a cross platform productivity app, powered by [rust](https://rust-lang.org), [tauri](https://tauri.app), [prisma-client-rust](https://github.com/Brendonovich/prisma-client-rust)
Twidge works entirely offline, the various features provided by twidge are listed [below](#features)
# Motivation
Due to my ever-increasing school work, I seldom had time to code. One day, I tried to see why I was getting so little time, and that is when I realized that a lot of my time was spent deciding what I should do next. The answer was obvious I needed a calendar app, I tried almost all of the calendar apps and realized that I was spending more than 30 minutes filling in my calendar, it was also clear that I needed something more than a calendar, something wherein I can throw all the links when I browse the web so that I can look at them later on, therefore twidge was born.
# Features
Completed:
- Configuration - The structure for the source code of Twidge, built entirely on react, tauri and rust. The structure was inspired by [spacedrive](https://spacedrive.com)
In progress:
- Spaces - Spaces help you divide tasks based on a specific tag (say work, personal, junk etc)
- Infinite Scroll View: Twidge aims to offer an infinite scroll view where you can write everything down
- Todo List: Map all your tasks in a single list, these tasks can be linked with calendars and embeds.
- Calendar: You can map tasks to calendars so that you know what tasks have to be completed when.
- Embeds: Embed Youtube vides, Google searches, Twitter posts, etc. So that you never loose that resource which you found 2 months earlier.
- Global Keymaps: Ctrl+Shift+K and you have your powerful menu ⚡, create tasks, embeds, calendar events etc.
- Notification Handler - So that you are reminded 5-15 minutes before a new task starts.Post MVP:
- Mobile app (IOS/Android)
- Sync between devices.
- Save all the tasks on the cloud
- Collaboration of tasks between different people# Architecture
We follow an architecture similar to that of [spacedrive](https://spacedrive.com).
- [Prisma](https://github.com/Brendonovich/prisma-client-rust), [Rust](https://www.rust-lang.org/), [rspc](https://rspc.otbeaumont.me), [React](https://reactjs.org/), [Typescript](https://www.typescriptlang.org/), [Tauri](https://tauri.app/), [Stitches](https://stitches.dev/) and [Radix](https://radix-ui.com)
- Tauri uses OS webviews, this helps remove the overhead of V8 (like in electron), and brings cpu and ram-usage to a minimum.
- We can use prisma on the front-end thanks to [brendan](https://github.com/brendonovich) who is the creator of [prisma-client-rust](https://github.com/Brendonovich/prisma-client-rust)# Monorepo
## Apps (/apps)
- `src-tauri`: A rust tauri app.
- `web`: The website which will be rendered by Tauri## Packages (/packages)
- `components` (TS): Components required by the `web` app
- `config` (TS): Project wide config such as eslint, prettier, stitches etc.
- `primitives` (TS): UI primivites
- `utils` (TS): Utilities required by the web app
- `core` (Rust): The core of twidge, built in Rust