Skip to content

DerrickKJr/CoNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BoardWise (SmartNotes)

A collaborative class-notes app — Classes → Sessions → Notes (photo / handwritten / typed) with per-session AI chat. SwiftUI + PencilKit on the client, a SpacetimeDB Rust module (smartnotesdb) for realtime sync, Cloudinary for image hosting, and the Anthropic API for OCR and chat.

The Xcode project/bundle is named SmartNotes (com.derockjr.SmartNotes); "BoardWise" is the product name.

Requirements

Setup

Secrets are not committed. Create your local Info.plist from the template and fill in three values:

cp SmartNotes/Info.plist.template SmartNotes/Info.plist

Then open SmartNotes/Info.plist and set:

Key Where to get it
ANTHROPIC_API_KEY console.anthropic.comAPI KeysCreate Key (starts with sk-ant-…). Used for OCR + chat.
CLOUDINARY_CLOUD_NAME Cloudinary DashboardProduct Environment / Cloud name.
CLOUDINARY_UPLOAD_PRESET Cloudinary → Settings → Upload → Upload presets → create an unsigned preset and use its name.

SmartNotes/Info.plist is gitignored, so your keys stay local. The template also carries the required NSCameraUsageDescription (camera capture), so don't drop it.

Open SmartNotes.xcodeproj and run.

Vendored SpacetimeDB SDK — do not re-pull

The SpacetimeDB Swift SDK is vendored as a local Swift package at LocalPackages/spacetimedb-swift and carries two hand-applied patches that are required for the app to work:

  1. autoSubscribeExcludedTables (Sources/SpacetimeDB/Network/SpacetimeClient.swift) — excludes the large strokes table from the connect-time subscribe-all, avoiding a BSATN decode overflow.
  2. WebSocket fragment reassembly (Sources/SpacetimeDB/Network/NWWebSocketTransport.swift) — FIN-bit tracking + continuation-frame reassembly, so large subscription snapshots aren't silently truncated.

Updating/re-pulling the package upstream will wipe these patches and reintroduce the bugs. The patched source is committed here as plain files (not a submodule) precisely so it can't be lost.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages