Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
An iOS framework for easily adding drawings and text to images.
| Date | Stars |
|---|---|
| 2026-07-31 | 1769 |
| 2026-08-06 | 1769 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
[](http://ifttt.github.io)

[](http://cocoadocs.org/docsets/jot) [](https://travis-ci.org/IFTTT/jot) [](https://coveralls.io/r/IFTTT/jot?branch=master)
`jot` is an easy way to add touch-controlled drawings and text to images in your iOS app.

## What's `jot` for?
### Annotating Images
`jot` is the easiest way to add annotations to images with a touch interface. You can draw arrows or circle important things, as well as add resizable, rotatable text captions, and easily save the notes on top of a image using `drawOnImage:`.
### Whiteboard or Drawing Apps
`jot` is perfect for quick sketches and notes in your whiteboard or drawing app. It's easy to change the drawing color or stroke width, and when you're done, you can call `renderImageOnColor:` to save the sketch.
### Signatures
`jot` is a great solution if you need to collect user signatures through a touch interface. Set the `drawingColor` to black, set the state to `JotViewStateDrawing`, and save the signature when the user is done by calling `renderImageOnColor:`.
## Installation
`jot` is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your `Podfile`:
```
pod "jot"
```
## Example Project
To run the example project, clone the repo, and run `pod install` from the `Example` directory.
## Usage
Add an instance of `JotViewController` as a child of your view controller. Adjust the size and layout of `JotViewController `'s view however you'd like.
```objc
#import "ExampleViewController.h"
#import <jot/jot.h>
@interface ExampleViewController ()
@property (nonatomic, strong) JotViewController *jotViewController;
@end
@implementation ExampleViewController
- (void)viewDidLoad
{
[super viewDidLoad];
_jotViewController = [JotViewController new];
self.jotViewController.delegate = self;
[self addChildViewController:self.jotViewController];
[self.view addSubview:self.jotViewController.view];
[self.jotViewController didMoveToParentViewController:self];
self.jotViewController.view.frame = self.view.frame;
}
```
Switch between drawing, text manipulation, and text edit mode.
```objc
- (void)switchToDrawMode
{
self.jotViewController.state = JotViewStateDrawing;
}
- (void)switchToTextMode
{
self.jotViewController.state = JotViewStateText;
}
- (void)switchToTextEditMode
{
self.jotViewController.state = JotViewStateEditingText;
}
```
Clear the drawing.
```objc
// Clears text and drawing
[self.jotViewController clearAll];
// Clears only text
[self.jotViewController clearText];
// Clears only drawing
[self.jotViewController clearDrawing];
```
### Image Output
Draw on a background image.
```objc
- (UIImage *)imageWithDrawing
{
UIImage *myImage = self.imageView.image;
return [self.jotViewController drawOnImage:myImage];
}
```
Draw on a color.
```objc
- (UIImage *)imageOnColorWithDrawing
{
UIColor *backgroundColor = self.view.backgroundColor;
return [self.jotViewController renderImageOnColor:backgroundColor];
}
```
Draw on a transparent background.
```objc
- (UIImage *)imageOnColorWithDrawing
{
UIColor *backgroundColor = self.view.backgroundColor;
return [self.jotViewController renderImage];
}
```
### Basic Configuration
#### Text Settings
Change the font.
```objc
self.jotViewController.font = [UIFont boldSystemFontOfSize:64.f];
```
Change the font size.
```objc
self.jotViewController.fontSize = 64.f;
```
Change the text color.
```objc
self.jotViewController.textColor = [UIColor redColor];
```
Set the initial text string.
```objc
self.jotViewController.textString = @"Hello World";
```
#### Drawing Settings
Change the drawiExcerpt of 5,311 characters
Read on GitHub28
2
1
Would you bet a product on this? Bounded 0–100 and slow moving.
Not classified yet. Classification runs as part of npm run ingest.