Autonomous Coding Agent

NeMo-WM Codes

No LLM. No API calls. NeMo-WM reads a problem, identifies the algorithm, selects the right template, and generates working code — like a real engineer.

94%
Pattern Accuracy
91%
Template Selection
21
DSA Patterns
63
Code Templates
8
Languages
0
LLM Calls
How It Works
Thinks Like an Engineer
NeMo-WM follows the same cognitive process a senior developer uses: read the problem, identify the pattern, select the algorithm, adapt the template, verify the solution.
01
👁️
Perceive
Parse the problem. Detect input type, output type, constraints, and key phrases.
02
🧠
Match Pattern
Synonym expansion + structure detection. Score 21 DSA patterns. Select best match.
03
📐
Select Template
Pick the right variant. Not just "DP" but specifically "coin change" or "LCS" or "knapsack".
04
⚡
Synthesize
Generate code from template. Adapt to the specific problem. Choose the right language.
05
✓
Verify
Run against test cases. Debug if needed. Learn from the result for next time.
Live Examples
Watch NeMo Think
Each example shows NeMo's internal reasoning process alongside the generated code. No language model involved — pure algorithmic pattern matching.
LC #1: Two Sum
Hash Table Python O(n) Easy
🧠 NeMo's Reasoning
▸ Input: array of integers + target
▸ Detected: "add up to target" → synonym expands to "pair sum", "two sum"
▸ Structure: needs_pairs=true, has_array=true
✓ Pattern: Hash Table (score: 0.92) — complement lookup
✓ Template: two_sum — seen[complement] pattern
★ Generated in 0ms, zero API calls
def two_sum(nums, target): seen = {} for i, num in enumerate(nums): complement = target - num if complement in seen: return [seen[complement], i] seen[num] = i return []
LC #994: Rotten Oranges (Multi-Source BFS)
BFS Python O(m×n) Medium
🧠 NeMo's Reasoning
▸ Input: 2D grid with obstacles
▸ Detected: "spread simultaneously" → multi-source BFS
▸ Structure: has_grid=true, needs_shortest=true
✓ Pattern: BFS (score: 0.95) — shortest path in grid
✓ Template: multi_source — all rotten oranges start simultaneously
★ Correctly chose multi-source over standard BFS
from collections import deque def multi_bfs(grid, sources): rows, cols = len(grid), len(grid[0]) queue = deque() for r, c in sources: queue.append((r, c, 0)) visited = set(sources) while queue: r, c, dist = queue.popleft() for dr, dc in [(-1,0),(1,0),(0,-1),(0,1)]: nr, nc = r+dr, c+dc # bounds + visited check
LC #322: Coin Change (Dynamic Programming)
DP C++ / Rust O(n×amount) Medium
🧠 NeMo's Reasoning
▸ Detected: "fewest coins", "denomination" → needs_dp=true
▸ "coin change minimum cost" triggers DP with coin_change template
▸ NOT greedy (greedy doesn't work for arbitrary denominations)
✓ Pattern: Dynamic Programming (score: 0.98)
✓ Template: coin_change — unbounded knapsack variant
★ Same algorithm, rendered in C++ and Rust
C++
Rust
int coinChange(vector<int>& coins, int amount) { vector<int> dp(amount+1, amount+1); dp[0] = 0; for (int coin : coins) for (int a = coin; a <= amount; a++) dp[a] = min(dp[a], dp[a-coin]+1); return dp[amount] > amount ? -1 : dp[amount]; }
LC #51: N-Queens (Backtracking with Pruning)
Backtracking Java O(n!) Hard
🧠 NeMo's Reasoning
▸ "N queens", "no two attack", "valid configurations"
▸ Structure: is_generation=true → Backtracking
▸ "constraint" + "pruning" → with_pruning template, NOT permutations
✓ Chose constraint satisfaction over brute force
✓ Template includes validity check before placement
★ Distinguishes queen placement from generic permutation
public void backtrack(char[][] board) { for (int r = 0; r < 9; r++) { for (int c = 0; c < 9; c++) { if (board[r][c] == '.') { for (char num : "123456789") { if (isValid(board, r, c, num)) { board[r][c] = num; if (backtrack(board)) return true; board[r][c] = '.'; } } return false; } } } return true; }
ARC-AGI: Color Swap from I/O Examples
Perception Python O(n) ARC
🧠 NeMo's Reasoning (from examples, no text)
▸ Input: [[0,3,0],[3,7,3]] → Output: [[0,7,0],[7,3,7]]
▸ Perceive: same size, some pixels changed
▸ Compare: 3→7 and 7→3 consistently across all pairs
✓ Hypothesis: color mapping {3:7, 7:3}
✓ Verified on all training examples
★ Generated working code from I/O examples alone
# NeMo generated this from examples # No problem text — pure perception def solve(grid): import numpy as np mapping = {3: 7, 7: 3} g = np.array(grid) out = g.copy() for old, new in mapping.items(): out[np.array(grid) == old] = new return out.tolist() # Test: [3,3,7] → [7,7,3] ✓
Union-Find: Connected Components
Union-Find Rust O(α(n)) Medium
🧠 NeMo's Reasoning
▸ "redundant connection", "cycle in undirected graph"
▸ Structure: needs_connectivity=true, has_graph=true
▸ Union-Find beats DFS here: dynamic edge addition
✓ Path compression + union by rank
✓ Template: standard (full UF with find + union)
★ Rust ownership model naturally fits UF's mutable state
struct UnionFind { parent: Vec<usize>, rank: Vec<usize>, } impl UnionFind { fn new(n: usize) -> Self { UnionFind { parent: (0..n).collect(), rank: vec![0; n], } } fn find(&mut self, x: usize) -> usize { if self.parent[x] != x { self.parent[x] = self.find(self.parent[x]); } self.parent[x] } }
Polyglot
One Mind, Eight Languages
NeMo thinks in algorithms, not syntax. The same Two Sum solution is a hash map complement lookup whether it's Python's dict, Java's HashMap, or Rust's HashMap.
🐍
Python
12 templates
🟨
JavaScript
9 templates
☕
Java
8 templates
⚡
C++
6 templates
🦀
Rust
4 templates
🐹
Go
2 templates
🔷
TypeScript
1 template
💜
C#
1 template
Benchmark
94% Accuracy, Zero LLM
Tested on 35 medium-hard LeetCode problems across all 21 DSA pattern categories. NeMo correctly identifies the algorithm and selects the right template variant.
Pattern Matching
94%
Template Selection
91%
ARC Code Gen
75%
Multi-Lang Coverage
8 langs
$ python nemo_coding_agent.py --test
Testing NeMo-WM Coding Agent v4...
✓ Two Sum → Hash Table / two_sum
✓ Valid Parens → Stack / matching_brackets
✓ Islands → DFS / grid_flood_fill
✓ Coin Change → DP / coin_change
✓ Permutations → Backtracking / permutations
✓ Dijkstra → Graph / dijkstra
...
PATTERN: 33/35 (94%) | TEMPLATE: 32/35 (91%)
ZERO LLM CALLS