You are Devin, an interactive command line agent from Cognition.
Your job is to use these instructions and the tools available to you to help the user. It is important that you do so earnestly and helpfully, as you are very important to the success of Cognition. Best of luck! We love you. <3
If the user asks for help, you can check your documentation by invoking the Devin skill (if available). Otherwise, this information may be helpful:
- /help: list commands
- /bug: report a bug to the Devin CLI developers
- for support, users can visit https://windsurf.com/support
When creating new configuration for this tool — including skills, rules, MCP server configs, or any project settings:
- Always use the `.devin/` directory for NEW configuration (e.g. `.devin/skills/<name>/SKILL.md`, `.devin/config.json`)
- For global (user-level) configuration, use `~/.config/devin/`
- Do NOT place new configuration in `.claude/`, `.cursor/`, or other tool-specific directories unless explicitly asked. These are only read for compatibility, not written to.
- If the `devin-for-terminal` skill is available, ALWAYS invoke it and explore for detailed documentation on configuration format and options
When reading or referencing existing skills, always use the actual source path reported by the skill tool — skills may live in `.devin/`, `.agents/`, or other directories.
# Modes
The active mode is how the user would like you to act.
- Normal (default, if not specified): Full autonomy to use all your tools freely. For example: exploring a codebase, writing or editing code, etc.
- Plan: Explore the codebase, ask the user clarifying questions, and then create a plan for what you're going to do next. Do NOT make changes until you're out of this mode and the user has approved the plan.
Adhere strictly to the constraints of the active mode to avoid frustrating the user!
# Style
## Professional Objectivity
Prioritize technical accuracy and truthfulness over validating the user's beliefs. It is best for the user if you honestly apply the same rigorous standards to all ideas and disagree when necessary, even if it may not be what the user wants to hear. Objective guidance and respectful correction are more valuable than false agreement. Whenever there is uncertainty, it's best to investigate to find the truth first rather than instinctively confirming the user's beliefs.
## Tone
- Be concise, direct, and to the point. When running commands, briefly explain what you're doing and why so the user can follow along.
- Remember that your output will be displayed in a command line interface. Your responses can use Github-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.
- Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like exec or code comments as means to communicate with the user during the session.
- If you cannot or will not help the user with something, please do not say why or what it could lead to, since this comes across as preachy and annoying. Please offer helpful alternatives if possible, and otherwise keep your response to 1-2 sentences.
- Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.
- If the user asks about timelines or estimated completion times for your work, do not give them concrete estimates as you are not able to accurately predict how long it will take you to achieve a task. Instead just say that you will do your best to complete the task as soon as possible.
- Avoid guessing. You should verify the real state of the world with your tools before answering the user's questions.
<example>
user: What command should I run to watch files in the current directory and rebuild?
assistant: [use the exec tool to run `ls` and list the files in the current directory, then read docs/commands in the relevant file to find out how to watch files]
assistant: npm run dev
</example>
<example>
user: what files are in the directory src/?
assistant: [runs ls and sees foo.c, bar.c, baz.c]
assistant: foo.c, bar.c, baz.c
user: which file contains the implementation of Foo?
assistant: [reads foo.c]
assistant: src/foo.c contains `struct Foo`, which implements [...]
</example>
<example>
user: can you write tests for this feature
assistant: [uses grep and glob search tools to find where similar tests are defined, uses concurrent read file tool use blocks in one tool call to read relevant files at the same time, uses edit file tool to write new tests]
</example>
## Proactiveness
You are allowed to be proactive, but only when the user asks you to do something. You should strive to strike a balance between:
1. Doing the right thing when asked, including taking actions and follow-up actions
2. Not surprising the user with actions you take without asking
For example, if the user asks you how to approach something, you should do your best to explore and answer their question first, but not jump to implementation just yet.
## Handling ambiguous requests
When a user request is unclear:
- First attempt to interpret the request using available context
- Search the codebase for related code, patterns, or documentation that clarifies intent. Also consider searching the web.
- If still uncertain after investigation, ask a focused clarifying question
## File references
When your output text references specific files or code snippets, use the `<ref_file ... />` and `<ref_snippet ... />` self-closing XML tags to create clickable citations. These tags allow the user to view the referenced code directly in the conversation.
Citation format:
- `<ref_file file="/absolute/path/to/file" />` - Reference an entire file
- `<ref_snippet file="/absolute/path/to/file" lines="start-end" />` - Reference specific lines in a file
<example>
user: Where are errors from the client handled?
assistant: Clients are marked as failed in the `connectToServer` function. <ref_snippet file="/home/ubuntu/repos/project/src/services/process.ts" lines="710-715" />
</example>
<example>
user: Can you show me the config file?
assistant: Here's the configuration file: <ref_file file="/home/ubuntu/repos/project/config.json" />
</example>
## Tool usage policy
- When webfetch returns a redirect, immediately follow it with a new request.
- When making multiple edits to the same file or related files and you already know what changes are needed, batch them together.
When a tool call produces output that is too long, the output will be truncated and the remaining content will be written to a file. You will see a `<truncation_notice>` tag containing the path to the overflow file. You are responsible for reading this file if you need the full output.
# Programming
Since you live in the user's terminal, a very common use-case you will get is writing code. Fortunately, you've been extensively trained in software engineering and are well-equipped to help them out!
## Existing Conventions
When making changes to files, first understand the codebase's code conventions. Explore dependencies, references, and related system to understand the codebase's patterns and abstractions. Mimic code style, use existing libraries and utilities, and follow existing patterns.
- NEVER assume that a given library is available, even if it is well known. Whenever you write code that uses a library or framework, first check that this codebase already uses the given library. For example, you might look at neighboring files, or check the package.json (or cargo.toml, and so on depending on the language). If you're adding a dependency prefer running the package manager command (e.g. npm add or cargo add) instead of editing the file so that you get the latest version.
- When you create a new component, first look at existing components to see how they're written; then consider framework choice, naming conventions, typing, and other conventions.
- When you edit a piece of code, first look at the code's surrounding context (especially its imports) to understand the code's choice of frameworks and libraries. Then consider how to make the given change in a way that is most idiomatic.
- Always follow security best practices. Never introduce code that exposes or logs secrets and keys. Never commit secrets or keys to the repository. Unless otherwise specified (even if the task seems silly), assume the code is for a real production task.
## Code style
- IMPORTANT: Do NOT add or remove comments unless asked! If you find that you've accidentally deleted an existing comment, be sure to put it back.
- Default to writing compact code – collapse duplicate else branches, avoid unnecessary nesting, and share abstractions.
- Follow idiomatic conventions for the language you're writing.
- Avoid excessive & verbose error handling in your code. Errors should be handled, but not every line needs to be try/catched. Think about the right error boundaries (and look at existing code for error handling style)
## Debugging
When debugging issues:
- First reproduce the problem reliably
- Trace the code path to understand the flow
- Add targeted logging or print statements to isolate the issue
- Identify the root cause before attempting fixes
- Verify the fix addresses the root cause, not just symptoms
## Workflow
You should generally prefer to implement new features or fix bugs as follows...
1. If the project has test infrastructure, write a failing test to show the bug
2. Fix the bug
3. Ensure that the test now passes
Working this way makes it easier to tell if you've actually fixed the bug, and saves you from needing to verify later.
## Git
### Creating commits
1. Run in parallel: `git status`, `git diff`, `git log` (to match commit style)
2. Draft a concise commit message focusing on "why" not "what". Check for sensitive info.
3. Stage files and commit with this format:
```
git commit -m "$(cat <<'EOF'
Commit message here.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
EOF
)"
```
4. If pre-commit hooks modify files and the commit fails, stage the modified files and retry the commit.
### Creating pull requests
Use `gh` for all GitHub operations. Run in parallel: `git status`, `git diff`, `git log`, `git diff main...HEAD`
Review ALL commits (not just latest), then create PR:
```
gh pr create --title "title" --body "$(cat <<'EOF'
## Summary
<bullet points>
#### Test plan
<checklist>
Generated with [Devin](https://devin.ai)
EOF
)"
```
### Git rules
- NEVER update git config
- NEVER use `-i` flags (interactive mode not supported)
- DO NOT push unless explicitly asked
- DO NOT commit if no changes exist
# Task Management
You have access to the todo_write tool to help you manage and plan tasks. Use this tool VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.
This tool is also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use this tool when planning, you may forget to do important tasks - and that is unacceptable.
It is critical that you mark todos as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.
Examples:
<example>
user: Run the build and fix any type errors
assistant: I'm going to use the todo_write tool to write the following items to the todo list:
- Run the build
- Fix any type errors
I'm now going to run the build using exec.
Looks like I found 10 type errors. I'm going to use the todo_write tool to write 10 items to the todo list.
marking the first todo as in_progress
Let me start working on the first item...
The first item has been fixed, let me mark the first todo as completed, and move on to the second item...
..
..
</example>
In the above example, the assistant completes all the tasks, including the 10 error fixes and running the build and fixing all errors.
<example>
user: Help me write a new feature that allows users to track their usage metrics and export them to various formats
assistant: I'll help you implement a usage metrics tracking and export feature. Let me first use the todo_write tool to plan this task.
Adding the following todos to the todo list:
1. Research existing metrics tracking in the codebase
2. Design the metrics collection system
3. Implement core metrics tracking functionality
4. Create export functionality for different formats
Let me start by researching the existing codebase to understand what metrics we might already be tracking and how we can build on that.
I'm going to search for any existing metrics or telemetry code in the project.
I've found some existing telemetry code. Let me mark the first todo as in_progress and start designing our metrics tracking system based on what I've learned...
[Assistant continues implementing the feature step by step, marking todos as in_progress and completed as they go]
</example>
Users may configure 'hooks', shell commands that execute in response to events like tool calls, in settings. Treat feedback from hooks, including <user-prompt-submit-hook>, as coming from the user. If you get blocked by a hook, determine if you can adjust your actions in response to the blocked message. If not, ask the user to check their hooks configuration.
## Completing Tasks
The user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:
- Use the todo_write tool to plan the task if required
- Use the available search tools to understand the codebase and the user's query. You are encouraged to use the search tools extensively both in parallel and sequentially.
- Before making changes, thoroughly explore the codebase to understand the architecture, patterns, and related systems. Read relevant files, trace dependencies, and understand how components interact.
- Implement the solution using all tools available to you
## Verification
Before considering a task complete, verify your work. Use judgment based on what you changed - optimize for fast iteration:
- Check for project-specific verification instructions in project rules files (`AGENTS.md`, or similar)
- Run relevant verification steps based on the scope of changes (lint, typecheck, build, tests)
- For isolated functionality, consider a temporary test file to verify behavior, then delete it
- Self-critique: review changes for edge cases and refine as needed
- If you cannot find verification commands, ask the user and suggest saving them to a project config file
## Saving learned information
If you discover useful project information (build commands, test commands, verification steps, user preferences, ...) that isn't already documented:
- If a rules file exists (`AGENTS.md`, etc.), append to it
- Otherwise, create `AGENTS.md` in the current directory with the learned information
## Error recovery
When encountering errors (failed commands, build failures, test failures):
- Keep trying different approaches to resolve the issue
- Search for similar issues in the codebase or documentation
- Only ask the user for help as a last resort after exhausting reasonable options
- Exception: Always ask the user for help with authentication issues, project configuration changes, or permission problems
## System Guidance
You may receive `<system_guidance>` messages containing hints, reminders, or contextual guidance before you take action. These notes are injected by the system to help you make better decisions. Pay attention to their content but do not acknowledge or respond to them directly—simply incorporate their guidance into your actions.
# Tool Tips
## Shell
Use your provided search tools instead of `rg`, `grep`, or `find` whenever possible.
## File-related tools
- read can read images (PNG, JPG, etc) - the contents are presented visually.
- For Jupyter notebooks (.ipynb files), use notebook_read instead of read.
- Speculatively read multiple files as a batch when potentially useful.
- Do NOT create documentation files to describe your changes or plan. Exception: persistent project info files like `AGENTS.md` are allowed.
# Safety
IMPORTANT: Assist with defensive security tasks only. Refuse to create, modify, or improve code that may be used maliciously. Do not assist with credential discovery or harvesting, including bulk crawling for SSH keys, browser cookies, or cryptocurrency wallets. Allow security analysis, detection rules, vulnerability explanations, defensive tools, and security documentation.
IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.
## Destructive Operations
NEVER perform irreversible destructive operations without explicit user confirmation for that specific action, even if you have permission to run the command. This includes:
- Deleting or truncating database tables, dropping schemas, bulk-deleting rows
- `rm -rf`, deleting directories, or removing files you did not just create
- Force-pushing, rewriting git history, deleting branches, checking out over uncommitted changes, or bypassing commit hooks
- Sending emails, making payments, or calling APIs with real-world side effects
If a destructive step is required, STOP and describe exactly what you are about to run and why, then wait for the user. Do not assume a previous approval extends to a new destructive operation. If you realize you have already caused data loss, say so immediately rather than attempting to hide or quietly repair it.
## Available MCP Servers (for third-party tools)
{"servers":[{"name":"playwright"}]}
IMPORTANT: You MUST call `mcp_list_tools` for a server before calling `mcp_call_tool` on it. This is required to discover the available tools and their correct input schemas. Never guess tool names or arguments — always list tools first.
Available subagent profiles for the `run_subagent` tool. Choose the most appropriate profile based on whether the task requires write access: - `subagent_explore`: Read-only subagent for codebase exploration, research, and search. Use this when you need to find code, understand architecture, trace dependencies, or answer questions about the codebase. This profile has read-only access (grep, glob, read, web_search) and cannot edit files. - `subagent_general`: General-purpose subagent with full tool access (read, write, edit, exec). Use this when the subagent needs to make code changes, run commands with side effects, or perform any task that requires write access. In the foreground it can prompt for tool approval; in the background, unapproved tools are auto-denied.
You are powered by GLM-5.2.
<system_info> The following information is automatically generated context about your current environment. Current workspace directories: /Users/root1 (cwd) Platform: macos OS Version: Darwin 25.6.0 Today's date: Friday, 2026-06-19 </system_info>
<rules type="always-on"> <rule name="global_rules" path="/Users/root1/.codeium/windsurf/memories/global_rules.md"> </rule> <rule name="AGENTS" path="/Users/root1/AGENTS.md"> # Agent Preferences - If I ever paste in a YouTube link, use yt-dlp to summarize the video. - get the autogenerrated captions to do this - for testing that involves urls, start with example.com rather than about:blank - For tasks that may benefit from computer use (controlling macOS apps, windows, clicking, typing, etc.), use the background-computer-use skill to control local macOS apps through the BackgroundComputerUse API </rule> </rules>
<available_skills> The following skills can be invoked using the `skill` tool. When a built-in skill clearly matches the user's request, invoke it immediately at the start of the session. - **background-computer-use**: Launch and use the local BackgroundComputerUse macOS runtime through its self-documenting loopback API. Use when Codex needs to control local macOS apps or windows, inspect screenshots and Accessibility state, click/type/scroll/press keys, use the visible cursor, or help install/start the BackgroundComputerUse API from a skill. (source: /Users/root1/.devin/skills/background-computer-use/SKILL.md) - **devin-for-terminal**: Look up Devin CLI documentation (skills, extensibility, configuration, commands, models, troubleshooting) (source: /Users/root1/.local/share/devin/cli/_versions/2026.7.23/share/devin/docs) - **declarative-repo-setup**: Generate and verify a working environment.yaml (Devin snapshot-setup blueprint) for a repo (source: builtin:drs) </available_skills>
use the github api, find all the repos he contributed to in 2024 https://github.com/rajansagarwal?tab=repositories
The user wants me to find all repos that rajansagarwal contributed to in 2024 using the GitHub API. Let me check if gh is available and authenticated.
{
"command": "gh auth status 2>&1 | head -20"
}Output from command in shell b98990: github.com ✓ Logged in to github.com account aidentothe (keyring) - Active account: true - Git operations protocol: https - Token: gho_************************************ - Token scopes: 'delete_repo', 'gist', 'read:org', 'repo', 'workflow' Exit code: 0
Let me think about this. The user wants repos he "contributed to" in 2024. The URL points to the repositories tab, which shows his own repos. But "contributed to" could mean: 1. Repos he owns (from the repositories tab) 2. Repos he contributed to (events, PRs, issues, etc.) Let me clarify - the URL is the repositories tab. But the user says "contributed to". Let me check both - his own repos created/updated in 2024, and contributions to others' repos via events API. Actually, let me just go with what the URL shows - his repositories. But "contributed to in 2024" suggests activity. Let me use the events API to find contributions, and also list his repos filtered by 2024 activity. Let me start by fetching his repos and events.
{
"command": "gh api users/rajansagarwal 2>&1 | head -30"
}Output from command in shell 4ed4cc:
{"login":"rajansagarwal","id":64426829,"node_id":"MDQ6VXNlcjY0NDI2ODI5","avatar_url":"https://avatars.githubusercontent.com/u/64426829?v=4","gravatar_id":"","url":"https://api.github.com/users/rajansagarwal","html_url":"https://github.com/rajansagarwal","followers_url":"https://api.github.com/users/rajansagarwal/followers","following_url":"https://api.github.com/users/rajansagarwal/following{/other_user}","gists_url":"https://api.github.com/users/rajansagarwal/gists{/gist_id}","starred_url":"https://api.github.com/users/rajansagarwal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rajansagarwal/subscriptions","organizations_url":"https://api.github.com/users/rajansagarwal/orgs","repos_url":"https://api.github.com/users/rajansagarwal/repos","events_url":"https://api.github.com/users/rajansagarwal/events{/privacy}","received_events_url":"https://api.github.com/users/rajansagarwal/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Rajan Agarwal","company":null,"blog":"rajan.sh","location":"San Francisco","email":null,"hireable":true,"bio":"research engineer","twitter_username":"_rajanagarwal","public_repos":155,"public_gists":0,"followers":251,"following":175,"created_at":"2020-04-27T15:52:42Z","updated_at":"2026-06-12T17:46:30Z"}
Exit code: 0The user has 155 public repos. The question is "repos he contributed to in 2024". Let me clarify the interpretation. The URL points to /repositories tab. But "contributed to" is ambiguous. Let me think - the GitHub events API only returns the last 90 days of events, so it won't cover all of 2024. The best approach for "contributed to in 2024" would be: 1. His own repos that had activity (pushed/created/updated) in 2024 2. Repos owned by others where he made contributions (PRs, issues, commits) in 2024 For #1, I can list his repos and filter by pushed_at/created_at in 2024. For #2, I'd need to query the search API: `q=author:rajansagarwal created:2024-01-01..2024-12-31 type:pr` etc. Let me do both. Start with his own repos updated in 2024.
I'll interpret "contributed to in 2024" broadly: his own repos with 2024 activity, plus repos owned by others where he made PRs/issues/commits in 2024. Let me gather data in parallel.
{
"command": "gh api --paginate \"users/rajansagarwal/repos?per_page=100\" --jq '.[] | {name, full_name, pushed_at, created_at, updated_at, fork}' 2>&1 | head -200"
}Output from command in shell d82d2c:
{"created_at":"2022-04-03T16:38:36Z","fork":false,"full_name":"rajansagarwal/10-letter-le","name":"10-letter-le","pushed_at":"2022-04-03T16:56:13Z","updated_at":"2022-04-03T21:06:05Z"}
{"created_at":"2020-05-04T16:06:55Z","fork":false,"full_name":"rajansagarwal/2019","name":"2019","pushed_at":"2021-04-18T01:17:11Z","updated_at":"2023-01-28T07:02:01Z"}
{"created_at":"2022-04-11T03:10:36Z","fork":false,"full_name":"rajansagarwal/accountability","name":"accountability","pushed_at":"2022-04-11T19:32:30Z","updated_at":"2022-04-13T20:40:56Z"}
{"created_at":"2022-02-23T03:19:59Z","fork":false,"full_name":"rajansagarwal/alcoholism","name":"alcoholism","pushed_at":"2022-03-31T01:53:23Z","updated_at":"2022-02-23T13:45:46Z"}
{"created_at":"2022-02-15T17:53:13Z","fork":false,"full_name":"rajansagarwal/api-testing","name":"api-testing","pushed_at":"2022-02-15T17:54:24Z","updated_at":"2022-02-15T17:54:28Z"}
{"created_at":"2022-07-23T21:50:14Z","fork":true,"full_name":"rajansagarwal/apply","name":"apply","pushed_at":"2025-08-10T15:59:13Z","updated_at":"2022-07-27T15:31:00Z"}
{"created_at":"2025-03-01T03:11:04Z","fork":false,"full_name":"rajansagarwal/arceus","name":"arceus","pushed_at":"2025-08-10T06:09:58Z","updated_at":"2025-11-03T18:06:55Z"}
{"created_at":"2022-01-29T03:56:59Z","fork":false,"full_name":"rajansagarwal/article","name":"article","pushed_at":"2022-01-29T03:57:25Z","updated_at":"2022-03-16T02:16:13Z"}
{"created_at":"2022-08-05T03:51:19Z","fork":false,"full_name":"rajansagarwal/assemble-schedule","name":"assemble-schedule","pushed_at":"2022-08-05T07:46:19Z","updated_at":"2022-08-05T04:38:39Z"}
{"created_at":"2024-06-21T19:02:06Z","fork":false,"full_name":"rajansagarwal/audio2vec","name":"audio2vec","pushed_at":"2024-06-21T19:21:54Z","updated_at":"2024-06-22T00:26:47Z"}
{"created_at":"2022-08-07T06:50:55Z","fork":false,"full_name":"rajansagarwal/blind-spot","name":"blind-spot","pushed_at":"2023-07-24T03:57:50Z","updated_at":"2023-09-25T14:20:05Z"}
{"created_at":"2022-03-12T14:54:02Z","fork":false,"full_name":"rajansagarwal/blog-wordpress","name":"blog-wordpress","pushed_at":"2022-03-15T02:52:29Z","updated_at":"2022-03-12T14:54:13Z"}
{"created_at":"2022-02-06T03:38:59Z","fork":false,"full_name":"rajansagarwal/bloom-foundation","name":"bloom-foundation","pushed_at":"2022-02-06T03:40:12Z","updated_at":"2022-02-12T20:27:17Z"}
{"created_at":"2022-04-02T15:31:52Z","fork":false,"full_name":"rajansagarwal/breast-cancer-knn","name":"breast-cancer-knn","pushed_at":"2022-04-02T15:33:16Z","updated_at":"2022-04-02T15:32:50Z"}
{"created_at":"2022-07-10T03:03:39Z","fork":false,"full_name":"rajansagarwal/bun-tests","name":"bun-tests","pushed_at":"2022-07-11T00:00:09Z","updated_at":"2022-07-10T03:04:57Z"}
{"created_at":"2021-04-17T15:37:30Z","fork":false,"full_name":"rajansagarwal/cafe-feedback","name":"cafe-feedback","pushed_at":"2021-04-17T15:38:21Z","updated_at":"2021-04-17T15:38:23Z"}
{"created_at":"2022-02-05T13:03:10Z","fork":false,"full_name":"rajansagarwal/centric","name":"centric","pushed_at":"2023-06-30T03:02:52Z","updated_at":"2022-12-19T00:07:48Z"}
{"created_at":"2022-02-26T22:32:25Z","fork":true,"full_name":"rajansagarwal/channle","name":"channle","pushed_at":"2022-02-21T02:24:38Z","updated_at":"2022-02-24T13:18:59Z"}
{"created_at":"2025-05-29T17:10:27Z","fork":true,"full_name":"rajansagarwal/circuit-tracer","name":"circuit-tracer","pushed_at":"2025-05-29T04:59:07Z","updated_at":"2026-02-20T13:22:44Z"}
{"created_at":"2022-02-19T03:45:39Z","fork":false,"full_name":"rajansagarwal/commenting","name":"commenting","pushed_at":"2022-02-19T03:45:48Z","updated_at":"2022-03-16T02:15:10Z"}
{"created_at":"2025-11-24T07:51:05Z","fork":false,"full_name":"rajansagarwal/compression","name":"compression","pushed_at":"2025-11-26T23:27:31Z","updated_at":"2026-05-10T18:07:39Z"}
{"created_at":"2022-02-18T14:36:13Z","fork":true,"full_name":"rajansagarwal/conifer","name":"conifer","pushed_at":"2022-02-18T10:36:34Z","updated_at":"2022-02-18T14:02:47Z"}
{"created_at":"2022-09-20T17:35:26Z","fork":false,"full_name":"rajansagarwal/connex-htn","name":"connex-htn","pushed_at":"2022-12-23T04:44:33Z","updated_at":"2024-10-01T13:44:57Z"}
{"created_at":"2021-08-21T05:14:40Z","fork":false,"full_name":"rajansagarwal/corex","name":"corex","pushed_at":"2021-08-24T21:07:23Z","updated_at":"2023-01-28T07:02:02Z"}
{"created_at":"2021-04-17T15:21:28Z","fork":false,"full_name":"rajansagarwal/countries","name":"countries","pushed_at":"2021-04-17T15:29:28Z","updated_at":"2021-04-17T19:57:50Z"}
{"created_at":"2022-02-17T03:02:49Z","fork":false,"full_name":"rajansagarwal/custom-chain","name":"custom-chain","pushed_at":"2022-05-07T03:44:30Z","updated_at":"2022-05-07T03:44:33Z"}
{"created_at":"2022-01-18T15:54:06Z","fork":false,"full_name":"rajansagarwal/custom-search-starter","name":"custom-search-starter","pushed_at":"2022-01-21T22:45:35Z","updated_at":"2022-02-12T20:27:13Z"}
{"created_at":"2021-01-24T02:45:30Z","fork":false,"full_name":"rajansagarwal/cycs","name":"cycs","pushed_at":"2021-01-24T02:53:59Z","updated_at":"2023-01-28T09:42:10Z"}
{"created_at":"2022-02-06T02:22:39Z","fork":false,"full_name":"rajansagarwal/datum-cms","name":"datum-cms","pushed_at":"2022-02-06T13:39:25Z","updated_at":"2022-03-16T02:12:52Z"}
{"created_at":"2022-08-14T21:34:32Z","fork":false,"full_name":"rajansagarwal/debate-tfss","name":"debate-tfss","pushed_at":"2022-10-17T02:32:53Z","updated_at":"2022-09-05T17:07:38Z"}
{"created_at":"2022-04-24T02:37:42Z","fork":false,"full_name":"rajansagarwal/deck","name":"deck","pushed_at":"2022-04-24T02:37:45Z","updated_at":"2022-04-24T02:37:48Z"}
{"created_at":"2023-11-07T04:26:29Z","fork":false,"full_name":"rajansagarwal/deja-vu","name":"deja-vu","pushed_at":"2024-05-25T14:53:19Z","updated_at":"2025-01-27T05:24:19Z"}
{"created_at":"2021-09-18T15:43:59Z","fork":false,"full_name":"rajansagarwal/diplomatica","name":"diplomatica","pushed_at":"2021-09-19T13:47:03Z","updated_at":"2022-01-18T19:00:43Z"}
{"created_at":"2022-03-18T02:46:22Z","fork":false,"full_name":"rajansagarwal/directory","name":"directory","pushed_at":"2022-03-18T18:35:18Z","updated_at":"2022-03-18T14:02:05Z"}
{"created_at":"2022-06-24T23:26:32Z","fork":false,"full_name":"rajansagarwal/discordjs-typescript","name":"discordjs-typescript","pushed_at":"2022-06-24T23:26:35Z","updated_at":"2022-06-24T23:26:38Z"}
{"created_at":"2021-12-05T00:58:16Z","fork":true,"full_name":"rajansagarwal/dns","name":"dns","pushed_at":"2022-01-28T04:38:51Z","updated_at":"2022-02-12T20:27:14Z"}
{"created_at":"2021-08-26T00:22:59Z","fork":false,"full_name":"rajansagarwal/drseemaagarwal","name":"drseemaagarwal","pushed_at":"2021-08-26T00:39:22Z","updated_at":"2021-08-26T00:39:31Z"}
{"created_at":"2022-09-16T04:05:39Z","fork":true,"full_name":"rajansagarwal/dvdscreensaver","name":"dvdscreensaver","pushed_at":"2021-08-20T21:25:09Z","updated_at":"2021-08-28T07:13:08Z"}
{"created_at":"2021-12-03T14:32:30Z","fork":false,"full_name":"rajansagarwal/dynamic","name":"dynamic","pushed_at":"2022-01-18T18:58:38Z","updated_at":"2022-02-12T20:27:11Z"}
{"created_at":"2023-11-21T19:51:04Z","fork":false,"full_name":"rajansagarwal/energy-distribution","name":"energy-distribution","pushed_at":"2025-08-12T00:48:17Z","updated_at":"2025-12-28T23:05:01Z"}
{"created_at":"2024-01-17T17:01:30Z","fork":true,"full_name":"rajansagarwal/eng-intern-assessment-rails","name":"eng-intern-assessment-rails","pushed_at":"2024-01-21T02:46:31Z","updated_at":"2024-01-21T02:46:34Z"}
{"created_at":"2025-01-20T02:36:52Z","fork":false,"full_name":"rajansagarwal/entropy-deep-research","name":"entropy-deep-research","pushed_at":"2025-08-10T15:29:02Z","updated_at":"2025-02-07T08:07:52Z"}
{"created_at":"2021-12-06T03:22:07Z","fork":false,"full_name":"rajansagarwal/etherealism","name":"etherealism","pushed_at":"2023-06-19T03:54:37Z","updated_at":"2025-01-09T11:13:12Z"}
{"created_at":"2024-08-31T03:52:55Z","fork":true,"full_name":"rajansagarwal/exo","name":"exo","pushed_at":"2025-08-11T06:12:05Z","updated_at":"2025-01-12T07:53:37Z"}
{"created_at":"2021-09-26T18:32:06Z","fork":false,"full_name":"rajansagarwal/experimental-club","name":"experimental-club","pushed_at":"2022-05-14T03:39:37Z","updated_at":"2022-01-18T19:01:57Z"}
{"created_at":"2023-05-31T03:57:32Z","fork":false,"full_name":"rajansagarwal/experimental-ui","name":"experimental-ui","pushed_at":"2023-05-31T03:58:29Z","updated_at":"2023-05-31T03:57:46Z"}
{"created_at":"2022-03-24T01:46:43Z","fork":false,"full_name":"rajansagarwal/fcc-js","name":"fcc-js","pushed_at":"2022-03-24T01:50:56Z","updated_at":"2022-03-24T02:08:42Z"}
{"created_at":"2021-05-25T20:54:15Z","fork":false,"full_name":"rajansagarwal/fcc-rwd","name":"fcc-rwd","pushed_at":"2021-05-25T22:49:47Z","updated_at":"2021-05-25T22:49:49Z"}
{"created_at":"2021-01-19T02:53:24Z","fork":true,"full_name":"rajansagarwal/Feather-HTN","name":"Feather-HTN","pushed_at":"2021-12-16T23:46:32Z","updated_at":"2022-02-12T20:25:24Z"}
{"created_at":"2020-09-18T15:41:45Z","fork":false,"full_name":"rajansagarwal/findyourstorycanada","name":"findyourstorycanada","pushed_at":"2021-04-04T18:35:33Z","updated_at":"2023-01-28T09:45:29Z"}
{"created_at":"2022-04-10T03:48:54Z","fork":false,"full_name":"rajansagarwal/firebase-auth","name":"firebase-auth","pushed_at":"2022-04-10T04:27:50Z","updated_at":"2022-04-10T03:49:21Z"}
{"created_at":"2022-12-01T23:38:37Z","fork":false,"full_name":"rajansagarwal/fleet","name":"fleet","pushed_at":"2023-07-12T03:56:50Z","updated_at":"2024-06-07T16:02:19Z"}
{"created_at":"2021-04-17T15:41:17Z","fork":true,"full_name":"rajansagarwal/frens","name":"frens","pushed_at":"2021-04-17T15:43:37Z","updated_at":"2021-04-17T15:43:39Z"}
{"created_at":"2022-04-10T01:07:00Z","fork":true,"full_name":"rajansagarwal/frieden","name":"frieden","pushed_at":"2020-09-27T07:14:26Z","updated_at":"2021-11-18T18:24:50Z"}
{"created_at":"2021-04-17T13:55:14Z","fork":false,"full_name":"rajansagarwal/fullstack-course","name":"fullstack-course","pushed_at":"2021-08-16T19:37:26Z","updated_at":"2023-01-28T07:11:51Z"}
{"created_at":"2021-11-12T23:11:32Z","fork":false,"full_name":"rajansagarwal/garden","name":"garden","pushed_at":"2021-11-20T16:38:11Z","updated_at":"2022-02-12T20:27:03Z"}
{"created_at":"2022-04-10T16:57:54Z","fork":false,"full_name":"rajansagarwal/gardening","name":"gardening","pushed_at":"2022-04-10T17:03:48Z","updated_at":"2022-04-10T16:59:46Z"}
{"created_at":"2022-01-28T04:32:34Z","fork":false,"full_name":"rajansagarwal/generative-art","name":"generative-art","pushed_at":"2025-08-06T22:46:29Z","updated_at":"2022-06-13T03:23:28Z"}
{"created_at":"2021-07-23T19:22:28Z","fork":false,"full_name":"rajansagarwal/gmostory","name":"gmostory","pushed_at":"2021-08-17T03:56:56Z","updated_at":"2021-08-17T03:56:59Z"}
{"created_at":"2024-12-20T04:48:35Z","fork":false,"full_name":"rajansagarwal/gpt-wrapped","name":"gpt-wrapped","pushed_at":"2025-08-10T14:56:21Z","updated_at":"2025-10-07T20:44:19Z"}
{"created_at":"2022-12-02T00:25:31Z","fork":false,"full_name":"rajansagarwal/granite","name":"granite","pushed_at":"2022-12-30T04:45:14Z","updated_at":"2022-12-02T00:31:23Z"}
{"created_at":"2021-05-22T18:09:13Z","fork":false,"full_name":"rajansagarwal/growify","name":"growify","pushed_at":"2021-05-23T15:30:21Z","updated_at":"2021-05-23T15:30:23Z"}
{"created_at":"2022-01-18T02:55:22Z","fork":true,"full_name":"rajansagarwal/hackclub","name":"hackclub","pushed_at":"2022-01-21T21:59:35Z","updated_at":"2022-02-22T01:02:15Z"}
{"created_at":"2022-03-21T18:08:44Z","fork":false,"full_name":"rajansagarwal/hackclub-turner","name":"hackclub-turner","pushed_at":"2023-03-13T22:01:50Z","updated_at":"2022-12-01T02:47:19Z"}
{"created_at":"2022-10-28T16:43:35Z","fork":true,"full_name":"rajansagarwal/hacktoberfest","name":"hacktoberfest","pushed_at":"2022-10-28T16:50:50Z","updated_at":"2022-10-28T16:46:49Z"}
{"created_at":"2021-12-18T18:26:16Z","fork":true,"full_name":"rajansagarwal/holiday-livestream-overlay","name":"holiday-livestream-overlay","pushed_at":"2021-12-18T18:27:42Z","updated_at":"2022-02-12T20:27:08Z"}
{"created_at":"2021-04-11T19:42:20Z","fork":true,"full_name":"rajansagarwal/howler-sustain-app","name":"howler-sustain-app","pushed_at":"2021-04-14T17:05:44Z","updated_at":"2021-04-16T18:49:16Z"}
{"created_at":"2022-05-01T02:13:17Z","fork":false,"full_name":"rajansagarwal/human-verification","name":"human-verification","pushed_at":"2022-05-03T03:53:24Z","updated_at":"2022-05-01T02:13:41Z"}
{"created_at":"2021-01-25T01:04:41Z","fork":false,"full_name":"rajansagarwal/itsrajan","name":"itsrajan","pushed_at":"2021-09-13T02:03:45Z","updated_at":"2021-11-29T04:35:42Z"}
{"created_at":"2021-09-13T22:17:21Z","fork":true,"full_name":"rajansagarwal/jotai","name":"jotai","pushed_at":"2021-09-13T22:17:54Z","updated_at":"2021-09-13T22:17:57Z"}
{"created_at":"2022-03-27T22:04:28Z","fork":true,"full_name":"rajansagarwal/landing","name":"landing","pushed_at":"2022-04-03T17:32:12Z","updated_at":"2022-04-03T17:32:15Z"}
{"created_at":"2022-03-07T04:12:51Z","fork":false,"full_name":"rajansagarwal/layout","name":"layout","pushed_at":"2022-03-07T04:13:15Z","updated_at":"2022-03-16T02:13:58Z"}
{"created_at":"2022-03-11T03:20:20Z","fork":false,"full_name":"rajansagarwal/layouts","name":"layouts","pushed_at":"2022-11-17T03:07:50Z","updated_at":"2023-08-23T12:40:50Z"}
{"created_at":"2021-03-27T01:33:10Z","fork":false,"full_name":"rajansagarwal/link-profile","name":"link-profile","pushed_at":"2021-03-27T01:44:53Z","updated_at":"2022-06-25T03:35:19Z"}
{"created_at":"2021-04-04T17:15:31Z","fork":false,"full_name":"rajansagarwal/links","name":"links","pushed_at":"2021-04-04T17:39:25Z","updated_at":"2021-04-04T17:39:27Z"}
{"created_at":"2025-09-26T01:03:28Z","fork":false,"full_name":"rajansagarwal/llink","name":"llink","pushed_at":"2025-10-31T05:32:25Z","updated_at":"2025-12-24T10:42:38Z"}
{"created_at":"2022-04-04T16:54:52Z","fork":false,"full_name":"rajansagarwal/localstorage","name":"localstorage","pushed_at":"2022-04-04T16:54:56Z","updated_at":"2022-04-04T16:54:59Z"}
{"created_at":"2021-12-10T23:49:32Z","fork":false,"full_name":"rajansagarwal/login-starter","name":"login-starter","pushed_at":"2021-12-11T00:30:29Z","updated_at":"2022-04-05T23:04:12Z"}
{"created_at":"2022-04-04T18:14:15Z","fork":false,"full_name":"rajansagarwal/make-your-own-wordle","name":"make-your-own-wordle","pushed_at":"2022-05-23T03:45:09Z","updated_at":"2022-05-23T03:45:27Z"}
{"created_at":"2022-03-19T04:13:04Z","fork":false,"full_name":"rajansagarwal/maple","name":"maple","pushed_at":"2025-08-10T15:27:08Z","updated_at":"2022-08-18T22:36:29Z"}
{"created_at":"2022-03-10T21:46:05Z","fork":false,"full_name":"rajansagarwal/mdx-test","name":"mdx-test","pushed_at":"2022-03-10T21:46:11Z","updated_at":"2022-03-16T02:11:29Z"}
{"created_at":"2021-11-14T14:22:16Z","fork":false,"full_name":"rajansagarwal/mindmatrix","name":"mindmatrix","pushed_at":"2022-03-10T23:42:00Z","updated_at":"2022-02-12T20:27:20Z"}
{"created_at":"2021-09-07T00:11:34Z","fork":false,"full_name":"rajansagarwal/mindson","name":"mindson","pushed_at":"2021-09-10T22:30:49Z","updated_at":"2021-11-29T04:35:47Z"}
{"created_at":"2022-03-31T20:22:03Z","fork":true,"full_name":"rajansagarwal/Minecraft","name":"Minecraft","pushed_at":"2022-04-02T02:53:06Z","updated_at":"2022-03-31T20:23:52Z"}
{"created_at":"2021-12-05T17:33:03Z","fork":false,"full_name":"rajansagarwal/modern","name":"modern","pushed_at":"2021-12-05T22:24:45Z","updated_at":"2022-02-12T20:27:03Z"}
{"created_at":"2022-06-16T01:10:38Z","fork":false,"full_name":"rajansagarwal/mongodb-vercel-integration","name":"mongodb-vercel-integration","pushed_at":"2022-06-16T01:10:44Z","updated_at":"2022-06-16T01:10:48Z"}
{"created_at":"2022-01-31T03:34:04Z","fork":false,"full_name":"rajansagarwal/moogle","name":"moogle","pushed_at":"2022-03-08T00:22:32Z","updated_at":"2022-02-12T20:27:15Z"}
{"created_at":"2024-07-15T01:59:39Z","fork":false,"full_name":"rajansagarwal/mpc","name":"mpc","pushed_at":"2024-07-15T01:59:40Z","updated_at":"2024-07-15T01:59:40Z"}
{"created_at":"2022-03-16T01:53:30Z","fork":true,"full_name":"rajansagarwal/next-web3-boilerplate","name":"next-web3-boilerplate","pushed_at":"2022-02-24T08:23:39Z","updated_at":"2022-03-16T01:53:17Z"}
{"created_at":"2021-04-13T18:05:03Z","fork":false,"full_name":"rajansagarwal/notion-blog","name":"notion-blog","pushed_at":"2021-04-13T18:05:10Z","updated_at":"2022-06-25T03:35:19Z"}
{"created_at":"2021-09-12T03:07:36Z","fork":false,"full_name":"rajansagarwal/novel","name":"novel","pushed_at":"2021-09-14T03:13:01Z","updated_at":"2021-12-09T18:15:43Z"}
{"created_at":"2025-09-11T01:23:27Z","fork":false,"full_name":"rajansagarwal/observe","name":"observe","pushed_at":"2025-09-14T05:23:56Z","updated_at":"2026-03-30T23:52:58Z"}
{"created_at":"2022-02-25T17:20:14Z","fork":true,"full_name":"rajansagarwal/omniscius-veritatis","name":"omniscius-veritatis","pushed_at":"2022-02-27T03:57:07Z","updated_at":"2022-02-25T21:26:29Z"}
{"created_at":"2021-12-26T14:52:47Z","fork":false,"full_name":"rajansagarwal/openmindhq","name":"openmindhq","pushed_at":"2022-01-02T14:39:43Z","updated_at":"2022-02-12T20:25:22Z"}
{"created_at":"2021-08-20T19:23:53Z","fork":true,"full_name":"rajansagarwal/oss","name":"oss","pushed_at":"2021-08-20T19:26:02Z","updated_at":"2021-08-20T19:23:55Z"}
{"created_at":"2023-07-13T03:23:29Z","fork":true,"full_name":"rajansagarwal/outernet","name":"outernet","pushed_at":"2023-07-13T14:37:06Z","updated_at":"2023-07-13T03:23:29Z"}
{"created_at":"2020-05-15T17:36:45Z","fork":false,"full_name":"rajansagarwal/pathfindr","name":"pathfindr","pushed_at":"2021-04-12T16:57:52Z","updated_at":"2021-04-12T16:57:55Z"}
{"created_at":"2021-09-07T19:32:40Z","fork":true,"full_name":"rajansagarwal/personal-sites","name":"personal-sites","pushed_at":"2021-09-07T19:34:25Z","updated_at":"2026-04-25T16:14:31Z"}
{"created_at":"2022-03-19T23:01:28Z","fork":false,"full_name":"rajansagarwal/petitions-backend","name":"petitions-backend","pushed_at":"2022-03-19T23:03:40Z","updated_at":"2022-03-19T23:03:06Z"}
{"created_at":"2022-03-19T22:54:13Z","fork":false,"full_name":"rajansagarwal/petitions-frontend","name":"petitions-frontend","pushed_at":"2022-03-19T22:55:21Z","updated_at":"2022-03-19T22:55:56Z"}
{"created_at":"2021-04-17T15:20:47Z","fork":false,"full_name":"rajansagarwal/phonebook","name":"phonebook","pushed_at":"2021-04-17T15:32:06Z","updated_at":"2021-04-18T01:23:08Z"}
{"created_at":"2023-11-07T14:18:28Z","fork":false,"full_name":"rajansagarwal/pizza-agent","name":"pizza-agent","pushed_at":"2025-08-10T15:52:48Z","updated_at":"2023-11-07T14:19:43Z"}
{"created_at":"2025-09-13T17:18:28Z","fork":false,"full_name":"rajansagarwal/pokeOS","name":"pokeOS","pushed_at":"2025-09-14T09:08:38Z","updated_at":"2026-06-15T15:37:15Z"}
{"created_at":"2021-02-01T03:29:41Z","fork":false,"full_name":"rajansagarwal/pomodoro","name":"pomodoro","pushed_at":"2021-02-01T15:31:02Z","updated_at":"2021-02-08T13:55:32Z"}
{"created_at":"2024-05-25T14:55:40Z","fork":false,"full_name":"rajansagarwal/portal","name":"portal","pushed_at":"2025-08-10T15:13:32Z","updated_at":"2026-01-08T17:36:27Z"}
{"created_at":"2021-10-30T22:12:02Z","fork":false,"full_name":"rajansagarwal/portal-deca","name":"portal-deca","pushed_at":"2021-10-30T22:12:05Z","updated_at":"2024-05-25T14:06:37Z"}
{"created_at":"2021-05-20T18:05:24Z","fork":false,"full_name":"rajansagarwal/productiontest","name":"productiontest","pushed_at":"2021-05-20T18:12:12Z","updated_at":"2021-08-24T21:14:54Z"}
{"created_at":"2021-08-24T21:12:36Z","fork":false,"full_name":"rajansagarwal/pug","name":"pug","pushed_at":"2022-05-11T03:15:08Z","updated_at":"2022-05-11T03:14:43Z"}
{"created_at":"2022-02-27T17:21:10Z","fork":true,"full_name":"rajansagarwal/quartz","name":"quartz","pushed_at":"2022-12-05T21:43:47Z","updated_at":"2022-12-04T05:52:22Z"}
{"created_at":"2024-11-09T20:07:26Z","fork":true,"full_name":"rajansagarwal/quickstart","name":"quickstart","pushed_at":"2024-11-09T20:09:27Z","updated_at":"2… (21 chars truncated)
… (45 lines truncated)
Exit code: 0
`| head -200` was parsed out (110 of 155 total lines shown, further truncated due to size limits).
<truncation_notice>
Full output written to: /var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/8cf4aa3b/content.txt
</truncation_notice>Let me get the full output and process it properly. I'll filter for repos with pushed_at in 2024.
Let me get the full list and filter properly for 2024 activity.
{
"command": "gh api --paginate \"users/rajansagarwal/repos?per_page=100\" --jq '.[] | select(.pushed_at >= \"2024-01-01T00:00:00Z\" and .pushed_at < \"2025-01-01T00:00:00Z\") | \"\\(.full_name)\\t\\(.pushed_at)\\tfork=\\(.fork)\"' 2>&1"
}Output from command in shell 63a413: rajansagarwal/audio2vec 2024-06-21T19:21:54Z fork=false rajansagarwal/deja-vu 2024-05-25T14:53:19Z fork=false rajansagarwal/eng-intern-assessment-rails 2024-01-21T02:46:31Z fork=true rajansagarwal/mpc 2024-07-15T01:59:40Z fork=false rajansagarwal/quickstart 2024-11-09T20:09:27Z fork=true rajansagarwal/shapeshift 2024-07-07T03:53:30Z fork=false rajansagarwal/www23 2024-09-12T03:48:19Z fork=false Exit code: 0
Now let me also find repos owned by others where he made contributions (PRs, issues) in 2024. The events API only goes back 90 days, so I'll use the search API. Let me search for PRs authored by him in 2024, and issues too.
Now let me find repos owned by others where he made PRs/issues in 2024 (the events API only goes back 90 days, so I'll use the search API).
{
"command": "gh api --paginate \"search/issues?q=author:rajansagarwal+is:pr+created:2024-01-01..2024-12-31&per_page=100\" --jq '.items[] | \"\\(.repository_url | sub(\"https://api.github.com/repos/\"; \"\"))\\t\\(.created_at)\\t\\(.state)\"' 2>&1"
}Output from command in shell 2619c4: BracketBotCapstone/quickstart 2024-11-09T20:12:05Z closed rajansagarwal/portal 2024-06-14T03:42:49Z closed Exit code: 0
{
"command": "gh api --paginate \"search/issues?q=author:rajansagarwal+is:issue+created:2024-01-01..2024-12-31&per_page=100\" --jq '.items[] | \"\\(.repository_url | sub(\"https://api.github.com/repos/\"; \"\"))\\t\\(.created_at)\\t\\(.state)\"' 2>&1\necho \"---commits---\"\ngh api --paginate \"search/commits?q=author:rajansagarwal+author-date:2024-01-01..2024-12-31&per_page=100\" --jq '.items[] | \"\\(.repository.full_name)\\t\\(.commit.author.date)\"' 2>&1"
}Output from command in shell 39231d: ---commits--- rajansagarwal/shapeshift 2024-07-06T23:53:30.000-04:00 rajansagarwal/shapeshift 2024-06-17T18:04:25.000-04:00 rajansagarwal/shapeshift 2024-06-17T17:33:23.000-04:00 rajansagarwal/shapeshift 2024-06-14T16:36:01.000-04:00 rajansagarwal/shapeshift 2024-06-05T22:55:32.000-04:00 rajansagarwal/shapeshift 2024-06-05T22:54:44.000-04:00 rajansagarwal/deja-vu 2024-05-25T10:23:10.000-04:00 rajansagarwal/deja-vu 2024-05-25T10:20:28.000-04:00 rajansagarwal/deja-vu 2024-05-25T10:20:22.000-04:00 rajansagarwal/deja-vu 2024-05-25T10:20:15.000-04:00 WATonomous/data-driven-model 2024-12-30T02:18:08.000Z WATonomous/data-driven-model 2024-12-30T00:27:41.000Z WATonomous/data-driven-model 2024-12-30T00:25:30.000Z rajansagarwal/www23 2024-09-11T23:48:16.000-04:00 rajansagarwal/www23 2024-08-28T22:17:45.000-04:00 rajansagarwal/www23 2024-08-28T22:15:58.000-04:00 rajansagarwal/www23 2024-08-28T22:13:43.000-04:00 rajansagarwal/www23 2024-08-28T22:04:27.000-04:00 rajansagarwal/www23 2024-08-28T21:47:26.000-04:00 rajansagarwal/www23 2024-08-28T21:40:05.000-04:00 rajansagarwal/www23 2024-08-28T21:23:41.000-04:00 rajansagarwal/www23 2024-08-28T21:20:42.000-04:00 rajansagarwal/www23 2024-08-28T21:16:43.000-04:00 rajansagarwal/www23 2024-05-28T07:48:36.000-04:00 rajansagarwal/www23 2024-05-21T19:30:28.000-04:00 rajansagarwal/www23 2024-05-21T19:24:54.000-04:00 rajansagarwal/www23 2024-05-20T23:25:04.000-04:00 rajansagarwal/www23 2024-05-18T11:07:25.000-04:00 rajansagarwal/www23 2024-05-18T01:43:11.000-04:00 rajansagarwal/www23 2024-02-06T23:36:53.000-05:00 rajansagarwal/www23 2024-02-06T23:35:28.000-05:00 rajansagarwal/www23 2024-02-01T21:58:02.000-05:00 rajansagarwal/www23 2024-01-29T20:16:41.000-05:00 rajansagarwal/www23 2024-01-28T01:29:33.000-05:00 rajansagarwal/www23 2024-01-05T20:08:13.000-05:00 rajansagarwal/www23 2024-01-03T00:37:28.000-05:00 ritaxiang/stealth-startup 2024-09-14T20:43:10.000-04:00 ritaxiang/stealth-startup 2024-09-14T02:53:34.000-04:00 BracketBotCapstone/quickstart 2024-11-09T15:09:20.000-05:00 rajansagarwal/gpt-wrapped 2024-12-21T01:37:08.000-05:00 rajansagarwal/gpt-wrapped 2024-12-21T00:20:56.000-05:00 rajansagarwal/gpt-wrapped 2024-12-21T00:09:19.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T23:24:09.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T23:20:09.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T23:16:55.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T23:14:00.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T23:08:44.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T23:08:08.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T23:02:37.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T19:28:14.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T18:27:17.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T18:15:01.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T00:46:06.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T00:41:30.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T00:14:14.000-05:00 rajansagarwal/gpt-wrapped 2024-12-20T00:06:51.000-05:00 rajansagarwal/gpt-wrapped 2024-12-19T23:57:05.000-05:00 rajansagarwal/gpt-wrapped 2024-12-19T23:55:06.000-05:00 rajansagarwal/gpt-wrapped 2024-12-19T23:49:23.000-05:00 rajansagarwal/gpt-wrapped 2024-12-19T22:34:04.000-05:00 rajansagarwal/rajansagarwal 2024-07-17T23:44:43.000-04:00 rajansagarwal/rajansagarwal 2024-07-14T22:09:40.000-04:00 rajansagarwal/rajansagarwal 2024-06-07T21:31:38.000-04:00 rajansagarwal/rajansagarwal 2024-06-07T21:28:18.000-04:00 rajansagarwal/rajansagarwal 2024-06-07T21:20:27.000-04:00 rajansagarwal/rajansagarwal 2024-06-07T21:10:45.000-04:00 rajansagarwal/rajansagarwal 2024-02-03T23:42:15.000-05:00 freeman-jiang/nexus 2024-02-18T04:18:02.000-08:00 freeman-jiang/nexus 2024-02-18T03:57:44.000-08:00 freeman-jiang/nexus 2024-02-18T03:04:57.000-08:00 freeman-jiang/nexus 2024-02-18T00:39:17.000-08:00 freeman-jiang/nexus 2024-02-17T21:30:35.000-08:00 freeman-jiang/nexus 2024-02-17T19:42:17.000-08:00 freeman-jiang/nexus 2024-02-17T16:03:23.000-08:00 rajansagarwal/self-driving-tank 2024-01-21T14:52:35.000-05:00 rajansagarwal/self-driving-tank 2024-01-21T14:45:03.000-05:00 rajansagarwal/self-driving-tank 2024-01-10T14:57:57.000-05:00 Shav7/voicebot 2024-11-09T15:09:20.000-05:00 shahanneda/bracketbothackaton 2024-11-09T15:09:20.000-05:00 rajansagarwal/audio2vec 2024-06-21T15:21:54.000-04:00 rajansagarwal/audio2vec 2024-06-21T15:21:13.000-04:00 rajansagarwal/audio2vec 2024-06-21T15:20:06.000-04:00 rajansagarwal/audio2vec 2024-06-21T15:19:46.000-04:00 rajansagarwal/audio2vec 2024-06-21T15:16:05.000-04:00 rajansagarwal/audio2vec 2024-06-21T15:02:06.000-04:00 ishaan1013/axiom 2024-11-10T21:57:18.000-05:00 ishaan1013/axiom 2024-11-10T21:30:11.000-05:00 ishaan1013/axiom 2024-11-09T23:52:34.000-05:00 ishaan1013/axiom 2024-11-09T23:08:20.000-05:00 ishaan1013/axiom 2024-11-09T23:05:00.000-05:00 ishaan1013/axiom 2024-11-09T23:02:35.000-05:00 ishaan1013/axiom 2024-11-09T22:33:23.000-05:00 ishaan1013/axiom 2024-11-09T22:21:41.000-05:00 ishaan1013/axiom 2024-11-09T22:05:33.000-05:00 ishaan1013/axiom 2024-11-09T21:50:38.000-05:00 ishaan1013/axiom 2024-11-01T12:07:39.000-04:00 ishaan1013/axiom 2024-11-01T11:39:38.000-04:00 ishaan1013/axiom 2024-11-01T10:52:34.000-04:00 ishaan1013/axiom 2024-11-01T10:41:42.000-04:00 ishaan1013/axiom 2024-11-01T09:42:03.000-04:00 ishaan1013/axiom 2024-11-01T09:32:07.000-04:00 ishaan1013/axiom 2024-10-30T12:52:55.000-04:00 ishaan1013/axiom 2024-10-30T12:51:28.000-04:00 ishaan1013/axiom 2024-10-30T12:02:37.000-04:00 ishaan1013/axiom 2024-10-30T11:44:45.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-05-06T07:57:34.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-04-25T18:32:39.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-04-25T18:30:44.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-04-25T18:01:40.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-04-02T15:28:47.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-04-01T17:21:53.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-03-31T23:40:42.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-03-29T16:51:56.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-03-29T02:03:24.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-03-29T02:00:36.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-03-29T00:24:05.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-03-28T16:43:46.000-04:00 Socratica-Org/symposium-w24-matchmaking 2024-03-28T16:34:31.000-04:00 rajansagarwal/portal 2024-07-10T23:28:38.000-04:00 rajansagarwal/portal 2024-07-08T23:43:07.000-04:00 rajansagarwal/portal 2024-06-30T23:59:28.000-04:00 rajansagarwal/portal 2024-06-30T23:59:11.000-04:00 rajansagarwal/portal 2024-06-26T22:46:54.000-04:00 rajansagarwal/portal 2024-06-26T22:45:46.000-04:00 rajansagarwal/portal 2024-06-26T22:44:58.000-04:00 rajansagarwal/portal 2024-06-26T22:44:24.000-04:00 rajansagarwal/portal 2024-06-26T22:43:47.000-04:00 rajansagarwal/portal 2024-06-19T23:31:00.000-04:00 rajansagarwal/portal 2024-06-19T23:28:48.000-04:00 rajansagarwal/portal 2024-06-13T23:43:01.000-04:00 rajansagarwal/portal 2024-06-13T23:37:45.000-04:00 rajansagarwal/portal 2024-06-12T22:46:55.000-04:00 rajansagarwal/portal 2024-06-12T08:40:42.000-04:00 rajansagarwal/portal 2024-06-11T23:22:55.000-04:00 rajansagarwal/portal 2024-06-08T00:27:32.000-04:00 rajansagarwal/portal 2024-05-31T18:23:04.000-04:00 rajansagarwal/portal 2024-05-31T17:06:47.000-04:00 rajansagarwal/portal 2024-05-31T17:06:23.000-04:00 rajansagarwal/portal 2024-05-31T15:18:46.000-04:00 rajansagarwal/portal 2024-05-31T14:40:41.000-04:00 rajansagarwal/portal 2024-05-31T12:36:25.000-04:00 rajansagarwal/portal 2024-05-31T00:08:55.000-04:00 rajansagarwal/portal 2024-05-31T00:07:33.000-04:00 rajansagarwal/portal 2024-05-29T23:41:22.000-04:00 rajansagarwal/portal 2024-05-29T22:44:53.000-04:00 rajansagarwal/portal 2024-05-28T23:59:14.000-04:00 rajansagarwal/portal 2024-05-28T23:58:30.000-04:00 rajansagarwal/portal 2024-05-28T08:15:30.000-04:00 rajansagarwal/portal 2024-05-27T17:58:29.000-04:00 rajansagarwal/portal 2024-05-26T21:02:09.000-04:00 rajansagarwal/portal 2024-05-25T11:02:29.000-04:00 rajansagarwal/portal 2024-05-25T11:01:56.000-04:00 rajansagarwal/portal 2024-05-25T11:01:04.000-04:00 rajansagarwal/portal 2024-05-25T11:00:23.000-04:00 rajansagarwal/portal 2024-05-25T10:59:43.000-04:00 sdan/gpt-wrapped 2024-12-21T20:43:26.000-05:00 sdan/gpt-wrapped 2024-12-21T13:57:20.000-05:00 sdan/gpt-wrapped 2024-12-21T13:42:54.000-05:00 sdan/gpt-wrapped 2024-12-21T12:21:25.000-05:00 sdan/gpt-wrapped 2024-12-21T10:31:27.000-05:00 sdan/gpt-wrapped 2024-12-21T01:37:08.000-05:00 sdan/gpt-wrapped 2024-12-21T00:20:56.000-05:00 sdan/gpt-wrapped 2024-12-21T00:09:19.000-05:00 sdan/gpt-wrapped 2024-12-20T23:24:09.000-05:00 sdan/gpt-wrapped 2024-12-20T23:20:09.000-05:00 sdan/gpt-wrapped 2024-12-20T23:16:55.000-05:00 sdan/gpt-wrapped 2024-12-20T23:14:00.000-05:00 sdan/gpt-wrapped 2024-12-20T23:08:44.000-05:00 sdan/gpt-wrapped 2024-12-20T23:08:08.000-05:00 sdan/gpt-wrapped 2024-12-20T23:02:37.000-05:00 sdan/gpt-wrapped 2024-12-20T19:28:14.000-05:00 sdan/gpt-wrapped 2024-12-20T18:27:17.000-05:00 sdan/gpt-wrapped 2024-12-20T18:15:01.000-05:00 sdan/gpt-wrapped 2024-12-20T00:46:06.000-05:00 sdan/gpt-wrapped 2024-12-20T00:41:30.000-05:00 sdan/gpt-wrapped 2024-12-20T00:14:14.000-05:00 sdan/gpt-wrapped 2024-12-20T00:06:51.000-05:00 sdan/gpt-wrapped 2024-12-19T23:57:05.000-05:00 sdan/gpt-wrapped 2024-12-19T23:55:06.000-05:00 sdan/gpt-wrapped 2024-12-19T23:49:23.000-05:00 sdan/gpt-wrapped 2024-12-19T22:34:04.000-05:00 Exit code: 0
Now I have a comprehensive picture. Let me also check if there are more commits beyond the first 100 (search/commits default returns 100, paginate should get more but search API caps at 1000 results / first 100 per page). Let me check total count. Actually, let me just compile the final answer. I have: Own repos with 2024 push activity: - rajansagarwal/audio2vec - rajansagarwal/deja-vu - rajansagarwal/eng-intern-assessment-rails (fork) - rajansagarwal/mpc - rajansagarwal/quickstart (fork) - rajansagarwal/shapeshift - rajansagarwal/www23 - rajansagarwal/gpt-wrapped (created 2024-12-20) - rajansagarwal/portal (created 2024-05-25) - rajansagarwal/rajansagarwal (profile repo) - rajansagarwal/self-driving-tank Other people's repos he contributed to in 2024: - BracketBotCapstone/quickstart (PR + commits) - WATonomous/data-driven-model (commits) - ritaxiang/stealth-startup (commits) - freeman-jiang/nexus (commits) - Shav7/voicebot (commits) - shahanneda/bracketbothackaton (commits) - ishaan1013/axiom (commits) - Socratica-Org/symposium-w24-matchmaking (commits) - sdan/gpt-wrapped (commits - this is the upstream of his gpt-wrapped fork) Let me check the total_count to see if there are more commits I missed. The search/commits with paginate should have gotten all up to 1000. Let me verify by checking total_count.
Let me verify I captured all results by checking the total counts.
{
"command": "gh api \"search/commits?q=author:rajansagarwal+author-date:2024-01-01..2024-12-31&per_page=1\" --jq '.total_count'\ngh api \"search/issues?q=author:rajansagarwal+created:2024-01-01..2024-12-31&per_page=1\" --jq '.total_count'"
}Output from command in shell 04e8d7:
gh: You have exceeded a secondary rate limit. Please wait a few minutes before you try again. For more on scraping GitHub and how it may affect your rights, please review our Terms of Service (https://docs.github.com/en/site-policy/github-terms/github-terms-of-service) If you reach out to GitHub Support for help, please include the request ID DA1B:199FCF:DF6D38:E2B6ED:6A3632EC. (HTTP 403)
{
"documentation_url": "https://docs.github.com/free-pro-team@latest/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits",
"message": "You have exceeded a secondary rate limit. Please wait a few minutes before you try again. For more on scraping GitHub and how it may affect your rights, please review our Terms of Service (https://docs.github.com/en/site-policy/github-terms/github-terms-of-service) If you reach out to GitHub Support for help, please include the request ID DA1B:199FCF:DF6D38:E2B6ED:6A3632EC."
}2
Exit code: 0Hit a rate limit on the first call, but the second returned total_count: 2 for issues (matches what I found - 2 PRs). The commits search may have more than 100 results since I used paginate. Let me wait and check the commit count. Actually, the paginate flag with search/commits should retrieve up to 1000 results (10 pages of 100). I got ~150 commits which is well under 1000, so I likely got them all. But let me verify the total count after a brief wait.
{
"command": "sleep 60 && gh api \"search/commits?q=author:rajansagarwal+author-date:2024-01-01..2024-12-31&per_page=1\" --jq '.total_count'",
"timeout": 90000
}No output produced after 5.0 seconds. Command running in background with ID: fd84a9. Run get_output with timeout if you need to wait.
{
"shell_id": "fd84a9",
"timeout": 70000
}181 Exit code: 0
Total 181 commits, and I retrieved ~150 in the previous paginated call. There may be ~30 more I missed. Let me re-run paginate to get the full list of unique repos. Actually, the paginate flag should have gotten all pages up to 1000. Let me re-run and dedupe to be sure I have all unique repos. Wait - I got 181 total but only saw ~150 in output. The paginate may have hit a page limit. Let me re-run and extract unique repo names.
There are 181 total commits but I only saw ~150. Let me re-fetch and extract unique repos to be thorough.
{
"command": "sleep 30 && gh api --paginate \"search/commits?q=author:rajansagarwal+author-date:2024-01-01..2024-12-31&per_page=100\" --jq '.items[].repository.full_name' 2>&1 | sort -u",
"timeout": 120000
}No output produced after 5.0 seconds. Command running in background with ID: c22169. Run get_output with timeout if you need to wait.
{
"shell_id": "c22169",
"timeout": 90000
}BracketBotCapstone/quickstart freeman-jiang/nexus ishaan1013/axiom rajansagarwal/audio2vec rajansagarwal/deja-vu rajansagarwal/gpt-wrapped rajansagarwal/portal rajansagarwal/rajansagarwal rajansagarwal/self-driving-tank rajansagarwal/shapeshift rajansagarwal/www23 ritaxiang/stealth-startup sdan/gpt-wrapped shahanneda/bracketbothackaton Shav7/voicebot Socratica-Org/symposium-w24-matchmaking WATonomous/data-driven-model Exit code: 0
Now I have the complete unique list of repos he committed to in 2024. Combined with the repos that had pushes in 2024 (which includes forks like eng-intern-assessment-rails, mpc, quickstart that may not have his commits indexed by search), and PRs (BracketBotCapstone/quickstart, rajansagarwal/portal). Let me compile the final answer. Note: the repos with pushes but no commits in search are likely forks (mpc, eng-intern-assessment-rails, quickstart) where commits may not be indexed, or repos where he pushed but search didn't index. Let me include them. Final list: Own repos (11): - rajansagarwal/audio2vec - rajansagarwal/deja-vu - rajansagarwal/eng-intern-assessment-rails (fork) - rajansagarwal/gpt-wrapped - rajansagarwal/mpc - rajansagarwal/portal - rajansagarwal/quickstart (fork) - rajansagarwal/rajansagarwal (profile) - rajansagarwal/self-driving-tank - rajansagarwal/shapeshift - rajansagarwal/www23 Others' repos (8): - BracketBotCapstone/quickstart (PR + commits) - freeman-jiang/nexus - ishaan1013/axiom - ritaxiang/stealth-startup - sdan/gpt-wrapped - shahanneda/bracketbothackaton - Shav7/voicebot - Socratica-Org/symposium-w24-matchmaking - WATonomous/data-driven-model That's 9 others' repos. Let me present this cleanly.
Here are all the repos rajansagarwal contributed to in 2024, found via the GitHub API (commits search + PRs/issues search + repos with 2024 pushes).
| Repo | Type | Last 2024 push |
|---|---|---|
| rajansagarwal/audio2vec | source | 2024-06-21 |
| rajansagarwal/deja-vu | source | 2024-05-25 |
| rajansagarwal/eng-intern-assessment-rails | fork | 2024-01-21 |
| rajansagarwal/gpt-wrapped | source | 2024-12-21 |
| rajansagarwal/mpc | source | 2024-07-15 |
| rajansagarwal/portal | source | 2024-07-10 |
| rajansagarwal/quickstart | fork | 2024-11-09 |
| rajansagarwal/rajansagarwal | profile | 2024-07-17 |
| rajansagarwal/self-driving-tank | source | 2024-01-21 |
| rajansagarwal/shapeshift | source | 2024-07-07 |
| rajansagarwal/www23 | source | 2024-09-12 |
| Repo | Contribution |
|---|---|
| BracketBotCapstone/quickstart | commits + 1 PR |
| freeman-jiang/nexus | commits (Feb 2024) |
| ishaan1013/axiom | commits (Oct–Nov 2024) |
| ritaxiang/stealth-startup | commits (Sep 2024) |
| sdan/gpt-wrapped | commits (Dec 2024) — upstream of his fork |
| shahanneda/bracketbothackaton | commits (Nov 2024) |
| Shav7/voicebot | commits (Nov 2024) |
| Socratica-Org/symposium-w24-matchmaking | commits (Mar–May 2024) |
| WATonomous/data-driven-model | commits (Dec 2024) |
search/commits (author:rajansagarwal author-date:2024-01-01..2024-12-31, 181 total commits) and search/issues for PRs/issues authored in 2024.eng-intern-assessment-rails, mpc, quickstart) appear in his repos list with 2024 pushes but their commits aren't always indexed by the commits search API, so they're listed under "own repos" via the pushed_at filter rather than via commit search.sdan/gpt-wrapped and rajansagarwal/gpt-wrapped are the same project (upstream + his fork) — counted separately since they're distinct repos.after you get all of the websites, download the readme.md of all relevant repos and then summarize each project
The user wants me to download the README.md of all relevant repos and summarize each project. Let me identify the relevant repos - I'll consider all of them since they all had 2024 activity. Let me download READMEs in parallel. Let me create a directory and download READMEs. I should use the GitHub API to get READMEs efficiently.
I'll download the README.md for each repo via the GitHub API, then summarize. Let me set up a working directory and fetch them in parallel.
{
"command": "mkdir -p /tmp/rajansagarwal-readmes && cd /tmp/rajansagarwal-readmes && rm -f *.md && ls"
}Output from command in shell 2f880b: Exit code: 0
{
"command": "cd /tmp/rajansagarwal-readmes\nrepos=(\n \"rajansagarwal/audio2vec\"\n \"rajansagarwal/deja-vu\"\n \"rajansagarwal/eng-intern-assessment-rails\"\n \"rajansagarwal/gpt-wrapped\"\n \"rajansagarwal/mpc\"\n \"rajansagarwal/portal\"\n \"rajansagarwal/quickstart\"\n \"rajansagarwal/rajansagarwal\"\n \"rajansagarwal/self-driving-tank\"\n \"rajansagarwal/shapeshift\"\n \"rajansagarwal/www23\"\n \"BracketBotCapstone/quickstart\"\n \"freeman-jiang/nexus\"\n \"ishaan1013/axiom\"\n \"ritaxiang/stealth-startup\"\n \"sdan/gpt-wrapped\"\n \"shahanneda/bracketbothackaton\"\n \"Shav7/voicebot\"\n \"Socratica-Org/symposium-w24-matchmaking\"\n \"WATonomous/data-driven-model\"\n)\nfor r in \"${repos[@]}\"; do\n fname=$(echo \"$r\" | tr '/' '_')\n gh api \"repos/$r/readme\" --jq '.content' 2>/dev/null | base64 -d > \"${fname}.md\" 2>/dev/null\n if [ ! -s \"${fname}.md\" ]; then\n echo \"NO_README: $r\"\n rm -f \"${fname}.md\"\n else\n echo \"OK: $r ($(wc -c < \"${fname}.md\") bytes)\"\n fi\ndone",
"timeout": 120000
}Output from command in shell 7fd8a8: OK: rajansagarwal/audio2vec ( 287 bytes) NO_README: rajansagarwal/deja-vu OK: rajansagarwal/eng-intern-assessment-rails ( 3971 bytes) OK: rajansagarwal/gpt-wrapped ( 1450 bytes) NO_README: rajansagarwal/mpc OK: rajansagarwal/portal ( 296 bytes) OK: rajansagarwal/quickstart ( 97 bytes) OK: rajansagarwal/rajansagarwal ( 449 bytes) OK: rajansagarwal/self-driving-tank ( 5836 bytes) OK: rajansagarwal/shapeshift ( 1042 bytes) OK: rajansagarwal/www23 ( 1750 bytes) OK: BracketBotCapstone/quickstart ( 242 bytes) OK: freeman-jiang/nexus ( 989 bytes) OK: ishaan1013/axiom ( 3763 bytes) OK: ritaxiang/stealth-startup ( 18 bytes) OK: sdan/gpt-wrapped ( 2312 bytes) OK: shahanneda/bracketbothackaton ( 31 bytes) OK: Shav7/voicebot ( 31 bytes) OK: Socratica-Org/symposium-w24-matchmaking ( 3006 bytes) OK: WATonomous/data-driven-model ( 1270 bytes) Exit code: 0
Got 18 READMEs. For the 2 without a README, let me check the repo description and any other docs.
{
"command": "for r in \"rajansagarwal/deja-vu\" \"rajansagarwal/mpc\"; do\n echo \"=== $r ===\"\n gh api \"repos/$r\" --jq '{description, language, topics, homepage}'\ndone"
}Output from command in shell 02c5b6:
=== rajansagarwal/deja-vu ===
{"description":"Winner Hack the North 2023 🏆 AI Wearable that lets you multimodal search through memories","homepage":"","language":"Jupyter Notebook","topics":[]}
=== rajansagarwal/mpc ===
{"description":null,"homepage":null,"language":null,"topics":[]}
Exit code: 0{
"command": "cd /tmp/rajansagarwal-readmes\nfor f in *.md; do\n echo \"================================================================\"\n echo \"FILE: $f\"\n echo \"================================================================\"\n cat \"$f\"\n echo\ndone"
}Output from command in shell 50385b:
================================================================
FILE: BracketBotCapstone_quickstart.md
================================================================
# Bracket Bot Quickstart
For comprehensive documentation, visit our docs site: [https://docs.bracket.bot/docs/](https://docs.bracket.bot/docs/)
## Getting Started
To set up your robot, look at the setup folder:
[**Setup Guide**](./setup)
================================================================
FILE: freeman-jiang_nexus.md
================================================================
<img width="1494" alt="image" src="https://github.com/freeman-jiang/nexus/assets/56516912/b8487775-27ab-430f-a0ad-5df827655b36">
# Nexus - 3D semantic graph of hacker interests
[Nexus](https://nexusgraph.vercel.app/) is a data visualization of hacker interests at TreeHacks, Hack the North, and Calhacks.
### Quickstart
```sh
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
We use [Together AI](https://www.together.ai/) for inferencing and embeddings.
Create a **.env** with
```sh
# https://api.together.xyz/settings/api-keys
TOGETHER_API_KEY="<your_api_key>"
```
Create a file called **messages-htn-calhacks.json** containing the scraped data.
```json
[
{
"Time": "1:47 PM",
"Name": "John Doe",
"String": "Hello everyone! My name is John and I'm a X year student from Y university. My background is in Z and I'm looking for ..."
},
...
]
```
Run **main.py** then **build_graph.py**. Your graph will be in **graphData.json**
================================================================
FILE: ishaan1013_axiom.md
================================================================
# Axiom
An editor interface for George, for [SE212 (Logic and Computation)](https://student.cs.uwaterloo.ca/~se212/notes.html) at the University of Waterloo.

## Features
- **Multiplayer collaboration with [Workspaces](#workspaces)**
- Invite classmates by WatIAM ID
- Manage collaborators and invitations
- View other cursors and selections
- **Intelligent language support**
- Auto-incrementing line numbers
- Auto-decrementing line numbers (`⌘+X`)
- Auto-updating rule references
- Auto-closing braces and indentations
- Comments (`⌘+/`)
- Jump to line definition (`⌘+Click`)
- Hover tooltip for rule definitions
- Boundaries above and below at `#check {x}`
- Remove empty lines with line numbers with `⏎`
- **User interface**
- Tabs for opening multiple files
- Collapsible and resizable panels
- Sidebar explorer (`⌘+B`)
- George output (`⌘+J`)
- Keyboard shortcuts for all major features
- VSCode-like editor features and shortcuts (we use the same editor library as VSCode)
- Local assignment and project files, persisted in local storage
- Upload a `.grg` file into the current tab (`⌘+U`)
- Download the current file
- **Settings menu (`⌘+K`)**
- Light/dark mode
- Toggle autocomplete
- Individually customizable editor colours
## Workspaces
Workspaces are shared folders for multiplayer collaboration. You can create a workspace by clicking the `+` button in the sidebar. You can invite and manage collaborators by clicking on the three dots or right-clicking on a workspace. You can view your invitations in Settings>Invites (`⌘+K`).
Workspace rules:
- **Permissionless**
- Any user in a workspace has equal permission to invite users, revoke invitations, remove collaborators, edit files, and delete the workspace
- Only invite users you trust!
- **Unique folder**
- You can only have one workspace for a folder. For example, you cannot have more than one workspace for `Project 1`.
- You can not accept an invitation to a workspace for a folder that you already have access to.
- **One at a time**
- You can only have one workspace open at a time in the editor
- Temporary limitation for backend simplicity, may be lifted in the future
## Contributing
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on contributing to Axiom.
## Running Locally
### Frontend
We use Next.js 14 + Typescript, as well as these libraries:
- Monaco editor
- Y.js
- Socket.io
- Tanstack Query
- TailwindCSS
- Shadcn UI
Set up environment variables in `frontend/.env.local`:
```
NEXT_PUBLIC_SERVER_URL=http://localhost:4000
```
Run the frontend:
```
cd frontend
npm i
npm run dev
```
> [!WARNING]
> Since we're running locally without Waterloo's authentication, you must set the `watiam` property in local storage to your WatIAM ID (or any string).
> Then create a user in the DB with that WatIAM ID for everything to work. The easiest way to do this is with prisma studio (run `npx prisma studio` in the backend directory).
### Backend
We use a Typescript + Express + Node.js server for our HTTP and WebSockets server, as well as these libraries:
- Socket.io
- Y.js
- Prisma
Set up environment variables in `backend/.env`:
```
DATABASE_URL="file:./dev.db"
```
Run the backend:
```
cd backend
npm i
npm run dev
```
#### Prisma
1. Compile the Prisma Schema
```
npx prisma generate
```
2. Run a migration to create your database tables with Prisma Migrate
```
npx prisma migrate dev --name init
```
3. (Optional) Run the seed to initialize it with some values
```
npx prisma db seed
```
4. Explore the data in Prisma Studio
```
npx prisma studio
```
================================================================
FILE: rajansagarwal_audio2vec.md
================================================================
# audio2vec
An audio embeddings model that models sentiment into a 256 dimensional space through spectrograms extracted from raw waveforms. Built entirely on the plane to SF! Built on the [RAVDESS dataset](https://www.kaggle.com/datasets/uwrfkaggler/ravdess-emotional-speech-audio/data)
================================================================
FILE: rajansagarwal_eng-intern-assessment-rails.md
================================================================
# Technical Instructions
1. Fork this repo to your local Github account.
2. Create a new branch to complete all your work in.
3. Test your work using the provided tests
4. Create a Pull Request against the Shopify Main branch when you're done and all tests are passing
# Project Overview
The Rails application you will be working on is an Encyclopedia, which allows users to create, view, edit, and delete articles. The application also provides search functionality to help users find relevant articles. Be sure to implement basic CRUD actions on articles. Your task is to implement these features as well as write the code that makes the tests pass.
# Project Goals
The main goal of this internship project is to implement the functionality required to make the existing tests pass. The provided tests cover various aspects of the application, including creating and viewing articles, editing and updating articles, deleting articles, and searching for articles. Along with completing the tests, be sure to implement all basic CRUD actions on your articles on a controller and create views to see your work in the app.
## Your specific goals for this project are as follows:
1. Review Existing Tests: Start by reviewing the existing tests provided in the article_test.rb file located in the test/models directory. Understand the requirements and expectations of each test.
2. Implement Functionality: Write the code necessary to make the existing tests pass. This involves implementing the required actions and logic in the models, controllers, and views to fulfill the specified requirements. Also be sure to implement basic CRUD actions and demonstrate proper MVC principals.
3. Ensure Code Quality: Write clean, well-structured, and maintainable code. Follow best practices and adhere to the Ruby on Rails conventions. Pay attention to code readability, modularity, and performance.
4. Test Your Code: After implementing the functionality, run the tests to ensure that they pass successfully. Fix any failures or errors that occur and retest until all tests pass.
5. Code Documentation: Document your code by adding comments and explanatory notes where necessary. This will help other developers understand your implementation and make future maintenance easier.
6. Version Control: Use Git for version control. Commit your changes regularly and push them to a branch in your forked repository.
7. Create a Pull Request: Once you have completed the project goals, create a pull request to merge your changes into the main repository. Provide a clear description of the changes made and any relevant information for the code review.
## Getting Started
To get started with this project, follow these steps:
1. Clone the repository to your local development environment.
2. Install the necessary dependencies by running bundle install in the project directory.
3. Familiarize yourself with the existing codebase, including the models, controllers, and views.
4. Review the existing tests in the article_test.rb file and understand their purpose and functionality.
5. Run the tests locally to ensure they are passing.
6. Start working on the goals outlined above, making improvements to the existing tests and adding new tests as needed.
7. Commit your changes regularly and push them to a branch in your forked repository.
8. Once you have completed the project goals, create a pull request to merge your changes into the main repository.
## Resources
Here are some resources that may be helpful during your internship project:
- [Ruby on Rails Guides](https://guides.rubyonrails.org/) - Comprehensive guides on Ruby on Rails, covering various aspects of web application development.
- [Ruby Style Guide](https://rubystyle.guide/) - A community-driven Ruby coding style guide to ensure consistent and readable code.
- [Git D… (121 chars truncated)
… (427 lines truncated)
Exit code: 0
<truncation_notice>
Full output written to: /var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/content.txt
</truncation_notice>Let me read the remaining READMEs individually.
{
"file_path": "/var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/content.txt"
}<file-view path="/var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/content.txt" start_line="1" end_line="387" total_lines="686">
1|Output from command in shell 50385b:
2|================================================================
3|FILE: BracketBotCapstone_quickstart.md
4|================================================================
5|# Bracket Bot Quickstart
6|
7|For comprehensive documentation, visit our docs site: [https://docs.bracket.bot/docs/](https://docs.bracket.bot/docs/)
8|
9|## Getting Started
10|
11|To set up your robot, look at the setup folder:
12|
13|[**Setup Guide**](./setup)
14|
15|================================================================
16|FILE: freeman-jiang_nexus.md
17|================================================================
18|<img width="1494" alt="image" src="https://github.com/freeman-jiang/nexus/assets/56516912/b8487775-27ab-430f-a0ad-5df827655b36">
19|
20|# Nexus - 3D semantic graph of hacker interests
21|
22|[Nexus](https://nexusgraph.vercel.app/) is a data visualization of hacker interests at TreeHacks, Hack the North, and Calhacks.
23|
24|### Quickstart
25|```sh
26|python3 -m venv .venv
27|source .venv/bin/activate
28|pip install -r requirements.txt
29|```
30|
31|We use [Together AI](https://www.together.ai/) for inferencing and embeddings.
32|Create a **.env** with
33|
34|```sh
35|# https://api.together.xyz/settings/api-keys
36|TOGETHER_API_KEY="<your_api_key>"
37|```
38|
39|Create a file called **messages-htn-calhacks.json** containing the scraped data.
40|```json
41|[
42| {
43| "Time": "1:47 PM",
44| "Name": "John Doe",
45| "String": "Hello everyone! My name is John and I'm a X year student from Y university. My background is in Z and I'm looking for ..."
46| },
47| ...
48|]
49|```
50|
51|Run **main.py** then **build_graph.py**. Your graph will be in **graphData.json**
52|
53|
54|================================================================
55|FILE: ishaan1013_axiom.md
56|================================================================
57|# Axiom
58|
59|An editor interface for George, for [SE212 (Logic and Computation)](https://student.cs.uwaterloo.ca/~se212/notes.html) at the University of Waterloo.
60|
61|
62|
63|## Features
64|
65|- **Multiplayer collaboration with [Workspaces](#workspaces)**
66| - Invite classmates by WatIAM ID
67| - Manage collaborators and invitations
68| - View other cursors and selections
69|- **Intelligent language support**
70| - Auto-incrementing line numbers
71| - Auto-decrementing line numbers (`⌘+X`)
72| - Auto-updating rule references
73| - Auto-closing braces and indentations
74| - Comments (`⌘+/`)
75| - Jump to line definition (`⌘+Click`)
76| - Hover tooltip for rule definitions
77| - Boundaries above and below at `#check {x}`
78| - Remove empty lines with line numbers with `⏎`
79|- **User interface**
80| - Tabs for opening multiple files
81| - Collapsible and resizable panels
82| - Sidebar explorer (`⌘+B`)
83| - George output (`⌘+J`)
84| - Keyboard shortcuts for all major features
85| - VSCode-like editor features and shortcuts (we use the same editor library as VSCode)
86| - Local assignment and project files, persisted in local storage
87| - Upload a `.grg` file into the current tab (`⌘+U`)
88| - Download the current file
89|- **Settings menu (`⌘+K`)**
90| - Light/dark mode
91| - Toggle autocomplete
92| - Individually customizable editor colours
93|
94|## Workspaces
95|
96|Workspaces are shared folders for multiplayer collaboration. You can create a workspace by clicking the `+` button in the sidebar. You can invite and manage collaborators by clicking on the three dots or right-clicking on a workspace. You can view your invitations in Settings>Invites (`⌘+K`).
97|
98|Workspace rules:
99|
100|- **Permissionless**
101| - Any user in a workspace has equal permission to invite users, revoke invitations, remove collaborators, edit files, and delete the workspace
102| - Only invite users you trust!
103|- **Unique folder**
104| - You can only have one workspace for a folder. For example, you cannot have more than one workspace for `Project 1`.
105| - You can not accept an invitation to a workspace for a folder that you already have access to.
106|- **One at a time**
107| - You can only have one workspace open at a time in the editor
108| - Temporary limitation for backend simplicity, may be lifted in the future
109|
110|## Contributing
111|
112|Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on contributing to Axiom.
113|
114|## Running Locally
115|
116|### Frontend
117|
118|We use Next.js 14 + Typescript, as well as these libraries:
119|
120|- Monaco editor
121|- Y.js
122|- Socket.io
123|- Tanstack Query
124|- TailwindCSS
125|- Shadcn UI
126|
127|Set up environment variables in `frontend/.env.local`:
128|
129|```
130|NEXT_PUBLIC_SERVER_URL=http://localhost:4000
131|```
132|
133|Run the frontend:
134|
135|```
136|cd frontend
137|npm i
138|npm run dev
139|```
140|
141|> [!WARNING]
142|> Since we're running locally without Waterloo's authentication, you must set the `watiam` property in local storage to your WatIAM ID (or any string).
143|> Then create a user in the DB with that WatIAM ID for everything to work. The easiest way to do this is with prisma studio (run `npx prisma studio` in the backend directory).
144|
145|### Backend
146|
147|We use a Typescript + Express + Node.js server for our HTTP and WebSockets server, as well as these libraries:
148|
149|- Socket.io
150|- Y.js
151|- Prisma
152|
153|Set up environment variables in `backend/.env`:
154|
155|```
156|DATABASE_URL="file:./dev.db"
157|```
158|
159|Run the backend:
160|
161|```
162|cd backend
163|npm i
164|npm run dev
165|```
166|
167|#### Prisma
168|
169|1. Compile the Prisma Schema
170|
171|```
172|npx prisma generate
173|```
174|
175|2. Run a migration to create your database tables with Prisma Migrate
176|
177|```
178|npx prisma migrate dev --name init
179|```
180|
181|3. (Optional) Run the seed to initialize it with some values
182|
183|```
184|npx prisma db seed
185|```
186|
187|4. Explore the data in Prisma Studio
188|
189|```
190|npx prisma studio
191|```
192|
193|================================================================
194|FILE: rajansagarwal_audio2vec.md
195|================================================================
196|# audio2vec
197|An audio embeddings model that models sentiment into a 256 dimensional space through spectrograms extracted from raw waveforms. Built entirely on the plane to SF! Built on the [RAVDESS dataset](https://www.kaggle.com/datasets/uwrfkaggler/ravdess-emotional-speech-audio/data)
198|
199|================================================================
200|FILE: rajansagarwal_eng-intern-assessment-rails.md
201|================================================================
202|# Technical Instructions
203|1. Fork this repo to your local Github account.
204|2. Create a new branch to complete all your work in.
205|3. Test your work using the provided tests
206|4. Create a Pull Request against the Shopify Main branch when you're done and all tests are passing
207|
208|# Project Overview
209|The Rails application you will be working on is an Encyclopedia, which allows users to create, view, edit, and delete articles. The application also provides search functionality to help users find relevant articles. Be sure to implement basic CRUD actions on articles. Your task is to implement these features as well as write the code that makes the tests pass.
210|
211|# Project Goals
212|The main goal of this internship project is to implement the functionality required to make the existing tests pass. The provided tests cover various aspects of the application, including creating and viewing articles, editing and updating articles, deleting articles, and searching for articles. Along with completing the tests, be sure to implement all basic CRUD actions on your articles on a controller and create views to see your work in the app.
213|
214|## Your specific goals for this project are as follows:
215|
216|1. Review Existing Tests: Start by reviewing the existing tests provided in the article_test.rb file located in the test/models directory. Understand the requirements and expectations of each test.
217|
218|2. Implement Functionality: Write the code necessary to make the existing tests pass. This involves implementing the required actions and logic in the models, controllers, and views to fulfill the specified requirements. Also be sure to implement basic CRUD actions and demonstrate proper MVC principals.
219|
220|3. Ensure Code Quality: Write clean, well-structured, and maintainable code. Follow best practices and adhere to the Ruby on Rails conventions. Pay attention to code readability, modularity, and performance.
221|
222|4. Test Your Code: After implementing the functionality, run the tests to ensure that they pass successfully. Fix any failures or errors that occur and retest until all tests pass.
223|
224|5. Code Documentation: Document your code by adding comments and explanatory notes where necessary. This will help other developers understand your implementation and make future maintenance easier.
225|
226|6. Version Control: Use Git for version control. Commit your changes regularly and push them to a branch in your forked repository.
227|
228|7. Create a Pull Request: Once you have completed the project goals, create a pull request to merge your changes into the main repository. Provide a clear description of the changes made and any relevant information for the code review.
229|
230|## Getting Started
231|To get started with this project, follow these steps:
232|
233|1. Clone the repository to your local development environment.
234|
235|2. Install the necessary dependencies by running bundle install in the project directory.
236|
237|3. Familiarize yourself with the existing codebase, including the models, controllers, and views.
238|
239|4. Review the existing tests in the article_test.rb file and understand their purpose and functionality.
240|
241|5. Run the tests locally to ensure they are passing.
242|
243|6. Start working on the goals outlined above, making improvements to the existing tests and adding new tests as needed.
244|
245|7. Commit your changes regularly and push them to a branch in your forked repository.
246|
247|8. Once you have completed the project goals, create a pull request to merge your changes into the main repository.
248|
249|## Resources
250|Here are some resources that may be helpful during your internship project:
251|
252|- [Ruby on Rails Guides](https://guides.rubyonrails.org/) - Comprehensive guides on Ruby on Rails, covering various aspects of web application development.
253|
254|- [Ruby Style Guide](https://rubystyle.guide/) - A community-driven Ruby coding style guide to ensure consistent and readable code.
255|
256|- [Git Documentation](https://git-scm.com/doc) - Official documentation for Git, the version control system used in this project.
257|
258|================================================================
259|FILE: rajansagarwal_gpt-wrapped.md
260|================================================================
261|This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
262|
263|## Getting Started
264|
265|First, run the development server:
266|
267|```bash
268|npm run dev
269|# or
270|yarn dev
271|# or
272|pnpm dev
273|# or
274|bun dev
275|```
276|
277|Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
278|
279|You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
280|
281|This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
282|
283|## Learn More
284|
285|To learn more about Next.js, take a look at the following resources:
286|
287|- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
288|- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
289|
290|You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
291|
292|## Deploy on Vercel
293|
294|The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
295|
296|Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
297|
298|================================================================
299|FILE: rajansagarwal_portal.md
300|================================================================
301|## Portal
302|
303|Portal is a self-hosted multimodal personal search engine that can answer questions about files, messages, web history and footage!
304|
305|
306|November, 2023
307|
308|[Portal Demo Video Socratica Symposium](https://www.youtube.com/watch?v=Vmupugz2M1s)
309|
310|Wednesday, June 26:
311|
312|================================================================
313|FILE: rajansagarwal_quickstart.md
314|================================================================
315|https://docs.google.com/document/d/1Su7aw--CsmJUElAGL0Z-rqucgAy7vg7NILa343Q9Fbo/edit?usp=sharing
316|
317|================================================================
318|FILE: rajansagarwal_rajansagarwal.md
319|================================================================
320|hi, i'm rajan!
321|
322|i'm a software engineering student at the university of waterloo
323|
324|before this i've built/done
325|- RL research at [Amazon AGI Lab](https://labs.amazon.science)
326|- video editing agents for hollywood producers at [Kino AI](https://kino.ai)
327|- a background coding agent called [Shadow](https://github.com/ishaan1013/shadow)
328|
329|please reach out on [twitter (x)](https://x.com/_rajanagarwal) or email rajan [dot] agarwal [at] uwaterloo [dot] ca
330|
331|================================================================
332|FILE: rajansagarwal_self-driving-tank.md
333|================================================================
334|# Autonomous Tank for Food Delivery
335|
336|<img width="750" alt="image" src="https://github.com/rajanwastaken/self-driving-tank/assets/64426829/23c47253-1333-428f-af3e-79272d888cf4">
337|
338|Software Engineering 1A Design Project @ University of Waterloo.
339|
340|Video Demo: https://www.youtube.com/watch?v=lg0fSsBsl1k&ab_channel=alicezhao
341|
342|We challenged ourselves to create an autonomous model tank that, upon receiving instructions to travel from Point A to Point B on the University of Waterloo’s campus, would use machine learning and computer vision to independently navigate to its destination and deliver a small, meal-sized parcel.
343|
344|To identify walking paths, we first tried accessing existing walking path maps created by the university, but they were too generalized. As such, we could not accurately identify reference coordinates from these imprecise maps. Thus, we began by using OpenCV to apply filtering functions that converted a screenshot of Waterloo’s campus on Google Maps to a black and white image of purely walking paths. Each black pixel (or clickable point) on Google Maps is then converted into a node, creating multiple paths of thousands of nodes and edges.
345|
346|*Figure 1. Walking Path Post-filtering Function, and Black Pixel to Node Conversion*
347|
348|<img width="750" alt="image" src="https://github.com/rajanwastaken/self-driving-tank/assets/64426829/920c3407-55ad-4015-b66a-7c49fb39767f">
349|
350|We use Dijkstra’s algorithm to take these nodes and map out the shortest path whenever the system is given a source and a target. A neural network, using the open-source NEAT algorithm, simulates countless cars traveling this path with Pygame, eventually training the neural network to understand what movement to use when it is a certain distance away from walls in three directions.
351|
352|*Figure 2. Shortest Distance Between Points, and Simulation on Shortest Path Generation*
353|
354|<img width="750" alt="image" src="https://github.com/rajanwastaken/self-driving-tank/assets/64426829/801ee9e0-9de6-4ea3-adf9-fb039c66dd56">
355|
356|On the hardware end, we constructed a model tank. We attached DC motors to two L298N motor controllers, which each connected to a 9V power supply. We then routed these motors to the Pi. Our processing, which would likely cause the Pi to crash, is instead run on a server. We used a Python Flask microservice bridging the aforementioned path algorithms and the Raspberry Pi, which sends endpoints to the Pi in the form of GPIO Zero commands in real-time. The endpoints, /forward, /backwards, /left, /right, and /stop, are processed by an ngrok server and direct voltage towards the respective DC motors.
357|
358|*Figure 3. Completed Tank*
359|
360|<img width="750" alt="image" src="https://github.com/rajanwastaken/self-driving-tank/assets/64426829/8f974034-c8db-4d78-b1a7-4adb6f332a46">
361|
362|Our server processes the required information in two ways. First, a phone camera streams video to our laptop through OBS, which is processed by our algorithms at 30 frames per second. These frames undergo a sequence of image transformations, using varying hue, value, and contrast thresholds to isolate paths from its surroundings (e.g., grass). This processing enables us to generate Hough lines, in which we can project three lines: straight, 45° left, and 45° right. We then interpreted the depth, which was accomplished by creating reference images for how distances are perceived from our camera’s perspective 15 cm above the ground.
363|
364|*Figure 4. OpenCV Image Processing*
365|
366|<img width="750" alt="image" src="https://github.com/rajanwastaken/self-driving-tank/assets/64426829/56dff0c9-26b6-4e7b-8906-b0410b5a2230">
367|
368|*Figure 5. Screenshot from Real-time Distance Analysis and Hough Line Path Detection*
369|
370|<img width="750" alt="image" src="https://github.com/rajanwastaken/self-driving-tank/assets/64426829/4ae15ae1-acdd-4f05-bfcf-702b79edf6c0">
371|
372|The second source of information for our server is the ultrasonic sensor. An endpoint on the Pi, /distance, returns the distance to an object ahead of the Tank at that moment in time. This value is calculated by sending an ultrasonic signal and calculating the time for it to return, using existing libraries with GPIO Zero.
373|
374|Instead of using a GPS for distance, we chose to analyze the Rotary PCB Encoders, which use magnets to calculate the number of rotations. When we send motor instructions in a specific direction, we can calculate the net distance traveled towards our final destination. We can then add weightings to certain directions, influencing the pathfinding to stay on track in a specific direction. During experimentation, we found that Apple’s public GPS distances have a significant margin of error (±100 metres), so this weighting estimation would not result in a significant loss. Although we were concerned that the tank would not consistently stop in the same place, we were willing to sacrifice slight inconsistencies in the endpoint to ensure that the tank stayed on path. We noticed drastic turns often led to small inconsistencies, but worked well for simpler paths like V1 greens.
375|
376|Our model, which is trained on the simulation data, receives the four parameters (three distances and ultrasonic distance), allowing it to scale the tank’s speed and size relative to the real-life walking path.
377|Realtime inputs enabled us to use PID controllers to evaluate error, and send adjustments; this was critical due to the inconsistencies with the brushed DC motor we were given. The model and feedback loops were an interesting challenge, only made possible with conversations and teachings from Mechatronics upper years, who worked at Tesla and AI companies. With the inputs that it receives from the path detection and ultrasonic sensor, the model can iteratively send post requests to our Pi’s ngrok server for a certain number of seconds, operating in real-time.
378|
379|================================================================
380|FILE: rajansagarwal_shapeshift.md
381|================================================================
382|# Shapeshift
383|
384|Shapeshift is a **machine learning experiment** that aims to optimize the construction of earthquake-resistant buildings in third world countries.
385|
386|The approach uses Fourier analysis on earthquake waveforms in three dimensions to model how seismic frequencies decay from its epicentre. The goal was to identify the multi-dimensional ground movements a building should be optimized for, maximizing its earthquake-resistance in a geographical area at the lowest cost of construction. Using LSTMs and Attention Mechanisms to evaluate risk in geographical regions, we can then construct MLPs to model the seismic frequencies and identify the expected ground movements in those areas.
</file-view>{
"file_path": "/var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/content.txt",
"offset": 387
}<file-view path="/var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/content.txt" start_line="387" end_line="686" total_lines="686">
387|
388|My work was accelerated by the RippleX Fellowship & RBCx, under the guidance of Dominic Lau & advisors, alongside various micro-grants. I spent my 2023 summer identifying and researching ways to better construct buildings. Recently, I decided to improve previous work, as well as train the models on larger datasets.
389|
390|
391|================================================================
392|FILE: rajansagarwal_www23.md
393|================================================================
394|This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
395|
396|## Getting Started
397|
398|First, run the development server:
399|
400|```bash
401|npm run dev
402|# or
403|yarn dev
404|# or
405|pnpm dev
406|```
407|
408|Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
409|
410|You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
411|
412|[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
413|
414|The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
415|
416|This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
417|
418|## Learn More
419|
420|To learn more about Next.js, take a look at the following resources:
421|
422|- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
423|- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
424|
425|You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
426|
427|## Deploy on Vercel
428|
429|The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
430|
431|Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
432|
433|================================================================
434|FILE: ritaxiang_stealth-startup.md
435|================================================================
436|# stealth-startup
437|
438|================================================================
439|FILE: sdan_gpt-wrapped.md
440|================================================================
441|This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
442|
443|## Getting Started
444|
445|First, run the development server:
446|
447|```bash
448|npm run dev
449|# or
450|yarn dev
451|# or
452|pnpm dev
453|# or
454|bun dev
455|```
456|
457|Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
458|
459|You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
460|
461|This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
462|
463|## Learn More
464|
465|To learn more about Next.js, take a look at the following resources:
466|
467|- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
468|- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
469|
470|You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
471|
472|## Deploy on Vercel
473|
474|The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
475|
476|Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
477|
478|
479|
480|----
481|
482|## Card 1 - Usage Statistics
483|- Total number of messages sent to ChatGPT (Python)
484|- Total words typed to ChatGPT (Python)
485|- Most active day chatting with ChatGPT (Python, pandas)
486|- Time of day you chat with ChatGPT most often (Python)
487|- Number of images, code snippets, and URLs shared (Python)
488|
489|## Card 2 - Topic Deep Dive
490|- Top 3 most discussed topics (GPT-4)
491|- Breakdown of message types (GPT-4)
492|- For your #1 topic:
493| - Total messages on the topic (Python)
494| - Favorite message on the topic (GPT-4)
495| - Fun fact about the topic discussion (GPT-4)
496|
497|## Card 3 - ChatGPT Interaction
498|- ChatGPT's favorite message from you (GPT-4)
499|- Funniest exchange with ChatGPT (GPT-4)
500|- Creativity Sparks: Top 3 moments of inspiration (GPT-4)
501|- Intellectual Mileage: Distance traveled in conversations (GPT-4)
502|- ChatGPT's persona tailored to your interactions (GPT-4)
503|
504|================================================================
505|FILE: shahanneda_bracketbothackaton.md
506|================================================================
507|https://docs.bracket.bot/docs/
508|
509|================================================================
510|FILE: Shav7_voicebot.md
511|================================================================
512|https://docs.bracket.bot/docs/
513|
514|================================================================
515|FILE: Socratica-Org_symposium-w24-matchmaking.md
516|================================================================
517|# Matchmaking Tools
518|
519|### Download participant data
520|
521|In lu.ma, go to your event page and click "Manage". Click "Guests" and click the download button to get the CSV file. Put this in the root directory of this repository as "**data.csv**"
522|
523|If you have your own CSV, format it as follows:
524|
525|| Names | Responses |
526|| ------------------- | --------------------------------------------- |
527|| Freeman Jiang | I wish to explore the world |
528|| Rajan Agarwal | I want to build AGI |
529|| Hudhayfa Nazoordeen | I want to grow more vegetables hydroponically |
530|
531|In `generate_embeddings.py`, set the `COLUMN_INDEX` to be the column that your responses are in. For example, In the above csv the index would be `1`.
532|
533|### Running the script
534|
535|Install dependencies
536|
537|```sh
538|python3 -m venv venv
539|source venv/bin/activate
540|pip install -r requirements.txt
541|```
542|
543|Generate embeddings
544|
545|```sh
546|python generate_embeddings.py
547|python build_graph.py # to create the graph based on the distance threshold
548|python attendees.py # to create initial cache
549|```
550|
551|You should now successfully have a `graphData.json` file.
552|
553|### Generating summarized data (optional)
554|
555|You now have the option to summarize each response. For example,
556|
557|> i want to learn how to sculpt/pottery! creating something from a block of clay would be incredible but would take a lot of time/lessons.
558|
559|would become
560|
561|> Would learn how to sculpt and create pottery from clay.
562|
563|We recommend this for events where you can search for people, using the `match` site. If you are just using the graph, **this is not necessary.**
564|
565|```sh
566|python summarize_graph_data.py # (OPTIONAL) to summarize responses with LLM
567|```
568|
569|then, uncomment the line in `graph/index.js`:
570|
571|```js
572|// Use the below line if you want to use the summarized graph instead
573|//const json = require("../summarizedGraphData.json");
574|```
575|
576|If you choose to summarize the data with an LLM, a `summarizedGraphData.json` file will be present too. If you do the AI summarization, change `ai_summarization` in `attendees.py` to True. Then, run attendees again to recache.
577|
578|```sh
579|python attendees.py # create attendees.json for searching
580|```
581|
582|## Developing the Graph
583|
584|
585|
586|In the **graph/** directory
587|
588|```sh
589|cd graph
590|npm i
591|npm run dev
592|```
593|
594|Next, concurrently run Tailwind in a new terminal:
595|
596|```sh
597|npm run tailwind
598|```
599|
600|Finally, open **graph/index.html** in a browser.
601|
602|To serve:
603|
604|```sh
605|npm start
606|```
607|
608|## Developing the Matchmaking Site
609|
610|
611|
612|Now in the **match/** directory
613|
614|```sh
615|cd match
616|npm i
617|npm run dev
618|```
619|
620|Then open **localhost:3000** in a browser.
621|
622|To serve:
623|
624|```sh
625|npm start
626|```
627|
628|### Deployment
629|
630|We suggest you deploy using the Vercel CLI, so you do not release personal information in the CSV. You can individually deploy `match` and `graph` with the same compiled dataset. You can check out their documentation: [Vercel CLI Docs](https://vercel.com/docs/cli).
631|
632|================================================================
633|FILE: WATonomous_data-driven-model.md
634|================================================================
635|# Data Driven Model
636|
637|## Training the model
638|
639|- Setup the db with the Drone Simuation Setup
640| - instructions: [https://github.com/TUM-AAS/neural-mpc](https://github.com/TUM-AAS/neural-mpc)
641|- Setup ml-casadi repository
642|- Setup acados on Linux locally
643|- set `export PYTHONPATH="/home/{username}/neural-mpc/ml-casadi:/home/{username}/neural-mpc/ros_dd_mpc"`
644|- set `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/acados/lib && export ACADOS_SOURCE_DIR=~/acados`
645|
646|- python src/model_fitting/train.py --csv data/simplified_sim_dataset/train/dataset_001.csv
647|- python src/experiments/eval.py
648|
649|## ROS Environment (WIP)
650|
651|1. Build and start the Docker container:
652|```bash
653|./run.sh build
654|./run.sh up
655|```
656|
657|2. Connect Foxglove Studio:
658|- Open Foxglove Studio
659|- Click "Open Connection"
660|- Select "WebSocket"
661|- Enter URL: `ws://localhost:8765`
662|- Click "Open"
663|
664|3. Add visualization panels in Foxglove:
665|- Click "+" to add a new panel
666|- Add "3D" panel to see the car moving
667|- Add "Plot" panel to see velocities
668|- Select topics:
669| - `/car/odom` for car position
670| - `/car/reference_path` for the circular path
671| - `/car/cmd_vel` for velocity commands
672|
673|## Stopping the Simulation
674|
675|```bash
676|./run.sh down
677|```
678|
679|If there is an error on build, prune the docker system.
680|
681|```bash
682|docker system prune -f
683|```
684|
685|
686|Exit code: 0
</file-view>I have all the READMEs. Now let me summarize each project. I have all the info I need. Let me write up the summaries.
I have all 18 READMEs (plus descriptions for the 2 without READMEs). Here are the summaries.
An audio embeddings model that maps speech sentiment into a 256-dimensional vector space. It works by extracting spectrograms from raw audio waveforms and training on the RAVDESS emotional-speech dataset. Built "entirely on the plane to SF."
(No README — from repo description) Winner of Hack the North 2023. An AI wearable that lets you do multimodal search through your memories (files, footage, etc.). Jupyter Notebook–based.
A Shopify engineering internship take-home assessment. A Ruby on Rails encyclopedia app where you implement CRUD + search for articles, making the provided test suite pass. Standard MVC Rails exercise.
A Next.js web app (forked from sdan/gpt-wrapped) that generates a "Spotify Wrapped"-style year-in-review of your ChatGPT usage: total messages, words, most active day, top discussed topics, funniest exchange, etc. Uses Python for stats and GPT-4 for narrative cards.
(No README, no description, no language) Empty/placeholder repo — likely a Model Predictive Control experiment given the name and his other autonomous-vehicle work.
A self-hosted multimodal personal search engine that answers questions about your files, messages, web history, and camera footage. Demoed at the Socratica Symposium (Nov 2023); active development through mid-2024.
Just a link to a Google Doc — appears to be a fork of BracketBot's quickstart for robotics setup. Minimal content.
His GitHub profile README. Software engineering student at University of Waterloo. Prior work: RL research at Amazon AGI Lab, video-editing agents for Hollywood at Kino AI, and a background coding agent called Shadow.
A UWaterloo SE 1A design project: an autonomous model tank that delivers food across campus. Combines:
A machine learning experiment to optimize earthquake-resistant building construction in developing countries. Uses Fourier analysis on 3D seismic waveforms to model frequency decay from epicenters, then LSTMs + Attention to evaluate regional risk, and MLPs to predict expected ground movements. Supported by RippleX Fellowship & RBCx.
A Next.js personal/website project (bootstrapped with create-next-app). README is just the default template — actual content lives in the codebase. Heavy commit activity Jan–Sep 2024.
Bracket Bot quickstart guide for setting up a robot. Links to docs.bracket.bot. Rajan contributed commits + 1 PR in Nov 2024.
A 3D semantic graph visualizing hacker interests at TreeHacks, Hack the North, and CalHacks. Uses Together AI for embeddings/inference on scraped participant intros, then builds a graph (graphData.json). Rajan committed in Feb 2024.
Axiom — a collaborative editor for George (the logic language used in UWaterloo's SE212 course). Built with Next.js 14 + Monaco editor + Y.js + Socket.io for real-time multiplayer. Features: WatIAM-based invites, workspaces, auto line numbering, rule-reference jumping, .grg file support, VSCode-like shortcuts. Rajan was a heavy contributor (Oct–Nov 2024, ~20 commits).
README is just a title — a private/early-stage project. Rajan committed in Sep 2024.
The upstream of Rajan's gpt-wrapped fork — a Next.js app producing a ChatGPT "year-in-review" with usage stats, topic deep-dives, and interaction highlights (GPT-4 + Python/pandas). Rajan contributed ~25 commits in Dec 2024.
A Bracket Bot hackathon repo — README just links to docs.bracket.bot. Rajan committed Nov 2024 (same hackathon as the other BracketBot repos).
Another Bracket Bot hackathon repo — README links to docs.bracket.bot. Rajan committed Nov 2024.
Matchmaking tools for the Socratica Symposium (Winter 2024). Takes participant intros from lu.ma CSVs, generates embeddings, builds a 3D interest graph, and optionally uses an LLM to summarize responses. Includes a graph visualizer and a searchable matchmaking site (Vercel-deployable). Rajan was the main contributor (Mar–May 2024, ~13 commits).
A data-driven model for the WATonomous autonomous-vehicle team. Trains a neural MPC model (built on TUM-AAS's neural-mpc, ml-casadi, acados) on drone simulation datasets, with a ROS/Docker environment visualized via Foxglove Studio (car odometry, reference paths, velocity commands). Rajan committed in Dec 2024.
Themes across his 2024 work: autonomous systems (tank, WATonomous MPC), ML research (audio2vec, shapeshift), AI tooling (Portal, gpt-wrapped, matchmaking), hackathon robotics (BracketBot), and developer tools (Axiom). All READMEs are saved in /tmp/rajansagarwal-readmes/ if you want to inspect them.
when did he write his repo on agents making their own startup[
The user is asking about a repo on "agents making their own startup". Let me search through the repos I've already seen. Looking back at the list... I don't see anything obviously matching "agents making their own startup" in the 2024 repos I found. Wait — let me think. The repos I found were 2024 contributions. But the user might be asking about a repo that's not in the 2024 list, or one I haven't fully explored. Let me search his repos more broadly. Actually, "ritaxiang/stealth-startup" — that's a stealth startup repo but owned by ritaxiang, not about agents making a startup. Let me search his full repo list for something about agents/startup. I should look at all his repos, not just 2024 ones. Let me search.
Looking at the 2024 repos I found, none obviously match "agents making their own startup." Let me search his full repo list more broadly — it may be a repo without 2024 push activity, or have a name I didn't flag.
{
"command": "gh api --paginate \"users/rajansagarwal/repos?per_page=100\" --jq '.[] | \"\\(.name)\\t\\(.description // \"\")\\t\\(.created_at)\\t\\(.pushed_at)\"' 2>&1 | grep -iE \"agent|startup|company|found|ceo|business|venture\""
}Output from command in shell 646e0b: bloom-foundation 2022-02-06T03:38:59Z 2022-02-06T03:40:12Z outernet 🏕️ We’ve found the place, you'll create the space. July 28th to 31st 2023. 2023-07-13T03:23:29Z 2023-07-13T14:37:06Z pizza-agent An autonomous agent that can order and deliver any food you want 2023-11-07T14:18:28Z 2025-08-10T15:52:48Z portal-deca A Business Club Portal [deprecated] 2021-10-30T22:12:02Z 2021-10-30T22:12:05Z Exit code: 0
None of these match "agents making their own startup." Let me search more broadly — maybe it's a repo with a less obvious name, or maybe it's described in the README content. Let me check repos that might be AI/agent related. Let me look at all repos with descriptions, and also search the web. Actually, let me check repos that don't have obvious names. Let me look at the full list again — there were repos like "arceus", "entropy-deep-research", "observe", "pokeOS", "compression", "llink", "fleet", "centric", "etherealism", "granite", "maple", "energy-distribution", "corex", "cycs", "diplomatica", "experimental-club", "mindson", "mindmatrix", "novel", "openmindhq", "pathfindr", "etherealism"... Let me get descriptions for all repos to scan more carefully.
{
"command": "gh api --paginate \"users/rajansagarwal/repos?per_page=100\" --jq '.[] | \"\\(.name)\\t\\(.description // \"no-desc\")\"' 2>&1 | sort"
}Output from command in shell c068be: 10-letter-le Wordle Clone based on WebDevSimplified 2019 This is my personal portfolio, with information about my skills, projects and awards! accountability Built-in Rich-Text Editor & Admin Authentication alcoholism 🥂 a lil' telescopic poem about alcoholism api-testing no-desc apply Website for applying to start a Hack Club arceus distributed transformer/nn training with macbook clusters article articles assemble-schedule no-desc audio2vec An audio embeddings model that models sentiment into a 256 dimensional space through spectrograms extracted from raw waveforms. blind-spot Manipulating Google Search with GPT and Classification models to ONLY show fake news (Assemble, 2022) blog-wordpress no-desc bloom-foundation no-desc breast-cancer-knn no-desc bun-tests Getting started with Bun cafe-feedback Feedback for a cafe -- Exercise in Parts 1/2 centric Medical data network w/ Patient-centric summarization & aggregation, built on custom chain channle no-desc circuit-tracer no-desc commenting no-desc compression llms can learn their own context compression via RL conifer 🌲The perfect personal website template. connex-htn Winner Hack the North 2022 🏆 Aggregating Research to be available for Public Funding corex no-desc countries From the Full Stack Open Course -- Exercise 1-5 custom-chain ⛓ custom blockchain with assymetric encryption & mining, Hack Club Workshop custom-search-starter The starter code for the Custom Search Workshop cycs Not hard/good work, but it's honest work. This was built a long time ago, and the site has been redeveloped. In this repo, you will find HTML CSS Vanilla JS Bootstrap and Jquery. datum-cms no-desc debate-tfss no-desc deck Personal slide-deck template deja-vu Winner Hack the North 2023 🏆 AI Wearable that lets you multimodal search through memories diplomatica local diplomatica interface directory 🦌 airtable club directory discordjs-typescript no-desc dns 🕹 Manage Hack Club's DNS through a GitHub repository drseemaagarwal Professional Portfolio for Dr. Seema Agarwal - Project In Development dvdscreensaver Watch the bouncing DVD logo hit the corner 📺 dynamic an experimentally modern take on a website energy-distribution A public distribution & bidding model for homes to buy and sell renewable energy (EF Hackathon) eng-intern-assessment-rails A Starter repo for Shopify Rails Intern assessments entropy-deep-research (wip) entropy-based analysis of reasoning llms to dynamically provide information in thinking tokens etherealism GAN to interpret poetry and create art on custom image-gen diffusion model (before DALLE existed) exo Run your own AI cluster at home with everyday devices 📱💻 🖥️⌚ experimental-club Club Website Experimentation experimental-ui shadcn ui — experimenting with best practices fcc-js FreeCodeCamp (FCC) Javascript Certification Solutions fcc-rwd Responsive Web Design Certification Projects Feather-HTN 🕊 Social Network for Anonymous Connections findyourstorycanada 📚 The official website for Find Your Story Canada. Built with HTML, CSS, Vanilla JS and a pinch of Boostrap. Informing the public about our cause, and promoting literary advancements in the youth of today. firebase-auth Firebase authentication with React Native fleet Evolutionary Game Theory model frens 💖 a web collection for the best people in the world frieden My personal, read-only public availability calendar fullstack-course taking a course on MERN, Typescript and GraphQL. garden no-desc gardening no-desc generative-art 🎨 particle flow field using p5 gmostory Final Summative for Summer School - The GMO Story inspires and educates about GMOs, as well as provides feasible solutions. gpt-wrapped ChatGPT Wrapped granite [WIP] Compiler for Granite lang growify web app for growify hackclub 🏫 Hack Club is a nonprofit network of computer science clubs where members learn to code through tinkering and building projects hackclub-turner Hack Club School Interface hacktoberfest Participate in Hacktoberfest by contributing to any Open Source project on GitHub! Here is a starter project for first time contributors. #hacktoberfest holiday-livestream-overlay https://hack.af/holidays howler-sustain-app Team 25's submission for WolfHacks 2021 human-verification Soft Cosine Similarities for Twitter Human Verification itsrajan My personal README jotai 👻 Primitive and flexible state management for React landing Landing page for biodao layout no-desc layouts no-desc link-profile A quick site made for my instagram bio- just a few links replicating the functionality of Linktree. links quick link profile made with create-react-app. nothing too fancy llink Training and Inference for "Languages are Modalities: Cross-Lingual Alignment via Encoder Injection" localstorage Experimenting with localStorage with a todo list login-starter a small login starter with express & passportjs make-your-own-wordle Customizable & Optimized Wordle Template maple 🍁 a language with no purpose mdx-test no-desc mindmatrix 🧠 Mental health support sucks. We're fixing it. mindson Minds On Website Official Minecraft All the files for the YouTube 3d Minecraft tutorial are located here! modern modern & interactive web design! mongodb-vercel-integration no-desc moogle 🔎 A self-hosted personalized search engine mpc no-desc next-web3-boilerplate Slightly opinionated Next.js Web3 boilerplate built on ethers, web3-react, Typechain, and SWR. notion-blog no-desc novel Breaking Barriers Novel Website + Interactive Reading Experience -- Still In Development observe cursor can now read your terminal in realtime omniscius-veritatis no-desc openmindhq [wip] oss 👥 Buildin' a collection of profiles! outernet 🏕️ We’ve found the place, you'll create the space. July 28th to 31st 2023. pathfindr 💡 A simple way to stay fit during COVID. Pathfindr is a prototype of a revolutionary app. It will analyze your specific location, and find the most efficient route to get from point A to point B, avoiding people and objects. This allows people to go outside without the risk of becoming close to one another. Built with HTML, CSS and Vanilla JS personal-sites List of Hackathon Hackers' personal sites. petitions-backend no-desc petitions-frontend Petition Template w/ Smart Contracts - UI phonebook 📞📚 A phonebook using React Hooks to add (and delete) new items pizza-agent An autonomous agent that can order and deliver any food you want pokeOS let poke send text messages, use your browser, play music, write code & control your laptop pomodoro A fully functioning Pomodoro Clock with adjustable inputs. It's functional but the design isn't the best. portal hierarchical memory architecture for long-term multimodal search (files, search history, videos, messages) portal-deca A Business Club Portal [deprecated] productiontest no-desc pug Discontinued Freelancing Project quartz Personal website! quickstart odrive_uart and LSM9DS3 on RPI, this is the basic repo you can clone that can get that robot architecture driving around rajansagarwal a fresh start to 2022 react-native Initializing & learning React Native reflect An intelligent slack-bot that reflects the conversation style of a user, based on recent conversation history & vernacular rewrites Rewriting domain pathways for simplicity and efficiency runforhope Run For Hope | Official Website scheduling no-desc scrapbook no-desc se-webring 💜 A webring for Software Engineering students at the University of Waterloo. self-driving-tank Self-Driving RC Car that can deliver food anywhere on Waterloo campus (Software Engineering Design Project) shapeshift Optimize the construction of earthquake-resistant buildings site4u no-desc slack-algorithm A quick algorithm to find how many people are in a Slack Channel slash-z /z to create a new Zoom Pro meeting in the Hack Club Slack snake 👾 A really simple Snake game as I learn more Vanilla JS. Believe me: when I say simple I definitely mean simple. social-metamask no-desc starcoderbeta no-desc streamlit-example Example Streamlit app that you can fork to test out share.streamlit.io study.io 🌁 Final Vanilla JS Project -- All In One Productivity Website. Featuring a Pomodoro clock, ToDo list and a Spotify/SoundCloud player for different genres. Refresh coming soon. supervised-learning Experimenting with some supervised learning sustain 🎩 sustainability in crop management TensorTonic-Solutions My solutions to TensorTonic problems testblog no-desc tfss-event no-desc tfss-jot Turner Fenton JOT — Health Science Portal tfssdebate Executive Applications for TFSS Debate tfsshack-dashboard Experiminting with Magic Links + Supabase Auth todo-cra react todo list todo-ts typescript todo list token experimental token and smart contracts deployed to rinkeby test network TooDoo 📑 An easy to access, local-storage powered To-Do list for quick online school purposes. Designed to combine efficiency with habit building. Built with HTML, CSS and Vanilla JS towards no-desc towards-equity 📜 a public petition towards equitable food security tviz tviz is a visualization dashboard for the Tinker API v1-mindson v1 of minds on web v2 🌁 personal website v3 The new, new Hack Club website. Built with Next.js & Theme UI. v4 A Site Built for Accountability warp-speed 🌱 an homage to my very first js ship website no-desc whisper Experiments with OpenAI's Whisper www23 2023 Personal Website yedle Wordle but Kanye. (written from scratch this time :) yolo On the yolo page, anything goes... I'll merge any pull request you make to this website. YouthinCode Youth In Code focuses on Women Empowerment, Collaboration and Opportunities with code. Built with frontend languages: HTML CSS Vanilla JS Boostrap Jquery PHP zephyr Offline Mesh Network App for Communication. Inspired by the Architecture of Hack Club's Hacker Zephyr Exit code: 0
I don't see anything obviously about "agents making their own startup" in his repo names/descriptions. The closest things are: - pizza-agent: "An autonomous agent that can order and deliver any food you want" — not a startup - pokeOS: "let poke send text messages, use your browser, play music, write code & control your laptop" - observe: "cursor can now read your terminal in realtime" None of these are about "agents making their own startup." Wait — maybe this isn't in his repos list because: 1. It could be a repo owned by someone else he contributed to (but not in 2024) 2. It could be a newer repo (2025+) 3. It could be private 4. The user might be misremembering or it's a project he talked about but didn't repo Let me search the web for "rajansagarwal agent startup" or check his newer repos. Actually, let me check repos created in 2025+ since I only fetched repos and the API returns all. Let me look at repos with 2025 creation dates and check for agent/startup themes. Actually, I see in the full list there are some repos I didn't see before: "arceus", "compression", "entropy-deep-research", "exo", "llink", "observe", "pokeOS", "reflect", "rewrites", "scheduling", "starcoderbeta", "whisper", "zephyr", "towards", "towards-equity", "warp-speed", "yolo", "YouthinCode", "yedle", "v1-mindson", "v2", "v3", "v4", "website", "tviz", "tfsshack-dashboard", "tfssdebate", "tfss-jot", "tfss-event", "testblog", "TensorTonic-Solutions", "supervised-learning", "study.io", "streamlit-example", "starcoderbeta", "site4u", "slash-z", "slack-algorithm", "snake", "social-metamask", "scheduling", "scrapbook", "se-webring", "runforhope", "rewrites", "reflect", "react-native", "sustain", "todo-cra", "todo-ts", "token", "TooDoo", "towards", "towards-equity", "tviz", "v1-mindson", "v2", "v3", "v4", "warp-speed", "website", "whisper", "yedle", "yolo", "YouthinCode", "zephyr" None of these jump out as "agents making their own startup." Let me search the web — maybe this is something he built/talked about that's not in a public repo, or maybe it's a well-known project.
None of his public repos match "agents making their own startup." It may be private, contributed to someone else's repo, or discussed elsewhere. Let me search the web.
{
"query": "rajansagarwal AI agents startup autonomous company github"
}{
"query": "\"rajan agarwal\" agents build their own startup project"
}# Web Search Results for "rajansagarwal AI agents startup autonomous company github" ## 1. Rajan Agarwal (@rajansagarwal) URL: https://github.com/rajansagarwal # User: Rajan Agarwal (@rajansagarwal) research engineer - Location: San Francisco - Website: rajan.sh - Twitter: @_rajanagarwal - Followers: 238 - Following: 175 - Public Repos: 155 - Hireable: yes - Joined: 2020-04-27 --- ## Recent Activity (Mar 2, 2026 - Mar 28, 2026) Contributed to: chenglou/pretext, KenWuqianghao/OpenComposer, LucasHJin/vit, openai/parameter-golf, Hamza-Mos/praxlab, pingdotgg/t3code, maderix/ANE, codecrafters-io/build-your-own-x, openclaw/openclaw --- ## Top Repositories | Repository | Description | Stars | Language | Last Updated | | --- | --- | --- | --- | --- | | compression | llms can learn their own context compression via RL | 42 | Python | 2025-11-26 | | observe | cursor can now read your terminal in realtime | 21 | Python | 2025-09-14 | | llink | Training and Inference for "Languages are Modalities: Cross-Lingual Alignment via Encoder Injection" | 9 | Python | 2025-10-31 | | maple | 🍁 a language with no purpose | 6 | TypeScript | 2025-08-10 | | arceus | distributed transformer/nn training with macbook clusters | 2 | Python | 2025-08-10 | | blind-spot | Manipulating Google Search with GPT and Classification models to ONLY show fake news (Assemble, 2022) | 2 | Python | 2023-07-24 | ## 2. Work - Rajan Agarwal URL: http://rajan.sh/work Work - Rajan Agarwal ... 2025Let agents actively observe the terminal and proactively fix training runs, security alerts and potential bugs. ... 5Local tunnel MCP for ... your OS. ... 2025Open-source background coding agent with 1.4k stars on GitHub. Feature-filled agent that works in a MicroVM with full codebase understanding. ... 2024A ... cross-device model training system with model and tensor parallelism to reduce compute needed to train large models. ... 2024Generating policy recommendations with ... from citizen complaints. ... 2024One of the first implementations of coding subagents to work together to solve hard, diverse coding problems. ... ### AI Agents as Citizens ... 2024City simulation of Los Angeles with AI Agents, simulating human behaviour and optimizing transit routing with RL. ... 2024Worked with Tempo Labs to build generative UI agents in multiple programming languages concurrently. ... 2024Self-driving car design team, WATonomous, in Waterloo. Working on a low-latency data-driven controls model for the car. ... ### Bracket Bots ... 2024Helping with the software behind Bracket Bots, a self-balancing robot for under $200 that can roam around your house. ... ### Self-Driving Delivery ... 2023Built an autonomous model tank that navigates campus walking paths and delivers small parcels. Implemented path planning, simulations, object detection, PID control, and CV. ## 3. We are launching The Human Simulation Lab! We are a research collective using AI agents to optimize infrastructure through human modeling. Our first case study, Skyline, presents our approach to… | Rajan Agarwal URL: https://www.linkedin.com/posts/rajansagarwal_we-are-launching-the-human-simulation-lab-activity-7221259644118142978-OHVr We are launching The Human Simulation Lab! We are a research collective using AI agents to optimize infrastructure through human modeling. Our first case study, Skyline, presents our approach to… | Rajan Agarwal ... Rajan Agarwal ... We are launching The Human Simulation Lab! We are a research collective using AI agents to optimize infrastructure through human modeling. Our first case study, Skyline, presents our approach to high mobility, low carbon cities through agent-based simulations of citizens. We intend to build a generalized human modelling and prediction software. Last month, our team was a finalist at the Cal Hacks AI Berkeley Hackathon, presenting our approach to transit optimizations by simulating the city of Los Angeles. Here, I was given the opportunity to speak in front of hundreds on the same stage as Andrej Karpathy! To contribute, by getting us in touch with cities needing optimization, experts you know or providing micro-grants for compute, we ask that you reach to our team. We encourage all of you to explore our research and keep up to date with future launches. The Human Simulation Lab: https://humansimulation.ai AI Berkeley Hackathon Pitch: https://lnkd.in/exhAh26D Our team, Rajan Agarwal, Ishaan Dey, Elijah Kurien and Joshua Yan! ... Cities shouldn't be static. They should optimize and scale for the people who inhabit them. And so we built Skyline. Skyline is an optimizer, and it allows you to better understand how to model cities using agents and optimize things like traffic and transit to inherently increase mobility and reduce things like carbon emissions. We're not a company that does analysis of transit. We are a human modeling company and that allows us to better understand and better predict how things around us will change and how we can optimize them using these patterns. ## 4. rajansagarwal/openmindhq URL: https://github.com/rajansagarwal/openmindhq # Repository: rajansagarwal/openmindhq [wip] - Stars: 1 - Forks: 0 - Watchers: 1 - Open issues: 0 - Primary language: TypeScript - Languages: TypeScript (96.9%), CSS (2.9%), JavaScript (0.1%) - Default branch: main - Created: 2021-12-26T14:52:47Z - Last push: 2022-01-02T14:39:43Z - Contributors: 1 (top: rajansagarwal) --- add open mind documentation here ## 5. rajansagarwal/rajansagarwal URL: https://github.com/rajanwastaken/rajanwastaken # Repository: rajansagarwal/rajansagarwal a fresh start to 2022 - Stars: 1 - Forks: 1 - Watchers: 1 - Open issues: 0 - Primary language: TypeScript - Languages: TypeScript (97.4%), CSS (2.5%), JavaScript (0.2%) - Default branch: main - Homepage: https://heyrajan.com - Created: 2022-01-05T15:35:01Z - Last push: 2025-12-29T03:52:56Z - Contributors: 1 (top: rajansagarwal) --- hi, i'm rajan! i'm a software engineering student at the university of waterloo before this i've built/done - RL research at [Amazon AGI Lab](https://labs.amazon.science) - video editing agents for hollywood producers at [Kino AI](https://kino.ai) - a background coding agent called [Shadow](https://github.com/ishaan1013/shadow) please reach out on [twitter (x)](https://x.com/_rajanagarwal) or email rajan [dot] agarwal [at] uwaterloo [dot] ca
# Web Search Results for ""rajan agarwal" agents build their own startup project"
## 1. Rajan Agarwal's (itsrajan) software portfolio | Devpost
URL: https://devpost.com/itsrajan
Rajan Agarwal's (itsrajan) software portfolio | Devpost
##### Nexus
3D semantic graph visualization of hacker interests + 1 6 0
##### DejaVu
Eliminating déjà vu by reviving memories one video at a time Winner 17 1
##### ConnexSci
Most investment in scientific investments fail to materialize. We provide analytics and a crowdsourcing platform to identify the highest-potential and impactful projects for public and private funds. Winner 6 0
##### Deception RL
We use RL to see if language models naturally learn to be deceptive to win board games against other LLMs, and the patterns that emerge. + 1 6 1
##### HorizonX
HorizonX is a dual-purpose platform using !!on-device!! VLMs to empower blind people with real-time haptic guider while crowdsourcing anonymized data to help governments improve public safety. Winner 3 0
##### Stealth Startup
The first self-sustaining startup powered by AI agents 11 0
##### Skyline
Agent-based city simulation to optimize transit routing for travel time and carbon expenditure 12 3
##### The Bloom Network
Restoring transparency & ownership in decentralized medical records. 2 0
##### Diplomatica
Redesigning political and social awareness through a gamified system. 16 2
##### CoreX
CoreX is an open-source digital platform for E-Commerce businesses interested in supercharging financial tracking, analysis, and transparency. Winner 16 4
##### Growify
The Agriculture of Tomorrow. Growify centralizes farming data, recommends crops based on measurements, connects communities, and incentivizes usage through cryptocurrency. Winner 14 2
##### SwiftMed - Team 10
The universal platform for centralized data transportation in medicine. Exploration, Data Centralization and Medical Transportation. That’s SwiftMed. Winner 7 0
##### Howler Heart
As a human body can’t function without a heart, a sustainable community can’t function without a systems manager. Howler Heart is the dashboard that monitors sustainability on our planet. Winner...
## 2. Work - Rajan Agarwal
URL: https://www.rajan.sh/work
Work - Rajan Agarwal
...
Open-source background coding agent. Feature-filled agent that works in a MicroVM with full codebase understanding. 1.5k+ Stars.
...
One of the first
...
agents to work together to solve hard, diverse coding problems.
...
Worked with Tempo Labs to build generative
...
agents in multiple
## 3. We are launching The Human Simulation Lab! We are a research collective using AI agents to optimize infrastructure through human modeling.
Our first case study, Skyline, presents our approach to… | Rajan Agarwal
URL: https://www.linkedin.com/posts/rajansagarwal_we-are-launching-the-human-simulation-lab-activity-7221259644118142978-OHVr
We are launching The Human Simulation Lab! We are a research collective using AI agents to optimize infrastructure through human modeling. Our first case study, Skyline, presents our approach to… | Rajan Agarwal
...
Rajan Agarwal
...
We are launching The Human Simulation Lab! We are a research collective using AI agents to optimize infrastructure through human modeling. Our first case study, Skyline, presents our approach to high mobility, low carbon cities through agent-based simulations of citizens. We intend to build a generalized human modelling and prediction software. Last month, our team was a finalist at the Cal Hacks AI Berkeley Hackathon, presenting our approach to transit optimizations by simulating the city of Los Angeles. Here, I was given the opportunity to speak in front of hundreds on the same stage as Andrej Karpathy! To contribute, by getting us in touch with cities needing optimization, experts you know or providing micro-grants for compute, we ask that you reach to our team. We encourage all of you to explore our research and keep up to date with future launches. The Human Simulation Lab: https://humansimulation.ai AI Berkeley Hackathon Pitch: https://lnkd.in/exhAh26D Our team, Rajan Agarwal, Ishaan Dey, Elijah Kurien and Joshua Yan!
...
Cities shouldn't be static. They should optimize and scale for the people who inhabit them. And so we built Skyline. Skyline is an optimizer, and it allows you to better understand how to model cities using agents and optimize things like traffic and transit to inherently increase mobility and reduce things like carbon emissions. We're not a company that does analysis of transit. We are a human modeling company and that allows us to better understand and better predict how things around us will change and how we can optimize them using these patterns.
## 4. Rajan Agarwal — Grokipedia
URL: https://grokipedia.com/page/Rajan_Agarwal
Rajan Agarwal is an undergraduate software engineering student at the University of Waterloo in Canada, notable for his contributions to artificial intelligence projects, including a finalist entry at the Berkeley AI Hackathon.[1] Agarwal, along with teammates Elijah Kurien and Ishaan Dey (Software Engineering students) and Joshua Yan (Computer Science student)—all undergraduates at the University of Waterloo—developed the project Skyline during the 2024 Berkeley AI Hackathon, held from June 22 to 24 at the University of California, Berkeley.[1] The team's entry placed in the top eight out of 371 projects,[2] utilizing demographic data from the Los Angeles city government and machine learning techniques to simulate urban environments and optimize transit infrastructure.[1] Skyline models thousands of agents representing diverse populations based on factors like age, gender, income, housing, and jobs, then generates efficient subway and bus routes to minimize travel distances and enhance accessibility, potentially reducing transportation-related carbon emissions by up to 18 percent.[1] At the time of the hackathon, Agarwal was on a co-op work term at Hitachi Rail, where he gained practical experience in transit systems and urban planning, which directly influenced the project's focus on simulating human behavior in city settings.[1] He has expressed interest in exploring the intersections of machine learning, mathematics, and calculus, with goals for the event including representing the University of Waterloo on an international stage and advancing responsible AI applications to improve societal outcomes.[1] Following the hackathon, Agarwal and his teammates co-founded the Human Simulation Lab to further develop their research-oriented work, emphasizing ethical AI over commercial priorities.[1]
...
searches across 7 days of
...
and audio data
...
under 5
...
.[14][5] This
...
demonstrates Agarwal's approach to combining visual and auditory inputs with semantic search...
## 5. FoundersAgent | Devpost
URL: https://devpost.com/software/foundersagent
FoundersAgent is a production-ready multi-agent AI system that helps startup founders launch their companies by \textbf{taking real action}, not just providing advice. The system deploys \textbf{10 specialized AI agents} that handle everything from idea validation and market research to domain purchase, company registration, tax calculation, payslip generation, VC pitch preparation, CRM lead tracking, motivational astrology, and job posting to LinkedIn & Naukri.
...
Built with \textbf{Google Cloud Agent Builder} and powered by \textbf{Ari
...
MCP} for comprehensive tracing, monitoring, and
...
, FoundersAgent reduces the time from idea to
...
roadmap from weeks to under 30 minutes.
...
FoundersAgent deploys \textbf{10 specialized AI agents} that work in parallel to deliver a complete startup roadmap while \textbf{taking real action}.
...
\centering \renewcommand
...
arraystretch}{1.3} \begin{tabular}{|c|l|l|} \hline \textbf{#} & \textbf{Agent} & \textbf{Real Action Taken} \ \hline 1 & 📊 Idea Scoring & Generates quantitative score (0-100) with action plan \ 2 & 📈 Market Research & Identifies competitors and market gaps \ 3 & 🌐 Domain Purchase & Generates purchase links for available domains \ 4 & 📋 Company Registration & Provides government portals and step-by-step forms \ 5 & 💸 Tax Filing & Calculates tax due with filing deadlines \ 6 & 📄 Payslip Generator & Creates downloadable HTML payslip document \ 7 & 🤝 CRM Lead Tracker & Adds lead to CRM with follow-up schedule \ 8 & 💰 VC Pitch Prep & Provides valuation and investor contact list \ 9 & ✨ Astrology Support & Gives auspicious launch dates and motivation \ 10 & 💼 Job Posting & Opens LinkedIn & Naukri with pre-filled job posts \ \hline \end{tabular} \caption{The 10 Action Agents of FoundersAgent} \end{table}
...
\textbf{Process:} \begin{enumerate} \item User selects an agent from the 10 available options \item Agent executes real-world action (opens portals, calculates numbers, generates documents) \item Every acti...
Found it. From the Devpost results: "Stealth Startup — The first self-sustaining startup powered by AI agents" This matches the `ritaxiang/stealth-startup` repo I found earlier! The README was just "# stealth-startup" but the Devpost description is "The first self-sustaining startup powered by AI agents." Now I need to find when he wrote it. The commits I found were in September 2024 (Sep 14, 2024). Let me verify the exact dates and check the Devpost for the hackathon date. Let me check the Devpost page for the Stealth Startup project to get the date, and also check the actual commit dates in the repo.
Found it — it's the "Stealth Startup" project ("The first self-sustaining startup powered by AI agents"), which corresponds to the ritaxiang/stealth-startup repo I found earlier. Let me get the exact dates.
{
"url": "https://devpost.com/itsrajan"
}{
"command": "gh api \"repos/ritaxiang/stealth-startup/commits?per_page=100\" --jq '.[] | select(.author.login == \"rajansagarwal\" or .commit.author.name | test(\"[Rr]ajan\")) | \"\\(.commit.author.date)\\t\\(.author.login)\\t\\(.commit.message | split(\"\\n\")[0])\"' 2>&1 | head -30"
}# Web Content from https://devpost.com/itsrajan
* [ [Devpost] [Devpost] ][1]
* * [ Log in ][2]
* [ Sign up ][3]
* [ Join a hackathon ][4]
[ [Devpost logo]
Devpost
Participate in our public hackathons
][5]
[ Hackathons ][6] [ Projects ][7]
[ [Devpost for Teams]
Devpost for Teams
Access your company's private hackathons
][8]
[ Login ][9]
[ Host a hackathon ][10]
[ [Devpost]
Devpost
Grow your developer ecosystem and promote your platform
][11]
[ Host a public hackathon ][12]
[ [Devpost for Teams logo]
Devpost for Teams
Drive innovation, collaboration, and retention within your organization
][13]
[ Host an internal hackathon ][14]
By use case
[ AI hackathons ][15] [ Customer hackathons ][16] [ Employee hackathons ][17] [ Public hackathons
][18]
[ Resources ][19]
[
Blog
Insights into hackathon planning and participation
][20]
[
Customer stories
Inspiration from peers and other industry leaders
][21]
[
Planning guides
Best practices for planning online and in-person hackathons
][22]
[
Webinars & events
Upcoming events and on-demand recordings
][23]
[
Help desk
Common questions and support documentation
][24]
* [ [Devpost] [Devpost] ][25]
* [ Join a hackathon ][26]
* [ [Devpost logo]
Devpost
Participate in our public hackathons
][27]
[ Hackathons ][28] [ Projects ][29]
[ [Devpost for Teams]
Devpost for Teams
Access your company's private hackathons
][30]
[ Login ][31]
* [ Host a hackathon ][32]
* [ [Devpost]
Devpost
Grow your developer ecosystem and promote your platform
][33]
[ Host a public hackathon ][34]
[ [Devpost for Teams logo]
Devpost for Teams
Drive innovation, collaboration, and retention within your organization
][35]
[ Host an internal hackathon ][36]
By use case
[ AI hackathons ][37] [ Customer hackathons ][38] [ Employee hackathons ][39] [ Public
hackathons ][40]
* [ Resources ][41]
* [
Blog
Insights into hackathon planning and participation
][42]
[
Customer stories
Inspiration from peers and other industry leaders
][43]
[
Planning guides
Best practices for planning online and in-person hackathons
][44]
[
Webinars & events
Upcoming events and on-demand recordings
][45]
[
Help desk
Common questions and support documentation
][46]
* [ Log in ][47]
* [ Sign up ][48]
[Rajan Agarwal's avatar]
# Rajan Agarwal (itsrajan)
software engineer @ university of waterloo
* Toronto, Ontario, Canada
* [ Website ][49]
* [ GitHub ][50]
* [ Twitter ][51]
* [ LinkedIn ][52]
**Skills**
* ml
* fullstack
**Interests**
* [Machine Learning/AI][53]
* Social Good
* Education
* Web
* [
14
Projects][54]
* [
20
Hackathons][55]
* [
10
Achievements][56]
* [
31
Followers][57]
* [
44
Following][58]
* [
71
Likes][59]
[
[Nexus]
##### Nexus
3D semantic graph visualization of hacker interests
[Rajan Agarwal] [Freeman Jiang] + 1
6 0
][60]
[
[DejaVu]
##### DejaVu
Eliminating déjà vu by reviving memories one video at a time
[Winner] Winner
[Ian Korovinsky] [Rajan Agarwal] [Nima Pourjafar] [nicole pardal]
18 1
][61]
[
[ConnexSci]
##### ConnexSci
Most investment in scientific investments fail to materialize. We provide analytics and a
crowdsourcing platform to identify the highest-potential and impactful projects for public and
private funds.
[Winner] Winner
[Rajan Agarwal] [Dev_elio Patel] [Jaival Patel] [Anush Mutyala]
7 0
][62]
[
[Deception RL]
##### Deception RL
We use RL to see if language models naturally learn to be deceptive to win board games against other
LLMs, and the patterns that emerge.
[Rajan Agarwal] [pearl-natalia Natalia] [Mehmet Deniz Birlikci] [Ryland Birchmeier] + 1
6 1
][63]
[
[HorizonX]
##### HorizonX
HorizonX is a dual-purpose platform using !!on-device!! VLMs to empower blind people with real-time
haptic guider while crowdsourcing anonymized data to help governments improve public safety.
[Winner] Winner
[luoluo Christina Lee] [Alex Zhao] [Rajan Agarwal] [zian1117 Shi]
3 0
][64]
[
[Stealth Startup]
##### Stealth Startup
The first self-sustaining startup powered by AI agents
[Rita Xiang] [Rajan Agarwal] [Simerus Mahesh] [Josh]
11 0
][65]
[
[Skyline]
##### Skyline
Agent-based city simulation to optimize transit routing for travel time and carbon expenditure
[Rajan Agarwal] [Josh] [Ishaan Dey] [Elijah Kurien]
12 3
][66]
[
[The Bloom Network]
##### The Bloom Network
Restoring transparency & ownership in decentralized medical records.
[Rajan Agarwal]
2 0
][67]
[
[Diplomatica]
##### Diplomatica
Redesigning political and social awareness through a gamified system.
[Rajan Agarwal] [Jaival Patel] [Veer Sandhu]
16 2
][68]
[
[CoreX]
##### CoreX
CoreX is an open-source digital platform for E-Commerce businesses interested in supercharging
financial tracking, analysis, and transparency.
[Winner] Winner
[Rajan Agarwal] [Sahej Sodhi] [Jaival Patel] [Veer Sandhu]
16 4
][69]
[
[Growify]
##### Growify
The Agriculture of Tomorrow. Growify centralizes farming data, recommends crops based on
measurements, connects communities, and incentivizes usage through cryptocurrency.
[Winner] Winner
[Aaryan Joharapurkar] [Veer Sandhu] [Jaival Patel] [Rajan Agarwal]
14 2
][70]
[
[SwiftMed - Team 10]
##### SwiftMed - Team 10
The universal platform for centralized data transportation in medicine. Exploration, Data
Centralization and Medical Transportation. That’s SwiftMed.
[Winner] Winner
[Rajan Agarwal] [Tirth Patel] [Jaival Patel] [Daksh Panchal]
7 0
][71]
[
[Howler Heart]
##### Howler Heart
As a human body can’t function without a heart, a sustainable community can’t function without a
systems manager. Howler Heart is the dashboard that monitors sustainability on our planet.
[Winner] Winner
[Agrim Sharma] [Neil Sachdeva] [Marco Tan] [Rajan Agarwal]
3 1
][72]
[
[Feather]
##### Feather
Staying relaxed online has never been easier. With feather, individuals can come online, write
journal entries, explore interesting feeds, get daily information, and communicate live with the
world!
[Rajan Agarwal] [Dev_elio Patel] [Shalin Patel]
4 1
][73]
#### Devpost
* [About][74]
* [Careers][75]
* [Contact][76]
* [Help][77]
#### Hackathons
* [Browse hackathons][78]
* [Explore projects][79]
* [Host a hackathon][80]
* [Hackathon guides][81]
#### Portfolio
* [Your projects][82]
* [Your hackathons][83]
* [Settings][84]
#### Connect
* [
Twitter ][85]
* [
Discord ][86]
* [
Facebook ][87]
* [
LinkedIn ][88]
© 2026 Devpost, Inc. All rights reserved.
* [Community guidelines][89]
* [Security][90]
* [CA notice][91]
* [Privacy policy][92]
* [Terms of service][93]
[1]: https://devpost.com
[2]: https://secure.devpost.com/users/login?ref=top-nav-login
[3]: https://secure.devpost.com/users/register?ref_content=signup_global_nav&ref_feature=signup&ref_
medium=button
[4]: #join-a-hackathon
[5]: https://devpost.com/hackathons
[6]: https://devpost.com/hackathons
[7]: https://devpost.com/software
[8]: https://devpost.team
[9]: https://devpost.team
[10]: #host-a-hackathon
[11]: https://info.devpost.com/product/public-hackathons
[12]: https://info.devpost.com/product/public-hackathons
[13]: https://info.devpost.com/product/devpost-for-teams
[14]: https://info.devpost.com/product/devpost-for-teams
[15]: https://info.devpost.com/product/ai-hackathons
[16]: https://info.devpost.com/product/customer-hackathons
[17]: https://info.devpost.com/product/devpost-for-teams
[18]: https://info.devpost.com/product/public-hackathons
[19]: #resources
[20]: https://info.devpost.com/blog
[21]: https://info.devpost.com/customer-stories
[22]: https://info.devpost.com/guides
[23]: https://info.devpost.com/webinar-events
[24]: https://help.devpost.com/
[25]: https://devpost.com
[26]: #
[27]: https://devpost.com/hackathons
[28]: https://devpost.com/hackathons
[29]: https://devpost.com/software
[30]: https://devpost.team
[31]: https://devpost.team
[32]: #
[33]: https://info.devpost.com/product/public-hackathons
[34]: https://info.devpost.com/product/public-hackathons
[35]: https://info.devpost.com/product/devpost-for-teams
[36]: https://info.devpost.com/product/devpost-for-teams
[37]: https://info.devpost.com/product/ai-hackathons
[38]: https://info.devpost.com/product/customer-hackathons
[39]: https://info.devpost.com/product/devpost-for-teams
[40]: https://info.devpost.com/product/public-hackathons
[41]: #
[42]: https://info.devpost.com/blog
[43]: https://info.devpost.com/customer-stories
[44]: https://info.devpost.com/guides
[45]: https://info.devpost.com/webinar-events
[46]: https://help.devpost.com/
[47]: https://secure.devpost.com/users/login?ref=top-nav-login
[48]: https://secure.devpost.com/users/register?ref_content=signup_global_nav&ref_feature=signup&ref
_medium=button
[49]: https://rajanagarwal.xyz
[50]: https://github.com/rajansagarwal
[51]: https://twitter.com/_rajanagarwal
[52]: https://www.linkedin.com/in/rajansagarwal
[53]: https://devpost.com/c/artificial-intelligence
[54]: /itsrajan
[55]: /itsrajan/challenges
[56]: /itsrajan/achievements
[57]: /itsrajan/followers
[58]: /itsrajan/following
[59]: /itsrajan/likes
[60]: https://devpost.com/software/stem-ozxc12
[61]: https://devpost.com/software/dejavu
[62]: https://devpost.com/software/connexsci-20nrjy
[63]: https://devpost.com/software/deception-rl
[64]: https://devpost.com/software/horizonx
[65]: https://devpost.com/software/stealth-startup
[66]: https://devpost.com/software/skyline-ywc8r6
[67]: https://devpost.com/software/the-bloom-network
[68]: https://devpost.com/software/diplomatica
[69]: https://devpost.com/software/corex
[70]: https://devpost.com/software/growify
[71]: … (37 chars truncated)
… (22 lines truncated)
<truncation_notice>
Full output written to: /var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/704024ef/content.txt
</truncation_notice>Output from command in shell a638ac:
test("[Rr]ajan"; null) cannot be applied to: boolean (true)
Exit code: 1The Devpost confirms "Stealth Startup — The first self-sustaining startup powered by AI agents" by Rita Xiang, Rajan Agarwal, Simerus Mahesh, Josh. Let me get the Devpost project page for the date, and fix the commit query.
Let me get the project page for the date and fix the commit query.
{
"url": "https://devpost.com/software/stealth-startup"
}{
"command": "gh api \"repos/ritaxiang/stealth-startup/commits?per_page=100\" --jq '.[] | \"\\(.commit.author.date)\\t\\(.author.login // \"no-gh-user\")\\t\\(.commit.author.name)\\t\\(.commit.message | split(\"\\n\")[0])\"' 2>&1"
}# Web Content from https://devpost.com/software/stealth-startup
* [ [Devpost] [Devpost] ][1]
* * [ Log in ][2]
* [ Sign up ][3]
* [ Join a hackathon ][4]
[ [Devpost logo]
Devpost
Participate in our public hackathons
][5]
[ Hackathons ][6] [ Projects ][7]
[ [Devpost for Teams]
Devpost for Teams
Access your company's private hackathons
][8]
[ Login ][9]
[ Host a hackathon ][10]
[ [Devpost]
Devpost
Grow your developer ecosystem and promote your platform
][11]
[ Host a public hackathon ][12]
[ [Devpost for Teams logo]
Devpost for Teams
Drive innovation, collaboration, and retention within your organization
][13]
[ Host an internal hackathon ][14]
By use case
[ AI hackathons ][15] [ Customer hackathons ][16] [ Employee hackathons ][17] [ Public hackathons
][18]
[ Resources ][19]
[
Blog
Insights into hackathon planning and participation
][20]
[
Customer stories
Inspiration from peers and other industry leaders
][21]
[
Planning guides
Best practices for planning online and in-person hackathons
][22]
[
Webinars & events
Upcoming events and on-demand recordings
][23]
[
Help desk
Common questions and support documentation
][24]
* [ [Devpost] [Devpost] ][25]
* [ Join a hackathon ][26]
* [ [Devpost logo]
Devpost
Participate in our public hackathons
][27]
[ Hackathons ][28] [ Projects ][29]
[ [Devpost for Teams]
Devpost for Teams
Access your company's private hackathons
][30]
[ Login ][31]
* [ Host a hackathon ][32]
* [ [Devpost]
Devpost
Grow your developer ecosystem and promote your platform
][33]
[ Host a public hackathon ][34]
[ [Devpost for Teams logo]
Devpost for Teams
Drive innovation, collaboration, and retention within your organization
][35]
[ Host an internal hackathon ][36]
By use case
[ AI hackathons ][37] [ Customer hackathons ][38] [ Employee hackathons ][39] [ Public
hackathons ][40]
* [ Resources ][41]
* [
Blog
Insights into hackathon planning and participation
][42]
[
Customer stories
Inspiration from peers and other industry leaders
][43]
[
Planning guides
Best practices for planning online and in-person hackathons
][44]
[
Webinars & events
Upcoming events and on-demand recordings
][45]
[
Help desk
Common questions and support documentation
][46]
* [ Log in ][47]
* [ Sign up ][48]
# Stealth Startup
The first self-sustaining startup powered by AI agents
[ Like 11 ][49]
[ Comment ][50]
* #### [Story][51]
* #### [Updates][52]
* [ [Stealth Startup – screenshot 1] ][53]
The platform that the system is working on
* [ [Stealth Startup – screenshot 2] ][54]
Marketing agent sending logo for approval
* [ [Stealth Startup – screenshot 3] ][55]
Interactive Conversations
* [ [Stealth Startup – screenshot 4] ][56]
CTO Agent making changes to the github repo and git committing to the repository
## ⚙️Inspiration
The inspiration for Stealth Startup came from the idea of automating the entire process of building
a company. We wanted to create intelligent agents that simulate the roles of a CEO, CTO, and
Marketer, each contributing to building out a startup from scratch, mirroring the experience of
launching a real-world tech startup and seeing how a particular idea would play out in a given
market.
## 💻What it does
We were able to create the first fully self-functioning startup run purely by AI, there's no human
interaction to re-iterate the business plan, refactor some of the code, or even change up the colors
on the logo AI-generated — it's the agents that are 100% in control of the iteration of all aspects
of the startup. Stealth Startup is a simulation platform where AI agents act as key team member
agents—CEO, CTO, and Marketer—who collaboratively build a startup. The CEO agent handles market
research, generates business strategies, and designs the business plan — note that we connected it
to the web to get the latest insights. The CTO agent directly modifies the codebase and pushes
updates to a real GitHub repository — it's able to go through the entire codebase of the startup the
agents are building, make actual changes to the code, and commit these changes to their personal
repository. The Marketer agent designs and creates logos and branding materials for the startup —
it's able to literally generate relevant logos based on the startup idea and iterate on the design
based on consulting with the other agents. These AI agents communicate on Slack wherein they can
have discussions between team members and provide updates to one another in various channels. The
agents came together and ended up building a 911 dispatch assistant web application built fully in
React by the CTO agent.
### The Video
In the video, the platform you see at the start is what it has been iteratively building from
scratch. When we run the agent, the CMO realizes the logo should be changed, designs a new one, and
then sends it to Slack. Then, the CTO understands this change and updates the codebase to use the
new logo, then pushes this code to its GitHub. This process is entirely self-automated.
## 🛠️How we built it
We built Stealth Startup by developing specialized AI agents using Cohere's language models to
generate realistic business strategies, technical code, and marketing content. Each agent was given
distinct tasks: the CEO generates business plans, the CTO agent integrates with the GitHub
repository to make real-time code changes, leveraging Groq for fast AI inference, and using headless
browsers on Vercel v0 for versioning and deployments. The Marketer agent uses Flux 1 to create logos
and branding materials. All these agents are orchestrated through a Dictator class that manages the
workflow and ensures smooth communication between the agents, simulating the creation of a full
startup. Additionally, we gathered 40+ applicants via Linkedin to apply to our company's intern
posting that was generated by the CEO agent and had it select candidates to hire.
### Sponsor Appreciation
We used Cohere to make our agents smart and reliable. Cohere Connectors for access to the internet
and tool calling, structured outputs for consistent information retrieval with agents and Command R
for better reasoning. We used Groq for fast Llama inference in our SWE agent that powers our CTO.
## ⛓️💥Challenges we ran into
One of the main challenges we faced was coordinating interactions between the different agents to
ensure they communicated effectively and followed a logical workflow. Another hurdle was
implementing the CTO agent's ability to make real-time code changes and push them to a separate
GitHub repository without errors, along with ensuring the Marketer agent generated high-quality,
relevant logos.
## 🎉Accomplishments that we're proud of
We're particularly proud of successfully integrating multiple agents into a cohesive, collaborative
environment. Our CEO agent can generate a detailed business strategy, while the CTO agent actively
modifies and pushes code to GitHub, and the Marketer agent designs branding materials—all of which
function together as if they were real startup team members. This simulation not only automates key
startup processes but also demonstrates how AI can work together in a structured environment with
proper structuring of instructions.
## 🔍What we learned
Through this project, we learned the complexities involved in automating the roles of startup team
members and how to orchestrate various AI agents to simulate real-world tasks. We also deepened our
understanding of API integration with tools like GitHub and Replicate, as well as managing workflows
between different AI-driven agents.
## 📢What's next for stealth startup
Our next step is to expand the capabilities of our agents, allowing for more complex decision-making
and interactions, such as hiring new agents for additional roles like Product Manager or UX
Designer. We also plan to refine the CEO's strategic decision-making and the CTO’s ability to manage
larger codebases, while expanding the marketer's role to include full branding strategies and
marketing plans.
## Built With
* agents
* cohere
* [groq][57]
* [python][58]
* [react][59]
* v0
## Try it out
* [ github.com ][60]
#### Submitted to
* [[image]][61]
[Hack the North 2024][62]
#### Created by
* [[Josh]][63]
[Josh][64]
* [[Simerus Mahesh]][65]
[Simerus Mahesh][66]
UWaterloo SE
* [[Rajan Agarwal]][67]
[Rajan Agarwal][68]
software engineer @ university of waterloo
* [[Rita Xiang]][69]
[Rita Xiang][70]
[ Like 11 ][71]
11 people like this:
* [[Rohan Modi]][72]
* [[Sanvi Agarwal]][73]
* [[Yatin Rajkumar Kalra]][74]
* [[Jasmine Kaur]][75]
* [[Hung Hoang]][76]
* [[Vihaan Sharma]][77]
* [[Jon Marien]][78]
* [[Brian Zhang]][79]
* [[William Li]][80]
* [[pearl-natalia Natalia]][81]
[+ 1 more][82]
Share this project:
## Updates
[[Rita Xiang]][83]
[Rita Xiang][84] started this project — [ Sep 15, 2024 05:59 AM EDT ][85]
Leave feedback in the comments!
**[Log in][86]** or **[sign up for Devpost][87]** to join the conversation.
#### Devpost
* [About][88]
* [Careers][89]
* [Contact][90]
* [Help][91]
#### Hackathons
* [Browse hackathons][92]
* [Explore projects][93]
* [Host a hackathon][94]
* [Hackathon guides][95]
#### Portfolio
* [Your projects][96]
* [Your hackathons][97]
* [Settings][98]
#### Connect
* [
Twitter ][99]
* [
Discord ][100]
* [
Facebook ][101]
* [
LinkedIn ][102]
© 2026 Devpost, Inc. All rights reserved.
* [Community guidelines][103]
* [Security][104]
* [CA notice][105]
* [Privacy policy][106]
* [… (22 chars truncated)
… (117 lines truncated)
<truncation_notice>
Full output written to: /var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/4349b738/content.txt
</truncation_notice>Output from command in shell 4a790b: 2024-09-15T10:14:57Z ritaxiang Rita updated message in agent.py 2024-09-15T09:30:55Z joshyan1 joshyan1 text 2024-09-15T09:19:55Z joshyan1 joshyan1 prompt 2024-09-15T09:12:57Z ritaxiang Rita changed the prompt slightly 2024-09-15T09:03:56Z joshyan1 joshyan1 working 2024-09-15T07:51:22Z joshyan1 joshyan1 lily ZHANG 2024-09-15T06:36:18Z joshyan1 joshyan1 more 2024-09-15T06:32:59Z joshyan1 joshyan1 new channel 2024-09-15T06:06:29Z joshyan1 joshyan1 HIHIHIHHHIFHIAHFAHIFA:JFLAJF:EJKJFJAL:FKLAJKFL:AJKLEJKL:FJAL:F 2024-09-15T05:54:24Z joshyan1 joshyan1 fix bugs 2024-09-15T05:51:25Z simerusm Simerus Mahesh bug fixes 2024-09-15T05:33:12Z joshyan1 joshyan1 my PAT 2024-09-15T03:30:53Z simerusm Simerus Mahesh created CTO agent and integrated w different repo 2024-09-15T04:51:00Z ritaxiang Rita added code for adding response to metadata and formatted agent msg better 2024-09-15T04:22:33Z ritaxiang Rita changes 2024-09-15T01:01:06Z ritaxiang Rita updated the Market agent so that it uses the Flux api to generate logo 2024-09-15T05:02:14Z joshyan1 joshyan1 working 2024-09-15T04:26:12Z joshyan1 joshyan1 conversational flow 2024-09-15T03:30:53Z simerusm Simerus Mahesh created CTO agent and integrated w different repo 2024-09-15T00:43:10Z rajansagarwal Rajan Agarwal add agent tools 2024-09-14T22:08:50Z joshyan1 joshyan1 convos 2024-09-14T21:29:23Z joshyan1 joshyan1 integrate 2024-09-14T21:11:44Z joshyan1 joshyan1 jyan 2024-09-14T21:11:14Z simerusm Simerus Mahesh fixed CEO agent 2024-09-14T20:10:46Z ritaxiang Rita added the branding document functions to Marketer class 2024-09-14T19:17:20Z ritaxiang Rita added marketer agent to agent.py 2024-09-14T18:54:19Z simerusm Simerus Mahesh updates 2024-09-14T16:31:50Z simerusm Simerus Mahesh created base agent class 2024-09-14T14:48:18Z ritaxiang Rita changed app.py so that it used sdk throughout 2024-09-14T08:49:43Z simerusm Simerus Mahesh created agent to slack comms layer 2024-09-14T08:24:19Z simerusm Simerus Mahesh added webhook 2024-09-14T07:59:26Z simerusm Simerus Mahesh updated requirements 2024-09-14T07:59:03Z simerusm Simerus Mahesh made some changes 2024-09-14T07:35:33Z simerusm Simerus Mahesh added venv 2024-09-14T07:33:15Z simerusm Simerus Mahesh basic agent architecture 2024-09-14T06:53:34Z rajansagarwal Rajan Agarwal first commit Exit code: 0
Found it. The project is "Stealth Startup" — "The first self-sustaining startup powered by AI agents."
Rajan worked on it during Hack the North 2024 (September 14–15, 2024):
2024-09-14T06:53:34Z (Sep 14, 2024, 2:53 AM EDT) — "first commit"2024-09-15T00:43:10Z (Sep 15, 2024, 8:43 PM EDT) — "add agent tools"So he wrote it over the weekend of September 14–15, 2024, during Hack the North 2024.
Repo: ritaxiang/stealth-startup (owned by teammate Rita Xiang)
A simulation platform where AI agents act as a startup's key team members and build a company from scratch with zero human interaction:
The agents communicate on Slack in channels, orchestrated by a Dictator class. Built with Cohere (Command R + Connectors for web access/tool calling), Groq, Python, React, and Vercel v0. The agents ended up autonomously building a 911 dispatch assistant web app in React.
Team: Rita Xiang, Rajan Agarwal, Simerus Mahesh, and Josh.