Handbook
/
AI & Modern Tools
Modern Development Tools
The right tools accelerate development dramatically. Here's what to use.
Modern development tools have transformed what small engineering teams can accomplish. Infrastructure that once required dedicated teams is now available as services. Deployment that took days happens in minutes. Tooling that improves developer experience directly improves velocity and quality. Choosing the right tools and using them well is a significant competitive advantage.
The Modern Stack Philosophy
Services Over Infrastructure
Modern approach:
Use managed services
Focus on business logic
Let others handle infrastructure
Pay for what you use
Developer Experience Matters
Good DX means:
Faster iteration
Fewer errors
Better code
Happier engineers
Invest in developer experience.
Build vs. Buy
Default to buy (or use):
Maintained by experts
Scales automatically
Quicker to implement
Focus on differentiation
Build when:
Core to competitive advantage
No good solution exists
Unique requirements
Development Environment
Code Editors
Modern editors:
VS Code (dominant)
JetBrains IDEs
AI-enhanced (Cursor, etc.)
Features that matter:
Extensions/plugins
AI integration
Language support
Performance
AI Coding Assistants
Tools like:
GitHub Copilot
Cursor
Claude/ChatGPT
Use for:
Code completion
Documentation
Refactoring
Problem solving
Local Development
Modern local dev:
Containers (Docker)
Local environments that match production
Fast feedback loops
Easy setup for new team members
Version Control and Collaboration
Git and Platforms
GitHub, GitLab, or Bitbucket:
Central to modern development
More than just code storage
Project management features
CI/CD integration
Branching Strategies
Options:
Trunk-based: Main branch focus, short-lived branches
Git Flow: Develop, feature, release branches
GitHub Flow: Simple main + feature branches
Start simple. Add complexity if needed.
Code Review
Good code review:
Pull requests standard
Clear review expectations
Timely feedback
Constructive comments
CI/CD (Continuous Integration/Deployment)
Why CI/CD Matters
Benefits:
Automated testing
Consistent deployment
Fast feedback
Reduced manual work
CI/CD Tools
Options:
GitHub Actions (integrated with GitHub)
CircleCI
GitLab CI
Cloud-native (AWS CodePipeline, etc.)
Pipeline Components
Typical pipeline:
Build
Test
Security scan
Deploy to staging
Deploy to production
Deployment Strategies
Approaches:
Direct: Push to production
Blue-green: Switch between environments
Canary: Gradual rollout
Feature flags: Control feature visibility
Start simple, add sophistication as needed.
Infrastructure and Hosting
Cloud Platforms
Major options:
AWS (most comprehensive)
Google Cloud (data/ML strength)
Azure (enterprise/Microsoft)
For startups, often:
Vercel (frontend)
Railway, Render, Fly.io (backend)
Serverless options
Containers and Orchestration
Containers (Docker):
Consistent environments
Easy deployment
Scalable
Kubernetes:
Powerful but complex
Often overkill for startups
Consider managed services (EKS, GKE)
Serverless
Functions without managing servers:
AWS Lambda
Vercel Functions
Cloudflare Workers
Good for:
Scaling to zero
Event-driven workloads
Simple APIs
Databases
Managed databases:
Postgres: PlanetScale, Supabase, RDS
Document: MongoDB Atlas, DynamoDB
Redis: Upstash, Redis Cloud
Use managed. Don’t run your own databases.
Monitoring and Observability
Why It Matters
You need to:
Know when things break
Understand performance
Debug problems
Plan capacity
Key Components
Logging: Application logs, structured logging Metrics: Performance data, business metrics Tracing: Request flow across services Alerting: Notification when problems occur
Tools
Common options:
Datadog (comprehensive)
Sentry (error tracking)
LogRocket (frontend monitoring)
Custom dashboards (Grafana)
What to Monitor
Start with:
Error rates
Response times
Resource usage
Business metrics
Testing Tools
Testing Types
Unit tests: Test individual functions Integration tests: Test components together End-to-end tests: Test full user flows Performance tests: Test under load
Testing Frameworks
Language-specific:
JavaScript: Jest, Vitest, Playwright
Python: pytest
Go: built-in testing
Test Automation
Automated testing:
Run on every commit
Part of CI pipeline
Gate for deployment
Coverage tracking
Communication and Documentation
Team Communication
Tools:
Slack (dominant)
Discord
Microsoft Teams
Integrate with development tools.
Documentation
Options:
Notion (collaborative)
Confluence
GitHub/GitLab wikis
Docs-as-code
Document:
Architecture decisions
Setup instructions
API documentation
Runbooks
Issue Tracking
Tools:
Linear (modern, fast)
GitHub Issues
Jira (enterprise)
Asana
Keep close to code when possible.
Choosing Tools
Selection Criteria
Evaluate:
Does it solve the actual problem?
Will the team use it?
What’s the cost (money and time)?
How does it integrate?
What’s the lock-in?
Avoiding Tool Sprawl
Too many tools create:
Cognitive overhead
Integration challenges
Cost accumulation
Maintenance burden
Choose deliberately. Consolidate when possible.
Team Adoption
Tools only work if used:
Choose tools team will adopt
Provide training
Lead by example
Gather feedback
Building Your Stack
Starter Stack
For most startups:
Version control: GitHub
CI/CD: GitHub Actions
Hosting: Vercel/Railway/Render
Database: Managed Postgres
Monitoring: Sentry + basic cloud monitoring
Communication: Slack
Docs: Notion or GitHub
Evolving the Stack
As you grow:
Add sophistication where needed
Improve observability
Scale infrastructure
Specialized tools for new needs
Don’t over-engineer early.
Key Takeaways
Modern development uses managed services; focus on business logic, not infrastructure
Developer experience directly impacts velocity—invest in it
Default to buy/use existing tools; build only when core to competitive advantage
AI coding assistants are now essential; integrate them into workflow
CI/CD is non-negotiable: automated testing, consistent deployment, fast feedback
Use managed databases; don’t run your own
Monitoring and observability: know when things break, understand performance
Avoid tool sprawl; choose deliberately, consolidate where possible
Starter stack for most: GitHub, GitHub Actions, Vercel/Railway, managed Postgres, Sentry, Slack
Start simple, add sophistication as needed; don’t over-engineer early
AIMake has access to all of this
Our AI has access to the entire Startup Handbook. Ask it anything about building your startup.
Get started
Previous
Data-Driven Decision Making
Next
No-Code and Low-Code Tools