Project Info
Inspiration
During our internships this past summer, we both noticed that project scheduling systems are typically very slow, out of date, and hard to use. We wanted to change that, so we made Hive, a fully automated agent-powered workflow system that allows for efficient communication of project statuses via Letta agents.
What it does
In this system, every employee is represented by a Letta agent. Projects are represented as a shared memory block, or shared context between relevant agents. Business owners can assign employees to projects, and those employee's agents will be able to read, modify, and interpret those shared memory blocks. This is much cleaner and easier to use than previous project management systems because rather than combing through massive excel files or unorganized notions, employees and admins can simply ask an agent about the status of the project, or tell it what work they've done for the project and the agent will take care of all of the organization automatically. This leads to a much more streamlined workflow, and an overall more productive system.
How we built it
First we had to get the agent generation system working. This would trigger whenever a new employee signs up because every employee needs their own agent. After this, we implemented the shared memory block flow where admins could initialize new projects and assign employees to them. Lastly, we worked on a basic frontend that is familiar and easy to use.
Challenges we ran into
The internet connection was singlehandedly the biggest limiting factor in our process. For multiple hours, we couldn't use github due to a bad connection, and even when it was working general research and progress was greatly slowed. In the beginning, we also struggled to come up with an idea, and ultimately didn't start coding until quite a few hours into the challenge.
Accomplishments we're proud of
We are proud of delivering on our agreed upon MVP throughout the internet struggles. We also spent a lot of time learning the details of agents and the Letta flow, which resulted in a much deeper understanding than we had before.
What we learned
We learned that in the future, designing a project and setting clear roles for participants is very important. If we had prepared a little more beforehand, we would have had a lot more time, and could have gotten some more of our reach goals for this project.
What's next
We really wanted to implement MCP Server stuff into the agents, but we were ultimately unable to fully implement this due to the internet problems. In the future we hope to expand on this idea and fully implement it because it would make a huge difference in productivity overall.
Hive AI Team
A collaborative AI application where teams can have individual AI agents with shared and personal memory blocks, built with Letta and TypeScript.
Features
π€ AI Agent System
- Individual Agents: Each team member gets their own AI agent with unique personality and work preferences
- Shared Memory: Company-wide knowledge base accessible to all agents
- Personal Memory: Individual memory blocks storing agent-specific knowledge and interactions
- Smart Queries: Agents can answer questions about projects, team members, and company information
π₯ Team Management
- User Authentication: Secure login/registration system with JWT tokens
- Role-Based Access: Admin and employee roles with different permissions
- Agent Creation: Users can create and customize their AI agents
- Project Management: Admins can create projects and assign agents to them
ποΈ Admin Console
- Dashboard: Overview of users, agents, projects, and memory blocks
- User Management: View and manage all team members
- Agent Management: Monitor and manage all AI agents
- Memory Management: Add and manage shared knowledge blocks
- Project Management: Create projects and assign team members
π Web Interface
- Modern UI: Clean, responsive interface built with Tailwind CSS
- Real-time Queries: Interactive chat interface with AI agents
- Agent Management: Easy creation and management of personal agents
- Admin Panel: Comprehensive admin interface for team management
Technology Stack
- Backend: Node.js, Express.js, TypeScript
- AI Integration: Claude AI (Anthropic)
- Database: SQLite with custom ORM
- Authentication: JWT with bcrypt password hashing
- Frontend: Vanilla JavaScript with Tailwind CSS
- Validation: Zod for request validation
Quick Start
Prerequisites
- Node.js (v16 or higher)
- npm or yarn
Installation
-
Clone the repository
git clone <repository-url> cd hive -
Install dependencies
npm install -
Set up environment variables
cp env.example .envEdit
.envfile with your configuration:DATABASE_URL=./data/hive.db JWT_SECRET=your-super-secret-jwt-key-here PORT=3001 NODE_ENV=development ANTHROPIC_API_KEY=your-anthropic-api-key-here -
Start the development server
npm run dev -
Open your browser Navigate to
http://localhost:3001
First Time Setup
-
Register an admin account
- Go to the registration form
- Select "Admin" role
- Create your account
-
Create your first agent
- Login with your admin account
- Click "Create Agent"
- Define the agent's personality and work preferences
-
Add shared knowledge
- Use the admin panel to add company-wide information
- This knowledge will be available to all agents
API Endpoints
Authentication
POST /api/auth/register- Register new userPOST /api/auth/login- Login user
Agents
GET /api/agents/my-agents- Get user's agentsPOST /api/agents- Create new agentGET /api/agents/:id- Get specific agentPUT /api/agents/:id- Update agentDELETE /api/agents/:id- Delete agentPOST /api/agents/:id/query- Query agent
Admin
GET /api/admin/stats- Get dashboard statisticsGET /api/admin/users- Get all usersGET /api/admin/agents- Get all agentsGET /api/admin/projects- Get all projectsPOST /api/admin/projects- Create projectPOST /api/admin/memory-blocks- Create memory block
Database Schema
Users
id- Unique identifieremail- User email (unique)name- User display namepassword_hash- Hashed passwordrole- 'admin' or 'employee'
Agents
id- Unique identifieruser_id- Owner user IDname- Agent namepersonality- Agent personality descriptionwork_preferences- JSON array of work preferencesis_active- Boolean active status
Projects
id- Unique identifiername- Project namedescription- Project descriptionstatus- 'active', 'completed', or 'paused'
Memory Blocks
id- Unique identifiertype- 'shared' or 'individual'agent_id- Agent ID (for individual blocks)content- Memory contentmetadata- JSON metadata
Development
Project Structure
src/
βββ ai/ # AI agent system
β βββ agent.ts # Individual AI agent
β βββ agentManager.ts # Agent management
βββ auth/ # Authentication system
β βββ auth.ts # Auth service
βββ database/ # Database layer
β βββ connection.ts # Database connection
β βββ schema.sql # Database schema
βββ middleware/ # Express middleware
β βββ auth.ts # Auth middleware
βββ routes/ # API routes
β βββ auth.ts # Auth routes
β βββ agents.ts # Agent routes
β βββ admin.ts # Admin routes
βββ types/ # TypeScript types
β βββ index.ts # Type definitions
βββ public/ # Frontend files
β βββ index.html # Main HTML
β βββ app.js # Frontend JavaScript
βββ app.ts # Express app setup
βββ index.ts # Application entry point
Available Scripts
npm run dev- Start development server with hot reloadnpm run build- Build TypeScript to JavaScriptnpm start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript type checking
Adding New Features
-
New API Endpoints
- Add routes in
src/routes/ - Update types in
src/types/index.ts - Add database methods in
src/database/connection.ts
- Add routes in
-
New AI Features
- Extend
src/ai/agent.tsfor new agent capabilities - Update
src/ai/agentManager.tsfor management features
- Extend
-
Frontend Updates
- Modify
src/public/index.htmlfor UI changes - Update
src/public/app.jsfor functionality
- Modify
Configuration
Environment Variables
DATABASE_URL- SQLite database file pathJWT_SECRET- Secret key for JWT tokensPORT- Server port (default: 3000)NODE_ENV- Environment (development/production)ANTHROPIC_API_KEY- Anthropic Claude API key
Database
The application uses SQLite for simplicity. For production, consider migrating to PostgreSQL or MySQL by updating the database connection in src/database/connection.ts.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details
Support
For questions or issues, please open an issue on GitHub or contact the development team.
Analysis
View
Metric
- 25
- 4
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- AnthropicIn code
- CSSIn code
- ExpressIn code
- HTMLIn code
- ReactIn code
- SQLIn code
- SupabaseIn code
- TypeScriptIn code
8 of 8 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
139 KB
Source files
26
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
tupdaily/hive
34 files Β· 386 KB Β· @ acaa618
Structure
API & routing
5 files Β· 15%Request entry points: routes, handlers and controllers.
Application logic
8 files Β· 24%Domain rules, services and shared utilities.
Data & schema
2 files Β· 6%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here β open the file browser to check anything the diagram implies.
Languages
- TypeScript85%
- Markdown7%
- SQL4%
- CSS3%
- HTML1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm Β· 28- @anthropic-ai/sdk
- @letta-ai/letta-client
- @supabase/supabase-js
- @types/react
- @types/react-dom
- bcryptjs
- cors
- dotenv
- express
- helmet
- jsonwebtoken
- react
- react-dom
- uuid
- zod
- +13 more
Declared in the repositoryβs manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This projectβs features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.