Lenduck — SME Financing Marketplace
Getting a business loan is painful.
You visit your bank. They ask for two years of financials. You wait three weeks. Then you repeat at the next bank. And the next.
Most SMEs just accept whatever their bank offers. Not because it's the best deal. Because finding out is exhausting.
I built Lenduck to fix that.
The idea
Your accounting software already has everything a lender needs to make a decision. Revenue, cash flow, invoices, margins. It's all there. Lenduck just connects the dots.
Connect QuickBooks, Xero, Sage, FreshBooks or Fakturoid once. We analyze your financials, build an anonymized profile, and send it to lenders who actually want your business. You get multiple offers in 24 hours. Side by side. Compare APRs, terms, fees. Pick the best one.
No paperwork. No repeating the same forms. Free for businesses, forever.

How it works
- Create account. Just an email.
- Connect your accounting software via OAuth. Read-only access, we can't touch your data.
- AI analyzes your revenue trends, cash flow, margins, receivables. Takes seconds.
- Lenders see an anonymized financial profile. They compete for your business.
- You pick an offer. Funds arrive in 24-48 hours.
Your company identity is never revealed until you explicitly choose to proceed with a specific lender.

What types of financing
Term loans, lines of credit, invoice factoring, equipment financing, revenue-based financing. Most lenders on the platform work with businesses from ~$100k annual revenue.


For lenders
Pre-qualified leads with verified financial data already attached. No manual document collection. Pay only when a deal is funded. Better conversion, lower acquisition cost.
Why I built it
Years in fintech. Banking, digital bank builds, financial SaaS. The SME lending problem kept coming up everywhere.
Banks are slow because underwriting is manual. Businesses give up because applying everywhere is painful. Nobody wins.
Accounting data changes that. If you can see real cash flow, you can make fast and accurate decisions. Lenduck is the pipe.
What's next
Czech and Slovak accounting software integrations on the roadmap. Pohoda, Money S3, Flexibee. Central Europe is the focus.
Check it out at lenduck.com. Feedback welcome.
Minimalink - Shorten URLs, track clicks, see stats. Fast, free.
I needed url shortener. So I made one with Claude code. https://mnml.ink
I was impressed with the result so I shared it on https://peerpush.net/p/minimalink and it quickly became 3rd product of the day!

mnml.ink — does what it says:
- Shorten URLs
- Generate QR codes
- Track clicks & basic stats
- No sign-up required for basic use
It's fast, free, and I tried to keep it as simple as possible.
Would love honest feedback — what features would make this actually useful for your workflow? Anything obviously missing?
minimalink is a modern URL shortener designed to be fast, reliable, and free to use. You can easily transform long, cumbersome URLs into short, shareable links in an instant. This tool helps you manage your digital presence more effectively by cleaning up links for social media, messaging, or documentation. It provides a simple and efficient way to streamline your online sharing experience.



Czech Real Estate Price Per M² Calculator
A Chrome extension that automatically calculates and displays the price per square meter for property listings on Czech real estate portals sreality.cz and reality.idnes.cz.
You can download it here https://github.com/ivanjurina/sreality-idnes-price-per-meter
Supported Websites
- sreality.cz - Czech Republic's largest real estate portal
- reality.idnes.cz - Popular real estate section of iDNES.cz
Installation
- Clone this repository or download the files
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in top right corner)
- Click Load unpacked
- Select the extension folder containing the files
- Visit sreality.cz or reality.idnes.cz
- The price per m² will automatically appear under each listing's price
How It Works
The extension automatically detects which website you're visiting and applies the appropriate parsing logic:
Screenshots
sreality.cz

*Price per m² shown below each listing on sreality.cz*
reality.idnes.cz

*Price per m² displayed on reality.idnes.cz listings*
Building a Modern AI Chat Interface: React + TypeScript Implementation
Built a clean React frontend that connects to my previous .NET backend project. The UI lets you chat with AI models (ChatGPT and Claude) while handling voice input and PDF document processing.
Key Features
- Voice-to-text conversion for natural conversations
- PDF document upload and analysis
- Real-time AI chat with streaming responses
- Clean Material-UI + Tailwind CSS interface
- Chat history management
Simple Setup
- Clone repo
npm install- Configure backend URL in
.env npm start
The UI is minimal but functional - single chat window with document sidebar, voice input button, and message history. Perfect for applications needing AI chat with document analysis capabilities.
Check out the code to see how it all fits together!
https://github.com/ivanjurina/chatgpt-claude-react-app

ChatGPT & Claude Integration for .NET: With Voice & PDF Processing
I've built a .NET Web API that streamlines integration with ChatGPT and Claude, featuring voice-to-text conversion and PDF data extraction out of the box. It's designed for production use and handles all the complex pieces - from AI streaming responses to document processing.
Core Features
- Voice & Documents: Convert speech to text and extract data from PDFs
- AI Integration: Real-time streaming with ChatGPT and Claude 3
- Security: JWT authentication, BCrypt hashing
- Data: EF Core with SQLite, repository pattern
- API Docs: Full Swagger documentation
Quick Start
bashCopy# Clone and setup
git clone https://github.com/ivanjurina/chatgpt-claude-dotnet-webapi.git
cd chatgpt-claude-dotnet-webapi
# Add your API keys to appsettings.json, then:
dotnet ef database update
dotnet run
Architecture
Built with clean architecture principles, proper error handling, and efficient async patterns throughout. The project provides a solid foundation for building production-ready AI applications.
Use Cases
Ideal for:
- Voice-enabled AI interfaces
- Document processing systems
- Real-time chat applications
- Enterprise applications needing multiple AI models
Check out the repository for more details and setup instructions.
Generating .NET Web API Microservices from Template
Inspired by a colleague's efficient approach to standardizing microservices, I created a bash script template generator for .NET Web API projects. The script creates a standardized architecture with controllers, services, repositories, and data models, setting up Entity Framework Core and Swagger UI in the process.
With a single command:
bashCopy./create-api.sh ProjectName
You get a complete microservice structure following clean architecture principles. The template includes a layered design, basic User entity implementation, and an in-memory database for rapid development.
This approach ensures all microservices follow the same structure, making maintenance and cross-service development more straightforward for team members.
Find the template and documentation on GitHub: dotnet-webapi-template-script
Or here:
#!/bin/bash
if [ -z "$1" ]
then
echo "Please provide a project name"
echo "Usage: ./create-api.sh ProjectName"
exit 1
fi
PROJECT_NAME=$1
# Create directory for solution
mkdir $PROJECT_NAME
cd $PROJECT_NAME
# Create solution and project
dotnet new sln -n $PROJECT_NAME
dotnet new webapi -n $PROJECT_NAME
dotnet sln add $PROJECT_NAME/$PROJECT_NAME.csproj
cd $PROJECT_NAME
# Create directory structure
mkdir -p Contracts
mkdir -p Controllers
mkdir -p DataModel/Entities
mkdir -p Repositories
mkdir -p Services
# Create files
echo "namespace $PROJECT_NAME.Contracts
{
public class UserDto
{
public int Id { get; set; }
public string Username { get; set; }
public string Email { get; set; }
}
}" > Contracts/UserDto.cs
echo "namespace $PROJECT_NAME.DataModel.Entities
{
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Email { get; set; }
}
}" > DataModel/Entities/User.cs
echo "using Microsoft.EntityFrameworkCore;
using $PROJECT_NAME.DataModel.Entities;
namespace $PROJECT_NAME.DataModel
{
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
Database.EnsureCreated();
}
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().HasKey(u => u.Id);
// Seed some data
modelBuilder.Entity<User>().HasData(
new User { Id = 1, Username = \"user1\", Email = \"user1@example.com\" },
new User { Id = 2, Username = \"user2\", Email = \"user2@example.com\" }
);
}
}
}" > DataModel/ApplicationDbContext.cs
echo "using $PROJECT_NAME.DataModel;
using $PROJECT_NAME.DataModel.Entities;
namespace $PROJECT_NAME.Repositories
{
public class UserRepository
{
private readonly ApplicationDbContext _context;
public UserRepository(ApplicationDbContext context)
{
_context = context;
}
public async Task<User> GetByIdAsync(int id)
{
return await _context.Users.FindAsync(id);
}
}
}" > Repositories/UserRepository.cs
echo "using $PROJECT_NAME.Contracts;
using $PROJECT_NAME.Repositories;
namespace $PROJECT_NAME.Services
{
public class UserService
{
private readonly UserRepository _userRepository;
public UserService(UserRepository userRepository)
{
_userRepository = userRepository;
}
public async Task<UserDto> GetUserByIdAsync(int id)
{
var user = await _userRepository.GetByIdAsync(id);
if (user == null) return null;
return new UserDto
{
Id = user.Id,
Username = user.Username,
Email = user.Email
};
}
}
}" > Services/UserService.cs
echo "using Microsoft.AspNetCore.Mvc;
using $PROJECT_NAME.Contracts;
using $PROJECT_NAME.Services;
namespace $PROJECT_NAME.Controllers
{
[ApiController]
[Route(\"[controller]\")]
public class UsersController : ControllerBase
{
private readonly UserService _userService;
public UsersController(UserService userService)
{
_userService = userService;
}
[HttpGet(\"{id}\")]
public async Task<ActionResult<UserDto>> Get(int id)
{
var user = await _userService.GetUserByIdAsync(id);
if (user == null) return NotFound();
return user;
}
}
}" > Controllers/UsersController.cs
echo "using Microsoft.EntityFrameworkCore;
using $PROJECT_NAME.DataModel;
using $PROJECT_NAME.Repositories;
using $PROJECT_NAME.Services;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddDbContext<ApplicationDbContext>(options =>
options.UseInMemoryDatabase(\"$PROJECT_NAME\"));
builder.Services.AddScoped<UserRepository>();
builder.Services.AddScoped<UserService>();
var app = builder.Build();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint(\"/swagger/v1/swagger.json\", \"$PROJECT_NAME API V1\");
c.RoutePrefix = string.Empty;
});
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();" > Program.cs
# Add packages
dotnet add package Microsoft.EntityFrameworkCore.InMemory
dotnet add package Swashbuckle.AspNetCore
echo "Solution and project $PROJECT_NAME created successfully! Run with 'dotnet run' and visit https://localhost:5001/swagger"
Form Autofiller for Bory Hospital
So my friend is expecting and needed to register at Bory Hospital. The tricky part is that the hospital only accepts a limited number of patients each month, so you need to be quick with the registration when spots open up. With the extension, you can fill out everything in seconds instead of rushing through all those fields manually and potentially missing out on a spot.
here's the github link https://github.com/ivanjurina/bory-registration-autofill

Bory Hospital Form Autofiller
Chrome extension that automatically fills registration form at https://rezervacie.porodnicabory.sk/register
Features
- Fills personal info
- Sets insurance provider
- Selects state and city
- Handles checkboxes
- Works with Angular Material form components
Installation
- Clone repo
- Open Chrome Extensions (chrome://extensions/)
- Enable Developer mode
- Click "Load unpacked"
- Select extension directory
HTML Table to CSV/JSON Chrome Extension
A lightweight Chrome extension that converts HTML tables into CSV or JSON formats with a single click. Perfect for developers and data analysts who need to quickly extract tabular data from websites.
Features
- One-click table conversion
- Supports both CSV and JSON export
- Works with complex nested tables
- Preserves table structure and formatting
- Context menu integration
- Zero dependencies
Installation
- Clone repository
- Open Chrome Extensions (chrome://extensions/)
- Enable Developer Mode
- Load unpacked extension from project folder
Usage
Right-click any table on a webpage and select "Export to CSV" or "Export to JSON" from the context menu.

Building a Czech Property Search Aggregator
I recently built a web app that aggregates property listings from the major Czech real estate websites: iDnes, SReality, Bezrealitky, and Remax. Here's what it offers:
Key Features:
- Unified search across multiple property sites
- Filters for location, size (m²), and price range (CZK)
- Price per m² calculations
- Clean, responsive interface showing essential property details
- Direct links to original listings
Technical Stack:
- React frontend with modern UI components
- API integration with major Czech property portals
- Price normalization across different listing formats
https://github.com/ivanjurina/czech-properties-crawler-app
https://github.com/ivanjurina/czech-properties-crawler-api


Hello 2025!
My first post.
Once again.
I tried writing a blog since I can remember.
I always spent too much time thinking about what it should look like.
Not much time actually writing it.
2025 is going to be different :)








