Skip to content

Latest commit

 

History

268 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trojes logo

Idea: "aprovechar el lote, comprar semillas pa' sembrar papa" → saved to Trojes 🤗

MIT License Next.js Neon PRs Welcome

Trojes is an idea capture built for the moments inspiration strikes. Optimized for speed of entry, not elaborate categorization at the point of capture.


Screenshots

Main dashboard
Main dashboard – ideas in a masonry grid, Inbox/Archived/Trash tabs, and bottom navigation. This is where you spend your time.
Mobile
Mobile PWA – installable on your home screen, icon-only tab navigation, bottom sheet for pinned ideas.

Features

  • Frictionless capture — Press i, type, save with ⌘↵. Done.
  • Keyboard-first — Navigate ideas with j/k, act with Enter, no mouse needed.
  • Masonry grid — Pinterest-style layout.
  • Markdown support — Write with bold, italics, lists, code blocks, headings, and more. Rendered inline on cards.
  • Pin & organize — Pin important ideas to a persistent tray, archive the rest.
  • Trash with recovery — Soft delete with time tracking, permanent delete option.
  • API-first capture — Generate API keys from Settings, POST ideas from any tool.
  • PWA ready — Install on mobile home screen, works offline.
  • Offline-first sync — Ideas are saved to a device-local SQLite mirror (PowerSync) and synced to the server when connectivity returns.
  • Dark mode — Light, dark, and system themes with a single keystroke (d).

Quick Start

bun install
bun run db:migrate
bun dev

Open http://localhost:3000 — sign in with Google.

Database

Trojes uses Drizzle ORM with Neon PostgreSQL:

bun run db:generate   # Create migration
bun run db:migrate    # Apply migration
bun run db:studio     # Open Drizzle Studio

Environment variables: see .env.example — only DATABASE_URL is required.

Offline sync (PowerSync)

Trojes is offline-first: the client reads and writes to a local SQLite mirror backed by PowerSync, which syncs bidirectionally with Neon PostgreSQL. Capture always works — even offline — and local changes are uploaded when connectivity returns.

  • DATABASE_URL remains required for the server database.
  • POWERSYNC_INSTANCE_URL, POWERSYNC_JWT_SECRET, POWERSYNC_JWT_KID, and POWERSYNC_JWT_AUDIENCE are required for sync. Your PowerSync instance must be connected to the same Postgres database (logical replication), and the ideas table must be in a publication tracked by PowerSync.
  • The client serves its worker from public/@powersync/ (regenerated on install via the postinstall script).

Keyboard Shortcuts

Key Action
i New idea
j / k Navigate down / up
h / l Navigate left / right
Enter Open card menu
e Edit selected idea
Esc / q Close menu / deselect
q Close dialog
e Open settings
d Toggle light/dark theme
Ctrl+E / Cmd+E Expand / restore settings
Ctrl+1 Switch to Archived
Ctrl+2 Switch to Inbox
Ctrl+3 Switch to Trash

API Reference

Send ideas to Trojes from any tool that speaks HTTP.

Authentication

Authorization: Bearer trojes_your_api_key_here

Generate keys from Settings → API Keys (visible once on creation).

Endpoints

Create ideaPOST /api/ideas

{ "content": "My brilliant idea" }

List ideasGET /api/ideas?status=inbox|archived|deleted&search=keyword

Update ideaPATCH /api/ideas/{id}

{ "status": "archived", "pinned": true, "background_color": "mint" }

Delete permanentlyDELETE /api/ideas/{id}

Available background colors

coral, peach, sand, mint, sage, fog, storm, dusk, lavender, blossom, rose

cURL Example

curl -X POST "http://localhost:3000/api/ideas" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer trojes_your_api_key_here" \
  -d '{"content":"Idea from terminal"}'

Tech Stack

Framework Next.js 16 (App Router, React 19)
Database Neon (Serverless PostgreSQL via Drizzle ORM)
Offline sync PowerSync (local SQLite mirror + bidirectional sync)
Auth NextAuth.js (Google OAuth)
Styling Tailwind CSS v4 + shadcn/ui
Data fetching SWR (API keys) + PowerSync useQuery (ideas)
State Zustand
Deployment Vercel

Roadmap

Goal 1 — Trojes as a Platform

Trojes platform architecture

Track the full roadmap on Fizzy.

Open to collaborate, feedback, or just a good idea — alwaaays learniiing.


License

MIT — see LICENSE.

About

Trojes is an idea capture built for the moments inspiration strikes. Optimized for speed of entry, not elaborate categorization at the point of capture.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages