Why use files
For a portfolio, most content is authored by one person and changes intentionally. Projects, blogs, writings, services, testimonials, and products can all be represented as files.
That means you can avoid migrations, local database setup, generated ORM clients, and hosting complexity.
What goes where
Use MDX for narrative content:
- case studies
- blog posts
- design notes
Use JSON for structured catalog content:
- products
- services
- testimonials
- sample leads or orders
Benefits
- easy to review in Git
- simple to copy, backup, and deploy
- no Prisma generate step
- no local PostgreSQL requirement
- content can be edited in any code editor
Limits
File-based content is not ideal for high-volume runtime data. Real order history, analytics, comments, user accounts, and production lead management should eventually move to dedicated services.
Best hybrid
Keep portfolio content in files. Use Stripe for payment records, S3 for downloads, and an email or form service for leads. Add a real database only when the product actually needs it.