JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

How to work with AI. Part 1. | JustPaste.app
1 day ago1 views
💻Technology

How to work with AI. Part 1.

Yes. For that project, I would not start by asking DC Agentiqs to "build me a Kanji website." I'd treat it like a small software project and use Agentiqs as an AI development team with controlled responsibilities.

Your project is actually a very good candidate because it has several relatively independent domains:

  • Kanji database

  • readings / meanings

  • SRS algorithm

  • study sessions

  • user accounts

  • progress tracking

  • ranking/leaderboard

  • web UI

  • database

  • testing

  • deployment

The key is to make the AI work incrementally, with each stage producing an artifact that becomes input to the next stage.

1. Start with the architecture, not the code

I'd first create a project workspace something like:

KanjiLearning/
│
├── 00_Project/
│   ├── project_goal.md
│   ├── scope.md
│   ├── glossary.md
│   └── decisions.md
│
├── 01_Requirements/
│   ├── functional_requirements.md
│   ├── nonfunctional_requirements.md
│   └── acceptance_criteria.md
│
├── 02_Architecture/
│   ├── system_architecture.md
│   ├── database_design.md
│   ├── api_design.md
│   └── security_design.md
│
├── 03_Design/
│   ├── user_flows.md
│   ├── ui_requirements.md
│   └── srs_design.md
│
├── 04_Development/
│   └── source_code/
│
├── 05_Test/
│   ├── test_strategy.md
│   ├── test_cases.xlsx
│   └── test_results/
│
└── 06_Documentation/

This organization is important because you don't want the LLM's conversation history to become your project's source of truth.

Your files should be the source of truth.

2. First Agent: Product/Requirements Analyst

Give Agentiqs a very small initial instruction:

Build an educational web application for learning Japanese kanji. Users register, study kanji through an SRS system, track progress, and participate in rankings.

Then have the Requirements Agent turn that into structured requirements.

For example:

User management

FR-USER-001
The system shall allow a user to register using an email address and password.

FR-USER-002
The system shall authenticate registered users.

FR-USER-003
The system shall allow users to reset their password.

Kanji

FR-KANJI-001
The system shall display a kanji character.

FR-KANJI-002
The system shall display its readings.

FR-KANJI-003
The system shall display meanings.

FR-KANJI-004
The system shall allow kanji to be associated with an SRS learning state.

SRS

FR-SRS-001
The system shall schedule kanji reviews according to the user's SRS state.

FR-SRS-002
The system shall update the SRS state based on the user's answer.

FR-SRS-003
The system shall prioritize due cards.

And so on.

Don't let the AI start coding yet.

3. Second Agent: Architecture

Once requirements are stable, give the architecture agent only:

Project requirements
+
constraints

For your first version, I'd keep the architecture boring.

Something like:

Browser
   │
   ▼
Flask
   │
   ├── Authentication
   ├── Kanji service
   ├── SRS service
   ├── Ranking service
   └── User/progress service
   │
   ▼
PostgreSQL

Potential stack:

Python
Flask
SQLAlchemy
PostgreSQL
Flask-Login
Alembic / Flask-Migrate
Jinja2
HTML/CSS
JavaScript
pytest
Gunicorn
Nginx
Docker

You don't need React for V1 unless you have a particular reason for it.

For this application, Flask + Jinja + relatively small amounts of JavaScript can keep the architecture considerably simpler.

4. Have the AI design the database BEFORE writing application code

This is particularly important for your application.

You could have something like:

users
-----
id
email
password_hash
display_name
created_at

kanji
-----
id
character
grade
jlpt_level
stroke_count
meanings
...

kanji_readings
--------------
id
kanji_id
reading
type

user_kanji
----------
user_id
kanji_id
srs_state
due_at
interval
ease_factor
repetitions
last_reviewed_at

reviews
-------
id
user_id
kanji_id
rating
reviewed_at

user_stats
----------
user_id
total_reviews
correct_reviews
streak
xp

leaderboard
-----------
...

But don't blindly accept whatever schema the AI generates.

Ask the Architecture Agent to explain:

  • normalization

  • indexes

  • foreign keys

  • uniqueness constraints

  • deletion behavior

  • transaction boundaries

  • leaderboard query performance

  • SRS state representation

Then you approve it.

This is one place where your QA background is useful: the AI proposes; you review.

5. Separate the SRS algorithm from the rest of the website

This is extremely important.

Don't bury your SRS logic inside Flask routes.

Bad:

/routes/study.py

if answer == "good":
    interval = ...

Better:

app/
├── routes/
│   ├── auth.py
│   ├── kanji.py
│   ├── study.py
│   └── leaderboard.py
│
├── services/
│   ├── srs_service.py
│   ├── ranking_service.py
│   └── user_service.py
│
├── models/
│
└── repositories/

Then the SRS algorithm becomes independently testable:

answer_card(card, rating)
        ↓
new SRS state

You can feed it thousands of test cases without running the website.

6. Make the AI create the SRS specification first

For example:

SRS-001
Given a new kanji, its initial state shall be "new".

SRS-002
When the user answers a review, the system shall calculate the next review interval.

SRS-003
The system shall never schedule a review earlier than the minimum allowed interval.

SRS-004
A failed review shall reduce the appropriate SRS state according to the selected algorithm.

Then define exact behavior.

If you're using an existing algorithm such as FSRS, don't ask the LLM to invent one.

Tell it:

"Implement FSRS according to the authoritative algorithm specification. Do not modify the algorithm."

That avoids one of the biggest problems with AI-generated educational software: plausible-looking but subtly incorrect algorithms.

7. Then let an Agent implement one vertical slice

Don't say:

"Build the whole website."

Instead:

Sprint 1

Implement user registration and login.

Agent gets:

FR-USER-001
FR-USER-002
Database schema
Architecture rules
Coding conventions

and produces:

models
routes
templates
tests
migration

Then another agent reviews it.

8. Your workflow should look like this

This is where DC Agentiqs becomes much more powerful.

                  REQUIREMENT
                       │
                       ▼
              ┌─────────────────┐
              │ Requirements    │
              │ Agent           │
              └────────┬────────┘
                       │
                       ▼
              Approved requirement
                       │
                       ▼
              ┌─────────────────┐
              │ Design Agent    │
              └────────┬────────┘
                       │
                       ▼
                 Design artifact
                       │
                       ▼
              ┌─────────────────┐
              │ Coding Agent    │
              └────────┬────────┘
                       │
                       ▼
                    Code
                       │
                       ▼
              ┌─────────────────┐
              │ Test Agent      │
              └────────┬────────┘
                       │
                       ▼
                 pytest results
                       │
                 ┌─────┴─────┐
                 │           │
                PASS        FAIL
                 │           │
                 ▼           ▼
             Complete    Debug Agent
                             │
                             └──→ Coding Agent

That's far better than one enormous conversation with one LLM.

9. Give different Agents different jobs

I'd probably start with something like this:

Agent

Responsibility

Product Agent

Requirements and scope

Architect Agent

Architecture/database/API

Backend Agent

Flask/Python

Frontend Agent

HTML/CSS/JS/Jinja

SRS Agent

SRS algorithm

Test Agent

pytest/test design

Security Agent

Auth/security review

Code Reviewer

General code review

Documentation Agent

Documentation

You don't necessarily need nine separate agents immediately.

Start with four:

Requirements
Architecture
Developer
Tester

Then add specialized agents when you encounter a real need.

10. Use the LLM's context intelligently

This is where you can dramatically reduce token usage.

Suppose you're fixing:

"Leaderboard doesn't update after a review."

Don't give the AI:

Entire project
+
all requirements
+
all documentation
+
entire database
+
every source file

Give it:

Relevant requirement
+
leaderboard service
+
review service
+
relevant models
+
failing test
+
error log

Maybe that's only:

15K tokens instead of 200K.

And because the agent has access to the project knowledge, it can retrieve the broader information if necessary.

11. Use a "context budget"

I would actually make this one of your development rules.

For every task:

Small task

Target:

<10K tokens context

Example:

Fix CSS alignment.

Medium task

Target:

10–30K

Example:

Add leaderboard pagination.

Large task

Target:

30–80K

Example:

Refactor the SRS architecture.

Very large task

Stop and split it.

Instead of:

"Rewrite the whole authentication system."

Do:

1. Analyze current authentication
2. Design replacement
3. Review design
4. Implement database changes
5. Implement backend
6. Implement frontend
7. Write tests
8. Security review
9. Migration

This is both better engineering and cheaper AI usage.

12. Make tests part of the AI's definition of "done"

This is probably the most important rule I'd establish.

Don't let an Agent say:

"Feature implemented."

unless:

Code implemented
      ↓
Unit tests
      ↓
Integration tests
      ↓
Tests PASS
      ↓
Code review
      ↓
Requirement traceability

For example:

FR-SRS-003
     │
     ├── test_srs_due_date()
     ├── test_failed_review()
     ├── test_new_card()
     └── test_interval_boundary()

Now you have traceability similar to the V-model you're already familiar with.

13. Your Kanji database needs special treatment

This is another place I'd not let the LLM become the source of truth.

You should use a reputable Japanese/Kanji dataset and establish its license.

Your database might contain:

漢
│
├── readings
│   ├── カン
│   └── あや
│
├── meanings
│   ├── China
│   └── Chinese
│
├── JLPT
├── Jōyō status
├── grade
├── stroke count
└── related vocabulary

The AI can transform/import/validate the data.

But:

LLM-generated kanji readings should not be treated as authoritative database data.

That's exactly the sort of thing that looks correct while occasionally being wrong.

14. Ranking needs security consideration

A leaderboard is deceptively simple.

You need to prevent:

POST /add_xp

xp = 999999999

So your architecture should establish:

Client
   ↓
request
   ↓
server validates event
   ↓
server calculates XP
   ↓
database transaction
   ↓
leaderboard

Never:

Browser says:
"I earned 500 XP."

Server:
"Okay!"

Your Security Agent should specifically attack the application looking for:

  • privilege escalation

  • SQL injection

  • XSS

  • CSRF

  • authentication bypass

  • session issues

  • rate-limit abuse

  • leaderboard manipulation

  • password handling

  • IDOR

  • API abuse

15. A very important DC Agentiqs principle

Don't put everything in the Agent prompt.

Think of four different things:

Knowledge

What does the AI need to know?

Your specifications, architecture documents, requirements, coding standards.

Agent instructions

How should this AI behave?

Role, constraints, methodology.

Workflow

What sequence should it follow?

Analyze → design → implement → test → review.

User prompt

What am I asking it to do right now?

"Implement FR-SRS-003."

That's an extremely clean separation.

16. Your eventual project could look like this

                    DC AGENTIQS
                         │
        ┌────────────────┼────────────────┐
        │                │                │
    Knowledge         Agents          Workflows
        │                │                │
        │                │                │
 Requirements       Architect       Feature Development
 Architecture       Developer       Bug Fix
 SRS specification  Tester          Release
 Coding standards   Security
 Kanji data         Reviewer
        │
        ▼
   Git Repository
        │
        ▼
   Flask Application
        │
        ▼
   PostgreSQL
        │
        ▼
   Docker / Linux Server

Then your normal development loop becomes:

Requirement → Design → Code → Test → Review → Commit

rather than:

ChatGPT → paste code → hope it works

17. I'd build your MVP in this order

Don't start with ranking.

Phase 0 — Foundation

  1. Project definition

  2. Architecture

  3. Database schema

  4. Development environment

  5. Git repository

  6. Coding standards

  7. Test framework

Phase 1 — Kanji

  1. Kanji database

  2. Kanji detail page

  3. Search

  4. Filtering

  5. Reading/meaning display

Phase 2 — Accounts

  1. Registration

  2. Login

  3. Logout

  4. Password security

  5. User profile

Phase 3 — SRS

  1. Card state

  2. Review session

  3. Answer evaluation

  4. Scheduling

  5. Progress tracking

Phase 4 — Gamification

  1. XP

  2. Streak

  3. Daily goal

  4. Leaderboard

Phase 5 — Hardening

  1. Security review

  2. Performance

  3. Database optimization

  4. Error handling

  5. Automated testing

  6. Deployment

Phase 6 — Nice-to-have

JLPT levels
Vocabulary
Example sentences
Audio
Kanji writing
Statistics
Achievements
Friends
Competitive events
Mobile/PWA

And I'd make one thing your "AI development constitution"

Put this in your project knowledge:

The AI must never silently invent requirements, modify approved architecture without justification, invent authoritative Japanese-language data, or mark a feature complete without passing its associated tests.

That single principle will save you from a lot of the classic "AI-built software" problems.

For your particular background, I'd actually go one step further: use your knowledge of V-model/automotive QA as the foundation of the AI workflow. Your Kanji app can become a miniature demonstration of requirements → design → implementation → verification → traceability, while DC Agentiqs handles much of the repetitive work.

And because you're self-hosting, we can also design the eventual deployment so the website itself is completely independent of DC Agentiqs/OpenAI—the AI is your development machinery, not a runtime dependency of the finished Kanji application.

← Back to timeline