<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: K Srinivas Rao</title>
    <description>The latest articles on Forem by K Srinivas Rao (@hellskater).</description>
    <link>https://forem.com/hellskater</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1038845%2F356d570b-87b7-43cc-b5a0-ef89ca894e15.jpeg</url>
      <title>Forem: K Srinivas Rao</title>
      <link>https://forem.com/hellskater</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/hellskater"/>
    <language>en</language>
    <item>
      <title>Deploying a Full-Stack Monorepo (Go + React) to Sevalla: What I Learned</title>
      <dc:creator>K Srinivas Rao</dc:creator>
      <pubDate>Mon, 11 Aug 2025 12:49:30 +0000</pubDate>
      <link>https://forem.com/hellskater/deploying-a-full-stack-monorepo-go-react-to-sevalla-what-i-learned-3c7o</link>
      <guid>https://forem.com/hellskater/deploying-a-full-stack-monorepo-go-react-to-sevalla-what-i-learned-3c7o</guid>
      <description>&lt;p&gt;I recently deployed a task management app to Sevalla. The app has a React frontend, Go backend, PostgreSQL database, Redis for background job processing, and cron jobs. All of this lives in a single monorepo.&lt;/p&gt;

&lt;p&gt;You can find the code here &lt;a href="https://github.com/sriniously/tasker" rel="noopener noreferrer"&gt;https://github.com/sriniously/tasker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And also the walkthrough video at &lt;a href="https://www.youtube.com/watch?v=wdoIff5GjFc" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=wdoIff5GjFc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's how I deployed and what I learned during the process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Chose Sevalla
&lt;/h2&gt;

&lt;p&gt;I evaluated several deployment platforms before settling on Sevalla. The main factors were the integrated services and the flexibility to handles monorepos.&lt;/p&gt;

&lt;p&gt;Sevalla provides managed PostgreSQL and Redis instances. This eliminates the need to configure databases myself. The platform handles backups, updates, and scaling automatically.&lt;/p&gt;

&lt;p&gt;Internal networking between services was another key feature. The backend can connect to databases through private networking, which improves security and performance.&lt;/p&gt;

&lt;p&gt;The platform includes S3-compatible object storage. This meant I could use existing AWS SDK code without modifications.&lt;/p&gt;

&lt;p&gt;The pricing model is straightforward with no surprise charges. Resources scale based on usage, and you pay only for what you consume. No seat based pricing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Monorepo Challenge
&lt;/h2&gt;

&lt;p&gt;My repository structure looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.
├── apps
│   ├── backend
│   │   ├── cmd
│   │   │   ├── cron/
│   │   │   └── tasker/
│   │   ├── internal
│   │   │   ├── config/
│   │   │   ├── cron/
│   │   │   ├── database/
│   │   │   │   └── migrations/
│   │   │   ├── handler/
│   │   │   ├── lib/
│   │   │   │   ├── aws/
│   │   │   │   ├── email/
│   │   │   │   ├── job/
│   │   │   │   └── utils/
│   │   │   ├── middleware/
│   │   │   ├── model/
│   │   │   │   ├── category/
│   │   │   │   ├── comment/
│   │   │   │   └── todo/
│   │   │   ├── repository/
│   │   │   ├── router/
│   │   │   │   └── v1/
│   │   │   ├── service/
│   │   │   └── testing/
│   │   ├── static/
│   │   ├── templates/
│   │   │   └── emails/
│   │   ├── go.mod
│   │   └── README.md
│   └── frontend
│       ├── src
│       │   ├── api/
│       │   │   └── hooks/
│       │   ├── components/
│       │   │   ├── categories/
│       │   │   ├── layouts/
│       │   │   ├── todos/
│       │   │   └── ui/
│       │   ├── pages/
│       │   └── lib/
│       ├── package.json
│       └── vite.config.ts
├── packages
│   ├── emails/
│   │   └── src/templates/
│   ├── openapi/
│   │   └── src/contracts/
│   └── zod/
│       └── src/
├── package.json
├── turbo.json
└── README.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The frontend depends on packages in the &lt;code&gt;packages/&lt;/code&gt; directory. These need to be built before the frontend can compile. The backend contains multiple entry points for the API server and cron processors.&lt;/p&gt;

&lt;p&gt;Standard deployment platforms don't handle this complexity well. They expect a single build command that produces one deployable artifact. With a monorepo, you need orchestrated builds across multiple directories.&lt;/p&gt;

&lt;p&gt;Sevalla uses Nixpacks for builds, which allows custom configuration through &lt;code&gt;nixpacks.toml&lt;/code&gt; files. This flexibility was important for handling my monorepo structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up Nixpacks for Monorepos
&lt;/h2&gt;

&lt;p&gt;I created two &lt;code&gt;nixpacks.toml&lt;/code&gt; files to handle my frontend and backend builds separately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frontend Configuration
&lt;/h3&gt;

&lt;p&gt;The frontend configuration goes in the repository root:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[phases.setup]&lt;/span&gt;
&lt;span class="py"&gt;nixPkgs&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'nodejs_22'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'bun'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="py"&gt;aptPkgs&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'git'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nn"&gt;[phases.install]&lt;/span&gt;
&lt;span class="py"&gt;workDir&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'/app'&lt;/span&gt;
&lt;span class="py"&gt;cmds&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s"&gt;'bun install --frozen-lockfile'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s"&gt;'bun run build --filter=@tasker/openapi --filter=@tasker/zod'&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nn"&gt;[phases.build]&lt;/span&gt;
&lt;span class="py"&gt;workDir&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'/app/apps/frontend'&lt;/span&gt;
&lt;span class="py"&gt;cmds&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'bun run build'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nn"&gt;[start]&lt;/span&gt;
&lt;span class="py"&gt;cmd&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'cd /app/apps/frontend &amp;amp;&amp;amp; bun run start -- -l ${PORT:-3000}'&lt;/span&gt;

&lt;span class="nn"&gt;[variables]&lt;/span&gt;
&lt;span class="py"&gt;NODE_ENV&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'production'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It builds the OpenAPI client and Zod packages first. Only then does it build the React app. This orchestrated build process ensures that all dependencies are available before building the main application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Backend Configuration
&lt;/h3&gt;

&lt;p&gt;The backend configuration lives in &lt;code&gt;backend/nixpacks.toml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[phases.setup]&lt;/span&gt;
&lt;span class="py"&gt;nixPkgs&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'go'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nn"&gt;[phases.install]&lt;/span&gt;
&lt;span class="py"&gt;cmds&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'go mod download'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nn"&gt;[phases.build]&lt;/span&gt;
&lt;span class="py"&gt;cmds&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="s"&gt;'go build -o tasker ./cmd/tasker'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s"&gt;'go build -o cron ./cmd/cron'&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nn"&gt;[start]&lt;/span&gt;
&lt;span class="py"&gt;cmd&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'./tasker'&lt;/span&gt;

&lt;span class="nn"&gt;[variables]&lt;/span&gt;
&lt;span class="py"&gt;GO111MODULE&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'on'&lt;/span&gt;
&lt;span class="py"&gt;CGO_ENABLED&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'0'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This builds both the API server and the cron processor from the same codebase. The API server runs by default, and cron jobs get deployed separately using the &lt;code&gt;cron&lt;/code&gt; executable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Environment Variables in Sevalla
&lt;/h2&gt;

&lt;p&gt;This was the biggest surprise. In production, Sevalla groups environment variables by prefix into maps. Locally, you get individual variables like &lt;code&gt;DATABASE_HOST&lt;/code&gt; and &lt;code&gt;DATABASE_USER&lt;/code&gt;. In production, variables with the same prefix get grouped together.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DATABASE_HOST=localhost
DATABASE_USER=postgres
DATABASE_PASSWORD=secret
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DATABASE=map[HOST:your-host USER:postgres PASSWORD:secret]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I had to add special handling in my Go config loader to parse these map strings and set individual environment variables that my app expects.&lt;/p&gt;

&lt;p&gt;Sevalla's environment variable grouping is designed to simplify configuration management. Instead of dozens of individual variables, you get logical groups. However, this requires adaptation in your application code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up Infrastructure Services
&lt;/h2&gt;

&lt;p&gt;Before deploying the application code, I set up the supporting infrastructure through Sevalla's dashboard.&lt;/p&gt;

&lt;h3&gt;
  
  
  PostgreSQL Database
&lt;/h3&gt;

&lt;p&gt;Creating the database was straightforward:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8f4mpz3szviwocl3vemf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8f4mpz3szviwocl3vemf.png" alt=" " width="778" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Database name: tasker&lt;/li&gt;
&lt;li&gt;Version: PostgreSQL 17&lt;/li&gt;
&lt;li&gt;Instance name: Tasker PG&lt;/li&gt;
&lt;li&gt;Location: Mumbai (closest to me)&lt;/li&gt;
&lt;li&gt;Resource tier: Basic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sevalla generates connection details automatically. I copied the host, port, username, and password for my backend environment variables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9twxojnhgd8cizflsuib.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9twxojnhgd8cizflsuib.png" alt=" " width="649" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The important part is that the host uses Sevalla's internal networking. This means it's only accessible from other services within the same project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Redis Setup
&lt;/h3&gt;

&lt;p&gt;Similar process for Redis:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Version: 7&lt;/li&gt;
&lt;li&gt;Instance name: Tasker Redis&lt;/li&gt;
&lt;li&gt;Auto-generated password&lt;/li&gt;
&lt;li&gt;Same location as the database&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbheiy33fim1cv7biroxb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbheiy33fim1cv7biroxb.png" alt=" " width="653" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unlike local development where Redis runs without authentication, Sevalla's Redis instances come with passwords by default. I had to update my Redis client configuration to handle this.&lt;/p&gt;

&lt;h3&gt;
  
  
  Object Storage
&lt;/h3&gt;

&lt;p&gt;I created an object storage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instance name: tasker&lt;/li&gt;
&lt;li&gt;Same region as other resources&lt;/li&gt;
&lt;li&gt;S3-compatible API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sevalla's object storage works with existing AWS SDK code without modifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploying the Backend
&lt;/h2&gt;

&lt;p&gt;The backend deployment required specific configuration for the monorepo structure.&lt;/p&gt;

&lt;p&gt;I created a new app in Sevalla with these settings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repository: &lt;a href="https://github.com/sriniously/tasker" rel="noopener noreferrer"&gt;https://github.com/sriniously/tasker&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Branch: main&lt;/li&gt;
&lt;li&gt;Application name: Tasker API&lt;/li&gt;
&lt;li&gt;Build path: &lt;code&gt;./apps/backend&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Location: Mumbai&lt;/li&gt;
&lt;li&gt;Resource tier: Basic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The build path setting is important for monorepo deployments. It tells Sevalla to look for the &lt;code&gt;nixpacks.toml&lt;/code&gt; file in the &lt;code&gt;backend&lt;/code&gt; directory rather than the repository root.&lt;/p&gt;

&lt;h3&gt;
  
  
  Environment Variables
&lt;/h3&gt;

&lt;p&gt;I imported my local &lt;code&gt;.env&lt;/code&gt; file and updated values for production:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnykpqbw6uw9y5d9xc2zl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnykpqbw6uw9y5d9xc2zl.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One important detail: remove quotes from environment variable values in the Sevalla dashboard.&lt;/p&gt;

&lt;h3&gt;
  
  
  Internal Connections
&lt;/h3&gt;

&lt;p&gt;For security, I connected the backend to the database and Redis using internal networking. You add these connections in the backend app's dashboard under "Connections."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzhas2ly62l08op3qbjs3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzhas2ly62l08op3qbjs3.png" alt=" " width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This provides several benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No external database access&lt;/li&gt;
&lt;li&gt;Better performance through internal routing&lt;/li&gt;
&lt;li&gt;Automatic service discovery&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Deploying the Frontend
&lt;/h2&gt;

&lt;p&gt;The frontend deployment was more straightforward since it uses the root build configuration.&lt;/p&gt;

&lt;p&gt;I created another app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Same repository&lt;/li&gt;
&lt;li&gt;Root build path&lt;/li&gt;
&lt;li&gt;Application name: Tasker Web&lt;/li&gt;
&lt;li&gt;Same location&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main environment variables were:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VITE_CLERK_PUBLISHABLE_KEY=your-clerk-key
VITE_API_URL=https://your-backend-url
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I had to deploy the backend first to get its URL for the frontend configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa4bab4yv1nec2ivbs65t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa4bab4yv1nec2ivbs65t.png" alt=" " width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up Cron Jobs
&lt;/h2&gt;

&lt;p&gt;My app sends weekly reports via email. This required setting up a cron process in Sevalla.&lt;/p&gt;

&lt;p&gt;In the backend app dashboard, I added a cron job:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name: weekly-reports&lt;/li&gt;
&lt;li&gt;Command: &lt;code&gt;./cron weekly-reports&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Schedule: &lt;code&gt;0 0 * * 0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Instance size: hobby tier&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8isehbmkixs9keu4wupb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8isehbmkixs9keu4wupb.png" alt=" " width="800" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The cron executable was built during the backend build process. I could test it manually using the "Run Now" button before the scheduled time.&lt;/p&gt;

&lt;p&gt;The schedule uses standard cron syntax, and the timezone follows UTC by default.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing the Deployment
&lt;/h2&gt;

&lt;p&gt;After deployment, I tested each part of the system:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authentication&lt;/strong&gt;: Signed in with Google through Clerk. This verified the frontend could communicate with Clerk's services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database Operations&lt;/strong&gt;: Created categories and tasks. This tested the backend API and PostgreSQL integration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;File Uploads&lt;/strong&gt;: Uploaded a PDF attachment. This verified object storage integration and presigned URL generation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cron Jobs&lt;/strong&gt;: Triggered the weekly report manually. I received the email with correct task statistics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internal Networking&lt;/strong&gt;: Verified that the backend could connect to PostgreSQL and Redis through internal hostnames.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sevalla-Specific Features I Found Useful
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Database Studio&lt;/strong&gt;: Sevalla provides a built-in database management interface. I could query the production database directly from the dashboard without external tools.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyiif98b701rvr26r7hc3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyiif98b701rvr26r7hc3.png" alt=" " width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automatic SSL&lt;/strong&gt;: All services got HTTPS automatically without any certificate management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment Logs&lt;/strong&gt;: Real-time build and deployment logs made debugging configuration issues straightforward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resource Monitoring&lt;/strong&gt;: Built-in monitoring shows CPU, memory, and network usage for each service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One-Click Scaling&lt;/strong&gt;: I could upgrade resource tiers with a single click when needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problems I Encountered
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Build Path Configuration&lt;/strong&gt;: It took me time to figure out that I needed to set the build path to &lt;code&gt;./apps/backend&lt;/code&gt; for the backend deployment to find the right Nixpacks file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Environment Variable Grouping&lt;/strong&gt;: The different behavior between local and production environment variable loading required code changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Redis Authentication&lt;/strong&gt;: I initially forgot that production Redis instances have passwords, which caused connection failures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CORS Configuration&lt;/strong&gt;: I had to update the allowed origins to include the production frontend URL after deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Worked Well About Sevalla
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Integrated Services&lt;/strong&gt;: Having databases, object storage, and application hosting in one platform simplified management significantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internal Networking&lt;/strong&gt;: Connecting services internally was both secure and performant. No need to manage external database URLs or worry about unauthorized access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monorepo Support&lt;/strong&gt;: The Nixpacks configuration system handled my complex build requirements well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment Speed&lt;/strong&gt;: Once configured, deployments were fast and reliable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resource Flexibility&lt;/strong&gt;: Starting with basic tiers and upgrading as needed was cost-effective.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sevalla vs Other Platforms
&lt;/h2&gt;

&lt;p&gt;Compared to other platforms I've used:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Easier Database Management&lt;/strong&gt;: Unlike Heroku where you need add-ons, or AWS where you configure RDS separately, Sevalla's integrated databases are simpler to set up and manage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simpler Networking&lt;/strong&gt;: Internal service communication is more straightforward than configuring VPCs on AWS or managing service discovery on Kubernetes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost Predictability&lt;/strong&gt;: The pricing model is clearer than AWS's complex billing or Heroku's expensive add-ons.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways for Sevalla Deployments
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Plan for Environment Variables&lt;/strong&gt;: If you're migrating from another platform, expect to modify how your app handles environment variable loading.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Internal Networking&lt;/strong&gt;: Take advantage of Sevalla's internal networking for service-to-service communication. It's more secure and performant than external connections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start Small and Scale&lt;/strong&gt;: Begin with basic resource tiers. Sevalla makes it easy to upgrade when you need more capacity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leverage Integrated Services&lt;/strong&gt;: Use Sevalla's managed databases and object storage instead of external services. The integration simplifies configuration and management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Cron Jobs&lt;/strong&gt;: Use the manual trigger feature to test background jobs before relying on scheduled execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitor Resource Usage&lt;/strong&gt;: Keep an eye on the built-in monitoring to understand when you need to scale resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts on Sevalla
&lt;/h2&gt;

&lt;p&gt;Sevalla made deploying a complex monorepo application much more manageable than I expected. The platform handles most of the infrastructure complexity while giving you control over the important configuration details.&lt;/p&gt;

&lt;p&gt;The key is understanding how Sevalla differs from local development and preparing for those differences in your code and configuration. The environment variable grouping and internal networking are the biggest changes from typical development setups.&lt;/p&gt;

&lt;p&gt;For teams looking to deploy full-stack applications without managing infrastructure complexity, Sevalla provides a good middle ground between platform-as-a-service simplicity and infrastructure-as-a-service control.&lt;/p&gt;

&lt;p&gt;The integrated approach works particularly well for monorepos where you need to coordinate multiple services and databases. Having everything in one platform simplifies both deployment and ongoing management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ready to Try Sevalla?
&lt;/h2&gt;

&lt;p&gt;If you're working on a full-stack application and tired of juggling multiple services across different platforms, I recommend giving Sevalla a try. The platform is particularly well-suited for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monorepo applications&lt;/strong&gt; where you need coordinated builds across multiple services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Teams that want managed databases&lt;/strong&gt; without the complexity of cloud provider setup&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Applications requiring internal networking&lt;/strong&gt; between services for security and performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Projects that need both web apps and background jobs&lt;/strong&gt; running from the same codebase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developers who prefer integrated tooling&lt;/strong&gt; over managing separate services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The $50 joining credits enough to deploy and test real applications. You can get started with your GitHub repository and have a production deployment running in under an hour.&lt;/p&gt;

&lt;p&gt;Check out Sevalla at &lt;a href="https://sevalla.com/" rel="noopener noreferrer"&gt;sevalla.com&lt;/a&gt; and see how it handles your specific deployment needs. The platform continues to evolve with new features, and the development team is responsive to user feedback.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>go</category>
    </item>
    <item>
      <title>Introducing the Naruto DB: The most extensive public Naruto API for Naruto Character Universe</title>
      <dc:creator>K Srinivas Rao</dc:creator>
      <pubDate>Sun, 05 Mar 2023 08:51:08 +0000</pubDate>
      <link>https://forem.com/hellskater/introducing-the-naruto-db-the-most-extensive-public-api-for-naruto-universe-hg1</link>
      <guid>https://forem.com/hellskater/introducing-the-naruto-db-the-most-extensive-public-api-for-naruto-universe-hg1</guid>
      <description>&lt;p&gt;Are you a fan of the Naruto anime and manga series? Are you looking for a comprehensive resource that can provide you with all the information you need about the characters, clans, villages, teams, Akatsuki, Kara, kekkei-genkai, and Tailed-beasts in the Naruto universe? Look no further than the Naruto DB!&lt;/p&gt;

&lt;p&gt;We are excited to announce the launch of the &lt;a href="https://www.narutodb.xyz/"&gt;Naruto DB&lt;/a&gt;, a free resource that provides detailed information about the Naruto universe. With this API, you can easily retrieve information about your favourite characters and explore the rich lore and world-building of the Naruto universe.&lt;/p&gt;

&lt;p&gt;The Naruto API is designed to be easy to use and flexible. Simply make a GET request to the appropriate endpoint with the required parameters, and the API will return all available information about the requested resource in JSON format.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;GET&lt;/span&gt; &lt;span class="nx"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;//api.narutodb.xyz/character&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;curl&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;X&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;\&lt;/span&gt;
        &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://narutodb.cyclic.app/character&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;\&lt;/span&gt;
     &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;H&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;accept: application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;characters&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Zero-Tails&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;images&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://static.wikia.nocookie.net/naruto/images/8/87/Zero_tails.PNG/revision/latest/scale-to-width-down/300?cb=20120518185128&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;debut&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;novel&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Naruto Shippūden the Movie: Bonds&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;movie&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Naruto Shippūden the Movie: Bonds&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;appearsIn&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Novel, Movie&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jutsu&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Shadow Arms&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;personal&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;species&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Leech&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;uniqueTraits&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Detects negative emotions&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Feeds on darkness in a beings heart to create dark chakra&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Ten-Tails&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;images&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://static.wikia.nocookie.net/naruto/images/e/e6/Ten-Tails_emerges.png/revision/latest/scale-to-width-down/300?cb=20140523101840&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;debut&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;manga&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Naruto Chapter #467&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;anime&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Naruto Shippūden Episode #205&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;novel&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;The Last: Naruto the Movie&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;movie&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;The Last: Naruto the Movie&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;game&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Naruto Shippūden: Ultimate Ninja Storm Revolution&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ova&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;The Far Reaches of Hope&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;appearsIn&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Anime, Manga, Novel, Game, Movie&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;family&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;incarnation with the god tree&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Kaguya Ōtsutsuki&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;depowered form&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Demonic Statue of the Outer Path&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jutsu&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Six Paths Senjutsu&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Tailed Beast Ball&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Tailed Beast Chakra Arms&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Tailed Beast Shockwave&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Ten-Tails Fission&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Tenpenchii&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Truth-Seeking Ball&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wood Release: Cutting Technique&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;natureType&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Fire Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wind Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Lightning Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Earth Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Water Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wood Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Yin Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Yang Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Yin–Yang Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;personal&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;status&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Incapacitated&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;kekkeiGenkai&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wood Release&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;classification&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Tailed Beast&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jinchūriki&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hagoromo Ōtsutsuki&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Obito Uchiha&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Madara Uchiha&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;titles&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;十尾Jūbi&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;one-eyedGod(天目一箇神,AmeNoHitotsuNoKami)&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;datara(ダタラ)&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;deidarabotchi(デイダラボッチ,Deidarabocchi)&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nation-buildingGod(国造りの神,KunizukuriNoKami)&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;]&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;uniqueTraits&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Can absorb chakra&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Three-Headed Guardian Beast&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;images&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://static.wikia.nocookie.net/naruto/images/7/79/Three-Heads_after_release.png/revision/latest/scale-to-width-down/300?cb=20120303155347&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;personal&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;affiliation&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Yumegakure&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;

      &lt;span class="p"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We believe that the Naruto API has the potential to be an invaluable resource for the Naruto community, and we are committed to maintaining and improving it over time. We have spent months collecting information about every single character from multiple sources, making NarutoDB the most extensive public API for the Naruto universe. However, hosting and maintaining the API can be expensive, and that's why we need your support.&lt;/p&gt;

&lt;p&gt;If you find the Naruto API useful and want to support our mission, there are several ways you can do so:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Star our GitHub repository: By starring our &lt;a href="https://github.com/hellskater/narutodb-website"&gt;repository&lt;/a&gt;, you can show your support for the Naruto API and help us reach a wider audience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Contribute to the Naruto API: If you have programming skills or knowledge about the Naruto universe, you can contribute to the &lt;a href="https://github.com/hellskater/narutodb-website"&gt;Naruto DB&lt;/a&gt; by submitting bug reports, feature requests, or even code contributions. We welcome contributions from the Naruto community, and we believe that by working together, we can make the Naruto API the ultimate resource for Naruto fans.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Buy us a coffee: If you appreciate the work we're doing with the Naruto API and want to support us financially, you can buy us a coffee through our &lt;a href="https://www.buymeacoffee.com/srini53168"&gt;Buy Me a Coffee&lt;/a&gt; page. Your support will help us cover the costs of hosting and maintaining the Naruto API, and ensure that we can continue to provide this valuable resource to the Naruto community.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We hope that you find the Naruto API useful in your explorations of the Naruto universe, and we look forward to your contributions and support. Together, we can make the Naruto API the ultimate resource for Naruto fans everywhere!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
