I built MockMyData.io in 10 weeks - a multi-tenant SaaS that lets developers generate mock REST APIs in seconds. Each project gets its own subdomain, API key, andI built MockMyData.io in 10 weeks - a multi-tenant SaaS that lets developers generate mock REST APIs in seconds. Each project gets its own subdomain, API key, and

I Built a Mock API Platform in 2.5 Months (Django + React + Redis + PostgreSQL)

2026/01/14 13:26
8 min read
For feedback or concerns regarding this content, please contact us at crypto.news@mexc.com

The Problem

When building frontends, I didn't want to hardcode JSON data everywhere. I wanted to build against actual API endpoints and practice the integration work, but spinning up a real backend for every prototype felt like overkill.

After doing this dance too many times - writing throwaway Express servers or mocking fetch calls with static JSON - I realized other developers probably face this same friction.

The typical workflow looked like this:

1. Start building a React component

2. Realize I need user data

3. Choose between: hardcoded JSON arrays OR spinning up Express/Django

4. If I chose Django: pip install requirements, define models, run migrations, write views/URLs, configure CORS

5. All this before writing a single line of frontend logic

This context-switching killed momentum. I'd spend 30 minutes on backend setup for a feature that takes 10 minutes to prototype. Multiply this across dozens of projects, and you've lost days to infrastructure overhead.

That's why I built MockMyData.io.

What It Does

MockMyData.io lets developers generate mock REST API endpoints in seconds. When you sign up, you're automatically assigned a subdomain and API key. Then you define your data schema (field names and types) to create your endpoints.

You can either:

Enter custom JSON - Full control over your mock data

Auto-generate records - MockMyData.io creates realistic data based on your field types

Want to try it? Head to https://mockmydata.io - you can generate a demo mock API right from the landing page and start making requests immediately. No sign-up required.

Perfect for:

  • Frontend developers building features before backend APIs are ready
  • Mobile app developers testing API integration without backend dependencies
  • Building portfolio projects and demos without complex backend setup
  • Students and bootcamp grads learning API consumption
  • Rapid prototyping when you need to validate ideas fast

The Journey: 2.5 Months Solo

I went from concept to launch in about 10 weeks, building everything myself. The aggressive timeline kept me focused on shipping rather than over-engineering.

Tech Stack:

  • Backend: Django REST Framework
  • Frontend: React with Material-UI
  • Database: PostgreSQL
  • Caching: Redis
  • Payments: Stripe
  • Auth: Firebase SSO
  • Hosting: Render.com

Architecture Decisions

Multi-Tenant Subdomain Architecture

The core challenge was giving each project its own API endpoint while keeping infrastructure simple. I went with subdomain-based routing where users get automatically assigned subdomains on signup (e.g., `random-name-123.api.mockmydata.io`). Pro users can create custom subdomains and change them anytime.

How it works:

- User signs up and gets assigned a subdomain

- Pro users can customize: `mycompany.api.mockmydata.io`

- All API requests hit their subdomain endpoint

Implementation challenges:

1. DNS Management

Had to set up wildcard DNS records pointing all subdomains to the same server. Used Cloudflare for DNS with a wildcard A record (`*.api.mockmydata.io`).

2. SSL Certificates

Needed wildcard SSL certificates to handle unlimited subdomains. Render.com handles automatic SSL certificate provisioning and renewal for wildcard domains, which simplified deployment significantly.

3. Request Routing

Django's URL routing doesn't natively support subdomain-based tenant isolation. Built custom middleware to:

- Extract subdomain from request

- Look up project in database

- Attach project context to request object

- Route to appropriate data

# Simplified middleware example class SubdomainMiddleware: def init(self, get_response): self.get_response = get_response def call(self, request): subdomain = request.get_host().split('.')[0] try: project = Project.objects.get(subdomain=subdomain) request.project = project except Project.DoesNotExist: return HttpResponse('Project not found', status=404) return self.get_response(request)

Database Design

Used PostgreSQL with a shared schema approach rather than separate databases per tenant. Each endpoint and record has a `project_id` foreign key. This keeps infrastructure simple while maintaining data isolation through application-level filtering.

Why not separate databases per tenant?

- Simpler infrastructure (one database to manage)

- Easier backups and migrations

- Cost-effective for free tier users

- Row-level security handles isolation

Technical Challenge

#1: Multi-Tier Rate Limiting

This was trickier than expected. I needed two types of rate limiting:

Daily Quotas - Tier-based limits

- Free: 100 requests/day,

- Pro: Unlimited

Request Throttling - Spam prevention

- All tiers: Max 60 requests/minute

Why Redis?

Needed atomic increments and TTL support. Redis handles both perfectly:

def check_daily_quota(self, user): """Hard limits for FREE users""" daily_count = self.get_daily_count(user.id) DAILY_LIMIT = 100 if daily_count >= DAILY_LIMIT: return False, f'Daily limit reached ({DAILY_LIMIT} requests/day)' return True, 'OK' # CloudFlare helps with rate limiting and makes it simple and reliable

The Challenge: Making this performant at scale

- Redis calls add latency

- Need to fail fast for rate-limited requests

- Must be accurate (can't lose count data)

Solution: Batched Redis commands using pipelines reduced roundtrips, cutting rate-check latency significantly. I also implemented a circuit breaker pattern - if Redis goes down, requests pass through to prevent complete service outage.

Technical Challenge #2: Handling Pro-to-Free Downgrades

Free users can create up to 3 endpoints. However, when Pro users downgrade to Free, they might already have dozens of endpoints created. Rather than force them to delete endpoints, I let them choose which 3 remain active and accessible via API.

This required:

- Real-time enforcement in middleware before database queries

- Caching to avoid N+1 queries on every API request

- Graceful Redis fallback if caching fails

The system checks endpoint access on every API request:

#(Sample code) def _check_endpoint_selection(self, request, user, project):     """Check if endpoint is accessible for downgraded free users"""     # Pro users: all endpoints accessible     if user.is_pro_active:         return True, None       # Count total endpoints (cached)     endpoint_count = cache.get(f'project:{project.id}:endpoint_count')     # If <=3 endpoints total, all are accessible     if endpoint_count <= 3:         return True, None     # They have >3 endpoints (downgraded from Pro)     # Check if THIS endpoint is in their selected 3     endpoint = cache.get(f'endpoint:{project.id}:{path}')     if not endpoint.default_selected:         return False, JsonResponse({             'error': 'Endpoint Not Selected',             'message': 'This endpoint is not in your active selection. Free users can only have 3 active endpoints.',             'action_required': 'Visit your dashboard to manage active endpoints'         }, status=403)  # If cache miss then we fetch from database

This gracefully handles downgrades without data loss - users keep all their endpoints but must choose which 3 are live.

Technical Challenge #3: Handling Anonymous Demo Endpoints

Users can create temporary mock APIs without signing up. These urls expire within a short time and have strict limits on the total requests. The challenge was:

- Storing temporary projects in Redis (not database)

- Enforcing limits without database writes

- Supporting full CRUD operations on anonymous data

- Updating Redis cache after POST/PUT/PATCH/DELETE

All anonymous endpoints get a `demo-` prefix and live entirely in Redis with proper cache updates after mutations.

Technical Challenge #4: Storage Limits & Payload Validation

Implemented 4-layer protection to prevent abuse:

Layer 1: Request payload size

- Free: 5KB per request

- Pro: 30KB per request

Layer 2: Individual field size

- Free: 2KB per field

- Pro: 10KB per field

Layer 3: Item count per endpoint

- Free: 20 items

- Pro: 200 items

Layer 4: Total endpoint storage

- Free: 15KB per endpoint

- Pro: 400KB per endpoint

This prevents users from storing massive datasets while keeping the service performant and cost-effective.

What's Next: Django Project Generator

I'm building a feature that exports your mock API as production-ready backend code starting with Django. Here's how it works:

Input: Your MockMyData.io project with endpoints defined

Output: Complete Django REST Framework project with:

- Models generated from your schema

- Serializers for each endpoint

- CRUD operations

- URL routing configured

- Authentication setup (Optional)

- README with additional instructions & Suggestions

Example transformation:

Your MockMyData endpoint:

{ "name": "users", "fields": { "username": "string", "email": "email", "age": "integer" } }

Generates Django model:

class User(models.Model): username = models.CharField(max_length=255) email = models.EmailField() age = models.IntegerField() created_at = models.DateTimeField(auto_now_add=True)

Plus serializers, views, and URLs - everything a user need to run their server right away. I also plan on exploring other backends too

Why this matters:

Turns MockMyData.io from a testing tool into a full development accelerator. Prototype with mock data, export to production code when ready.

Lessons Learned

1. Ship fast, iterate faster

The 2.5-month timeline was aggressive but kept me focused on shipping. Rather than building every possible feature upfront, I launched with the core product working and plan to aggressively iterate based on what users actually need.

2. Rate limiting is harder than you think

Especially across multiple tiers and preventing race conditions. Redis pipelines were essential.

3. Cache everything strategically

Redis saved my infrastructure costs. Without caching, I'd be paying 3-4x more for database and compute.

4. Stripe webhooks are your friend

Once you understand them. The documentation is excellent, and webhook-driven subscription management is reliable

6. Build for failure

My circuit breaker pattern for Redis means the service stays up even when caching fails. Graceful degradation is better than complete outages.

Try It Out

🚀 [https://mockmydata.io]() - Free tier available, no credit card required

🎉 Launching on Product Hunt January 14th - Would love your support!

💬 Questions I'd love feedback on:

What backend frameworks would you want for code export? (Django, Express, FastAPI, Rails?)

What's missing that would make this a must-have tool for you?

Drop a comment below - happy to answer questions about Django, React, multi-tenant architecture, or building a SaaS solo! You can also connect with me @marcuscodes.

Market Opportunity
Wrapped REACT Logo
Wrapped REACT Price(REACT)
$0.01963
$0.01963$0.01963
-1.70%
USD
Wrapped REACT (REACT) Live Price Chart
Disclaimer: The articles reposted on this site are sourced from public platforms and are provided for informational purposes only. They do not necessarily reflect the views of MEXC. All rights remain with the original authors. If you believe any content infringes on third-party rights, please contact crypto.news@mexc.com for removal. MEXC makes no guarantees regarding the accuracy, completeness, or timeliness of the content and is not responsible for any actions taken based on the information provided. The content does not constitute financial, legal, or other professional advice, nor should it be considered a recommendation or endorsement by MEXC.
Tags:

You May Also Like

Unprecedented Surge: Gold Price Hits Astounding New Record High

Unprecedented Surge: Gold Price Hits Astounding New Record High

BitcoinWorld Unprecedented Surge: Gold Price Hits Astounding New Record High While the world often buzzes with the latest movements in Bitcoin and altcoins, a traditional asset has quietly but powerfully commanded attention: gold. This week, the gold price has once again made headlines, touching an astounding new record high of $3,704 per ounce. This significant milestone reminds investors, both traditional and those deep in the crypto space, of gold’s enduring appeal as a store of value and a hedge against uncertainty. What’s Driving the Record Gold Price Surge? The recent ascent of the gold price to unprecedented levels is not a random event. Several powerful macroeconomic forces are converging, creating a perfect storm for the precious metal. Geopolitical Tensions: Escalating conflicts and global instability often drive investors towards safe-haven assets. Gold, with its long history of retaining value during crises, becomes a preferred choice. Inflation Concerns: Persistent inflation in major economies erodes the purchasing power of fiat currencies. Consequently, investors seek assets like gold that historically maintain their value against rising prices. Central Bank Policies: Many central banks globally are accumulating gold at a significant pace. This institutional demand provides a strong underlying support for the gold price. Furthermore, expectations around interest rate cuts in the future also make non-yielding assets like gold more attractive. These factors collectively paint a picture of a cautious market, where investors are looking for stability amidst a turbulent economic landscape. Understanding Gold’s Appeal in Today’s Market For centuries, gold has held a unique position in the financial world. Its latest record-breaking performance reinforces its status as a critical component of a diversified portfolio. Gold offers a tangible asset that is not subject to the same digital vulnerabilities or regulatory shifts that can impact cryptocurrencies. While digital assets offer exciting growth potential, gold provides a foundational stability that appeals to a broad spectrum of investors. Moreover, the finite supply of gold, much like Bitcoin’s capped supply, contributes to its perceived value. The current market environment, characterized by economic uncertainty and fluctuating currency values, only amplifies gold’s intrinsic benefits. It serves as a reliable hedge when other asset classes, including stocks and sometimes even crypto, face downward pressure. How Does This Record Gold Price Impact Investors? A soaring gold price naturally raises questions for investors. For those who already hold gold, this represents a significant validation of their investment strategy. For others, it might spark renewed interest in this ancient asset. Benefits for Investors: Portfolio Diversification: Gold often moves independently of other asset classes, offering crucial diversification benefits. Wealth Preservation: It acts as a robust store of value, protecting wealth against inflation and economic downturns. Liquidity: Gold markets are highly liquid, allowing for relatively easy buying and selling. Challenges and Considerations: Opportunity Cost: Investing in gold means capital is not allocated to potentially higher-growth assets like equities or certain cryptocurrencies. Volatility: While often seen as stable, gold prices can still experience significant fluctuations, as evidenced by its rapid ascent. Considering the current financial climate, understanding gold’s role can help refine your overall investment approach. Looking Ahead: The Future of the Gold Price What does the future hold for the gold price? While no one can predict market movements with absolute certainty, current trends and expert analyses offer some insights. Continued geopolitical instability and persistent inflationary pressures could sustain demand for gold. Furthermore, if global central banks continue their gold acquisition spree, this could provide a floor for prices. However, a significant easing of inflation or a de-escalation of global conflicts might reduce some of the immediate upward pressure. Investors should remain vigilant, observing global economic indicators and geopolitical developments closely. The ongoing dialogue between traditional finance and the emerging digital asset space also plays a role. As more investors become comfortable with both gold and cryptocurrencies, a nuanced understanding of how these assets complement each other will be crucial for navigating future market cycles. The recent surge in the gold price to a new record high of $3,704 per ounce underscores its enduring significance in the global financial landscape. It serves as a powerful reminder of gold’s role as a safe haven asset, a hedge against inflation, and a vital component for portfolio diversification. While digital assets continue to innovate and capture headlines, gold’s consistent performance during times of uncertainty highlights its timeless value. Whether you are a seasoned investor or new to the market, understanding the drivers behind gold’s ascent is crucial for making informed financial decisions in an ever-evolving world. Frequently Asked Questions (FAQs) Q1: What does a record-high gold price signify for the broader economy? A record-high gold price often indicates underlying economic uncertainty, inflation concerns, and geopolitical instability. Investors tend to flock to gold as a safe haven when they lose confidence in traditional currencies or other asset classes. Q2: How does gold compare to cryptocurrencies as a safe-haven asset? Both gold and some cryptocurrencies (like Bitcoin) are often considered safe havens. Gold has a centuries-long history of retaining value during crises, offering tangibility. Cryptocurrencies, while newer, offer decentralization and can be less susceptible to traditional financial system failures, but they also carry higher volatility and regulatory risks. Q3: Should I invest in gold now that its price is at a record high? Investing at a record high requires careful consideration. While the price might continue to climb due to ongoing market conditions, there’s also a risk of a correction. It’s crucial to assess your personal financial goals, risk tolerance, and consider diversifying your portfolio rather than putting all your capital into a single asset. Q4: What are the main factors that influence the gold price? The gold price is primarily influenced by global economic uncertainty, inflation rates, interest rate policies by central banks, the strength of the U.S. dollar, and geopolitical tensions. Demand from jewelers and industrial uses also play a role, but investment and central bank demand are often the biggest drivers. Q5: Is gold still a good hedge against inflation? Historically, gold has proven to be an effective hedge against inflation. When the purchasing power of fiat currencies declines, gold tends to hold its value or even increase, making it an attractive asset for preserving wealth during inflationary periods. To learn more about the latest crypto market trends, explore our article on key developments shaping Bitcoin’s price action. This post Unprecedented Surge: Gold Price Hits Astounding New Record High first appeared on BitcoinWorld.
Share
Coinstats2025/09/18 02:30
Ripple pushes urgent XRPL patch — but nodes must trust its new key

Ripple pushes urgent XRPL patch — but nodes must trust its new key

The post Ripple pushes urgent XRPL patch — but nodes must trust its new key appeared on BitcoinEthereumNews.com. Ripple has released its fix for public-facing nodes
Share
BitcoinEthereumNews2026/03/14 03:04
Norwegian Krone hobbles ahead of uncertain Norges Bank decision

Norwegian Krone hobbles ahead of uncertain Norges Bank decision

The post Norwegian Krone hobbles ahead of uncertain Norges Bank decision appeared on BitcoinEthereumNews.com. The Norwegian Krone (NOK) remains in the spotlight ahead of the decisive Norges Bank interest rate decision scheduled for Thursday at 08:00 GMT. The EUR/NOK pair is trading around 11.60, up 0.3% on the day, after hitting 11.54 last week, its lowest level in three months. While the consensus is still for a 25 basis points rate cut to 4.00%, uncertainty remains high, fuelled by persistent core inflation at 3.1% and a solid economic outlook. This meeting, accompanied by the publication of the monetary policy report, could provoke a strong market reaction, as Norges Bank is renowned for its surprise decisions. A monetary dilemma for Norway Norway’s macroeconomic signals are confusing. On the one hand, inflation remains well above the central bank’s 2% target, with a technical adjustment that puts core inflation even closer to 3.5% than officially announced. “Altogether, today’s [inflation] figures were stronger than expected… This raises questions about whether Norges Bank will deliver a cut next week”, wrote Handelsbanken in a note relayed by Reuters, following the publication of Norway’s inflation data last week. The strength of the economy reinforces these doubts. Second-quarter Gross Domestic Product (GDP) grew by 0.6% against expectations of 0.3%, while the latest survey by Norges Bank’s regional network confirmed a stable growth outlook. “The central bank is not facing a continental economy in urgent need of easing,” observes Emil Lundh of MNI Markets, who favors a status quo by the central bank. However, other institutions still consider easing likely. ING believes that “despite sticky inflation and a solid outlook, we are still leaning towards a cut to 4.0%”, stresses FX strategist Francesco Pesole. TD Securities even speaks of a “hawkish cut”, underlining the likelihood of the decision being accompanied by a restrictive outlook to limit the impact on the NOK. The Oil…
Share
BitcoinEthereumNews2025/09/18 03:38