> For the complete documentation index, see [llms.txt](https://docs.deso.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.deso.org/~/changes/fDLjGJdJathPNuf23Eol/deso-repos/architecture-overview/making-your-first-changes.md).

# Making Your First Changes

In this tutorial, we will show you how to make changes to the DeSo codebase, and see your changes reflected in a local dev environment.

## Prerequisites

This guide assumes you have successfully made it through [**Setting Up Your Dev Environment**](broken://pages/-MjtsPMMcHzdqdJ1owgy).\
\
In particular, it assumes you have a testnet node running with n0\_test showing a frontend UI that looks roughly like the following screenshot:

![](/files/W4nELE5otnah6oXsiiUS)

## Make Your First Frontend Change

If your frontend repo is loaded into Goland, the following steps should allow you to make your first frontend change, and see it update your local node in real time:<br>

* Run your n0\_test. Create an account and make sure you can see the page shown in the prerequisites.<br>
* Assuming you're using Goland, navigate to the `feed.component.ts`. Hint: You can use SHIFT+SHIFT to easily jump to it.<br>
* Look for the `GLOBAL_TAB` function in the file and modify the return statement as follows (you can name your feed whatever you want):<br>
  * `static GLOBAL_TAB = "Satoshi's Feed";`<br>
* Save your changes.

\
After your changes are saved, your browser should update to show a new title for your feed tab:

![](/files/zdfonpjptjw2hmAFer2E)

## Make Your First Backend Change

The backend repo runs an API that the frontend Angular app queries to get all of the information it displays. Let's make our first change to this API by following the steps below:<br>

* Before going into the code, go to the Admin panel, add a post to the global feed, and verify that it shows up by refreshing the page.<br>

* With the backend repo loaded in Goland, find the `post.go` file, which defines one of the API endpoints queried by the frontend. Hint: You can use SHIFT+SHIFT to navigate to it.<br>

* In that file, find a function called `GetPostsStateless`. Modify the response at the end of the function as follows to customize the content:<br>
  * ```
        if len(postEntryResponses) > 0 {
            postEntryResponses[0].Body = "This is some content"
        }

        // Return the posts found.
        res := &GetPostsStatelessResponse{
            PostsFound: postEntryResponses,
        }
    ```

* Save the file and restart n0\_test. When you make changes to anything in backend or core, you need to restart your node for them to take effect.<br>

Now you should see some custom content in the post that you added to the feed. You can modify endpoints in backend like this one to customize how data is returned to the user.

![](/files/E91cbcStOlnknnauhGEh)

##


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.deso.org/~/changes/fDLjGJdJathPNuf23Eol/deso-repos/architecture-overview/making-your-first-changes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
