Sessions

GitHub API 2024 Contributions

swe-1-6-fastbypass~Jun 20, 2026, 6:32 AM UTC
In 74,130Out 7,993Cache 764,213Time 126.2s
6 system messages
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>
  1. You

    use the github api, find all the repos he contributed to in 2024 https://github.com/rajansagarwal?tab=repositories

  2. Devin
    Thinking

    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.

    exec(command: gh auth status 2>&1 | head -20)
    {
      "command": "gh auth status 2>&1 | head -20"
    }
    In 1,081Out 55Cache 13,172TTFT 1,361mstool_calls
  3. OutputOutput from command in shell b98990:
    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
  4. Devin
    Thinking

    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.

    exec(command: gh api users/rajansagarwal 2>&1 | head -…)
    {
      "command": "gh api users/rajansagarwal 2>&1 | head -30"
    }
    In 141Out 203Cache 14,252TTFT 1,141mstool_calls
  5. OutputOutput from command in shell 4ed4cc:
    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: 0
  6. Devin
    Thinking

    The 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.

    exec(command: gh api --paginate "users/rajansagarwal/r…)
    {
      "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"
    }
    In 600Out 321Cache 14,392TTFT 1,973mstool_calls
  7. OutputOutput from command in shell d82d2c:
    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>
  8. Devin
    Thinking

    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.

    exec(command: gh api --paginate "users/rajansagarwal/r…)
    {
      "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"
    }
    In 8,568Out 138Cache 14,991TTFT 1,413mstool_calls
  9. OutputOutput from command in shell 63a413:
    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
  10. Devin
    Thinking

    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).

    exec(command: gh api --paginate "search/issues?q=autho…)
    {
      "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"
    }
    In 338Out 188Cache 23,558TTFT 2,018mstool_calls
  11. OutputOutput from command in shell 2619c4:
    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
  12. Devin
    exec(command: gh api --paginate "search/issues?q=autho…)
    {
      "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"
    }
    In 257Out 162Cache 23,895tool_calls
  13. OutputOutput from command in shell 39231d:
    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
  14. Devin
    Thinking

    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.

    exec(command: gh api "search/commits?q=author:rajansag…)
    {
      "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'"
    }
    In 5,077Out 497Cache 24,151TTFT 1,227mstool_calls
  15. OutputOutput from command in shell 04e8d7:
    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: 0
  16. Devin
    Thinking

    Hit 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.

    exec(command: sleep 60 && gh api "search/commits?q=aut…, timeout: 90000)
    {
      "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
    }
    In 760Out 177Cache 29,227TTFT 1,249mstool_calls
  17. OutputNo output produced after 5.0 seconds. Command running in background with ID: fd84a9. Run get_output
    No output produced after 5.0 seconds. Command running in background with ID: fd84a9. Run get_output with timeout if you need to wait.
  18. Devin
    get_output(shell_id: fd84a9, timeout: 70000)
    {
      "shell_id": "fd84a9",
      "timeout": 70000
    }
    In 215Out 23Cache 29,986tool_calls
  19. Output181
    181
    
    
    Exit code: 0
  20. Devin
    Thinking

    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.

    exec(command: sleep 30 && gh api --paginate "search/co…, timeout: 120000)
    {
      "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
    }
    In 35Out 209Cache 30,200TTFT 1,129mstool_calls
  21. OutputNo output produced after 5.0 seconds. Command running in background with ID: c22169. Run get_output
    No output produced after 5.0 seconds. Command running in background with ID: c22169. Run get_output with timeout if you need to wait.
  22. Devin
    get_output(shell_id: c22169, timeout: 90000)
    {
      "shell_id": "c22169",
      "timeout": 90000
    }
    In 247Out 23Cache 30,234tool_calls
  23. OutputBracketBotCapstone/quickstart
    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
  24. Devin
    Thinking

    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).

    His own repos with 2024 activity (11)

    RepoTypeLast 2024 push
    rajansagarwal/audio2vecsource2024-06-21
    rajansagarwal/deja-vusource2024-05-25
    rajansagarwal/eng-intern-assessment-railsfork2024-01-21
    rajansagarwal/gpt-wrappedsource2024-12-21
    rajansagarwal/mpcsource2024-07-15
    rajansagarwal/portalsource2024-07-10
    rajansagarwal/quickstartfork2024-11-09
    rajansagarwal/rajansagarwalprofile2024-07-17
    rajansagarwal/self-driving-tanksource2024-01-21
    rajansagarwal/shapeshiftsource2024-07-07
    rajansagarwal/www23source2024-09-12

    Repos owned by others that he contributed to in 2024 (9)

    RepoContribution
    BracketBotCapstone/quickstartcommits + 1 PR
    freeman-jiang/nexuscommits (Feb 2024)
    ishaan1013/axiomcommits (Oct–Nov 2024)
    ritaxiang/stealth-startupcommits (Sep 2024)
    sdan/gpt-wrappedcommits (Dec 2024) — upstream of his fork
    shahanneda/bracketbothackatoncommits (Nov 2024)
    Shav7/voicebotcommits (Nov 2024)
    Socratica-Org/symposium-w24-matchmakingcommits (Mar–May 2024)
    WATonomous/data-driven-modelcommits (Dec 2024)

    Methodology / caveats

    • Used search/commits (author:rajansagarwal author-date:2024-01-01..2024-12-31, 181 total commits) and search/issues for PRs/issues authored in 2024.
    • The GitHub Events API only goes back ~90 days, so it can't cover all of 2024 — the search endpoints were used instead.
    • Forks (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.
    In 176Out 1,343Cache 30,480TTFT 954ms
  25. You

    after you get all of the websites, download the readme.md of all relevant repos and then summarize each project

  26. Devin
    Thinking

    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.

    exec(command: mkdir -p /tmp/rajansagarwal-readmes && c…)
    {
      "command": "mkdir -p /tmp/rajansagarwal-readmes && cd /tmp/rajansagarwal-readmes && rm -f *.md && ls"
    }
    In 16,289Out 141Cache 14,253TTFT 966mstool_calls
  27. OutputOutput from command in shell 2f880b:
    Output from command in shell 2f880b:
    
    
    Exit code: 0
  28. Devin
    exec(command: cd /tmp/rajansagarwal-readmes repos=( …, timeout: 120000)
    {
      "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
    }
    In 163Out 360Cache 30,541tool_calls
  29. OutputOutput from command in shell 7fd8a8:
    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
  30. Devin

    Got 18 READMEs. For the 2 without a README, let me check the repo description and any other docs.

    exec(command: for r in "rajansagarwal/deja-vu" "rajans…)
    {
      "command": "for r in \"rajansagarwal/deja-vu\" \"rajansagarwal/mpc\"; do\n  echo \"=== $r ===\"\n  gh api \"repos/$r\" --jq '{description, language, topics, homepage}'\ndone"
    }
    In 706Out 86Cache 30,703TTFT 2,722mstool_calls
  31. OutputOutput from command in shell 02c5b6:
    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
  32. Devin
    exec(command: cd /tmp/rajansagarwal-readmes for f in *…)
    {
      "command": "cd /tmp/rajansagarwal-readmes\nfor f in *.md; do\n  echo \"================================================================\"\n  echo \"FILE: $f\"\n  echo \"================================================================\"\n  cat \"$f\"\n  echo\ndone"
    }
    In 182Out 56Cache 31,408tool_calls
  33. OutputOutput from command in shell 50385b:
    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.
    
    ![axiom-cover](https://github.com/user-attachments/assets/bbec3b04-8443-4735-a149-289bc5abbdf3)
    
    ## 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>
  34. Devin

    Let me read the remaining READMEs individually.

    read(file_path: /var/folders/d9/mzhyr7lx6xbf236j5ll9v_30…)
    {
      "file_path": "/var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/content.txt"
    }
    In 2,348Out 59Cache 31,589TTFT 1,420mstool_calls
  35. Output<file-view path="/var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/conte
    <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|![axiom-cover](https://github.com/user-attachments/assets/bbec3b04-8443-4735-a149-289bc5abbdf3)
     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|![alt text](images/jun26.png)
    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>
  36. Devin
    read(file_path: /var/folders/d9/mzhyr7lx6xbf236j5ll9v_30…, offset: 387)
    {
      "file_path": "/var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/content.txt",
      "offset": 387
    }
    In 5,500Out 57Cache 33,936tool_calls
  37. Output<file-view path="/var/folders/d9/mzhyr7lx6xbf236j5ll9v_300000gn/T/devin-overflows-501/b26b139e/conte
    <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|![alt text](images/image.png)
    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|![Graph Preview](images/graph.png)
    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|![Match Preview](images/match.png)
    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>
  38. Devin
    Thinking

    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.

    Project Summaries — rajansagarwal's 2024 Contributions

    His Own Repos

    rajansagarwal/audio2vec

    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."

    rajansagarwal/deja-vu

    (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.

    rajansagarwal/eng-intern-assessment-rails

    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.

    rajansagarwal/gpt-wrapped

    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.

    rajansagarwal/mpc

    (No README, no description, no language) Empty/placeholder repo — likely a Model Predictive Control experiment given the name and his other autonomous-vehicle work.

    rajansagarwal/portal

    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.

    rajansagarwal/quickstart

    Just a link to a Google Doc — appears to be a fork of BracketBot's quickstart for robotics setup. Minimal content.

    rajansagarwal/rajansagarwal

    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.

    rajansagarwal/self-driving-tank

    A UWaterloo SE 1A design project: an autonomous model tank that delivers food across campus. Combines:

    • OpenCV path extraction from Google Maps → node graph
    • Dijkstra's shortest-path routing
    • NEAT neural network trained in Pygame simulation
    • Flask microservice + Raspberry Pi + DC motors (L298N controllers) + ngrok
    • Real-time phone-camera video stream (30 fps), Hough-line path detection, ultrasonic distance sensing, PID control

    rajansagarwal/shapeshift

    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.

    rajansagarwal/www23

    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.

    Repos Owned by Others

    BracketBotCapstone/quickstart

    Bracket Bot quickstart guide for setting up a robot. Links to docs.bracket.bot. Rajan contributed commits + 1 PR in Nov 2024.

    freeman-jiang/nexus

    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.

    ishaan1013/axiom

    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).

    ritaxiang/stealth-startup

    README is just a title — a private/early-stage project. Rajan committed in Sep 2024.

    sdan/gpt-wrapped

    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.

    shahanneda/bracketbothackaton

    A Bracket Bot hackathon repo — README just links to docs.bracket.bot. Rajan committed Nov 2024 (same hackathon as the other BracketBot repos).

    Shav7/voicebot

    Another Bracket Bot hackathon repo — README links to docs.bracket.bot. Rajan committed Nov 2024.

    Socratica-Org/symposium-w24-matchmaking

    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).

    WATonomous/data-driven-model

    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.

    In 3,258Out 1,715Cache 39,435TTFT 1,187ms
  39. You

    when did he write his repo on agents making their own startup[

  40. Devin
    Thinking

    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.

    exec(command: gh api --paginate "users/rajansagarwal/r…)
    {
      "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\""
    }
    In 13,782Out 305Cache 30,542TTFT 1,552mstool_calls
  41. OutputOutput from command in shell 646e0b:
    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
  42. Devin
    Thinking

    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.

    exec(command: gh api --paginate "users/rajansagarwal/r…)
    {
      "command": "gh api --paginate \"users/rajansagarwal/repos?per_page=100\" --jq '.[] | \"\\(.name)\\t\\(.description // \"no-desc\")\"' 2>&1 | sort"
    }
    In 502Out 255Cache 44,323TTFT 1,664mstool_calls
  43. OutputOutput from command in shell c068be:
    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
  44. Devin
    Thinking

    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.

    web_search(query: rajansagarwal AI agents startup autonomo…)
    {
      "query": "rajansagarwal AI agents startup autonomous company github"
    }
    web_search(query: "rajan agarwal" agents build their own s…)
    {
      "query": "\"rajan agarwal\" agents build their own startup project"
    }
    In 2,556Out 684Cache 44,824TTFT 2,016mstool_calls
  45. Output# Web Search Results for "rajansagarwal AI agents startup autonomous company github"
    # 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
    
  46. Output# Web Search Results for ""rajan agarwal" agents build their own startup project"
    # 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...
    
  47. Devin
    Thinking

    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.

    webfetch(url: https://devpost.com/itsrajan)
    {
      "url": "https://devpost.com/itsrajan"
    }
    exec(command: gh api "repos/ritaxiang/stealth-startup/…)
    {
      "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"
    }
    In 4,337Out 312Cache 47,379TTFT 1,303mstool_calls
  48. Output# Web Content from https://devpost.com/itsrajan
    # 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>
  49. OutputOutput from command in shell a638ac:
    Output from command in shell a638ac:
    test("[Rr]ajan"; null) cannot be applied to: boolean (true)
    
    Exit code: 1
  50. Devin
    Thinking

    The 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.

    webfetch(url: https://devpost.com/software/stealth-sta…)
    {
      "url": "https://devpost.com/software/stealth-startup"
    }
    exec(command: gh api "repos/ritaxiang/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"
    }
    In 3,313Out 173Cache 51,715TTFT 1,143mstool_calls
  51. Output# Web Content from https://devpost.com/software/stealth-startup
    # 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>
  52. OutputOutput from command in shell 4a790b:
    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
  53. Devin

    Found it. The project is "Stealth Startup" — "The first self-sustaining startup powered by AI agents."

    When he wrote it

    Rajan worked on it during Hack the North 2024 (September 14–15, 2024):

    • First commit: 2024-09-14T06:53:34Z (Sep 14, 2024, 2:53 AM EDT) — "first commit"
    • His second commit: 2024-09-15T00:43:10Z (Sep 15, 2024, 8:43 PM EDT) — "add agent tools"
    • Devpost submission: Sep 15, 2024, 05:59 AM EDT

    So he wrote it over the weekend of September 14–15, 2024, during Hack the North 2024.

    The project

    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:

    • CEO agent — does market research (web-connected), generates business strategies & business plans, and even posted an intern listing that got 40+ LinkedIn applicants
    • CTO agent — reads the codebase, makes real code changes, and pushes commits to a real GitHub repo (powered by Groq for fast Llama inference)
    • Marketer agent — generates logos/branding via Flux 1, iterates on designs after consulting other agents

    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.

    In 3,699Out 451Cache 55,027TTFT 1,688ms