Skip to content

An AI powered notes app that uses Whisper and LLama to generate summaries and action items from a voice recording.

Notifications You must be signed in to change notification settings

sabirshalabi/noted

Repository files navigation

Noted

A modern, minimalist note-taking application that lets you record and transcribe your thoughts effortlessly. Built with Angular and Firebase, enhanced with Groq AI for intelligent note processing.

Features

  • Voice Recording: Capture your thoughts through voice recordings
  • Real-time Transcription: Automatic transcription of voice recordings to text
  • AI-Powered Processing: Intelligent note summarization and tagging using Groq AI
  • Google Authentication: Secure login with your Google account
  • Cloud Storage: All notes are securely stored in Firebase
  • Responsive Design: Beautiful, minimalist interface that works on all devices
  • Tag System: Organize your notes with customizable tags and AI-suggested tags
  • Rich Text Support: Format your notes with markdown-style syntax
  • Offline Support: Local storage for audio recordings

Tech Stack

  • Frontend: Angular 17
  • Authentication: Firebase Authentication
  • Database: Firebase Realtime Database
  • Storage: Firebase Storage
  • Hosting: Firebase Hosting
  • Speech-to-Text: Web Speech API
  • AI Processing: Groq API
  • Styling: SCSS with CSS Variables

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm (v9 or higher)
  • Angular CLI (v17 or higher)
  • Firebase CLI
  • Groq API Key

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/noted.git
cd noted
  1. Install dependencies:
npm install
  1. Set up environment variables:
    • Create src/environments/environment.ts and environment.prod.ts
    • Add your Firebase and Groq API configurations:
export const environment = {
  production: false, // or true for prod
  firebase: {
    // Your Firebase config
  },
  groq: {
    apiKey: 'your-groq-api-key'
  }
};
  1. Set up Firebase:

    • Create a new Firebase project
    • Enable Authentication with Google provider
    • Enable Realtime Database
    • Enable Storage
    • Copy your Firebase config to environments files
  2. Start the development server:

ng serve
  1. Open your browser and navigate to http://localhost:4200

Building for Production

ng build --configuration production

Deployment

firebase deploy

Project Structure

noted/
├── src/
│   ├── app/
│   │   ├── core/              # Core modules, services, and components
│   │   │   ├── components/    # Shared components (header, etc.)
│   │   │   ├── services/      # Global services (auth, groq, etc.)
│   │   │   └── models/        # TypeScript interfaces and models
│   │   ├── features/          # Feature modules
│   │   │   ├── note-list/     # Note list view
│   │   │   ├── note-detail/   # Note detail view
│   │   │   └── recording-dialog/  # Recording functionality
│   │   └── app.component.*    # Root component
│   ├── assets/               # Static assets
│   └── environments/         # Environment configurations
└── firebase.json            # Firebase configuration

Features in Detail

Authentication

  • Google Sign-in integration
  • Secure user sessions
  • Profile management with user photo and name display

Note Management

  • Create notes through voice recording
  • Real-time transcription of audio
  • AI-powered summarization and tagging
  • Edit and format note content
  • Add and manage tags
  • Delete notes
  • View note history

AI Integration

  • Automatic note summarization
  • Smart tag suggestions
  • Content organization
  • Key points extraction

User Interface

  • Dark mode design
  • Responsive layout
  • Intuitive navigation
  • Clean, minimalist aesthetic

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Security

This project uses environment files to store sensitive API keys and configurations. These files are not committed to the repository. See the Installation section for setup instructions.

About

An AI powered notes app that uses Whisper and LLama to generate summaries and action items from a voice recording.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published