Skip to content

SOFTWARE ENGINEER / NEPAL

Good systems.
Thoughtfully built.

I build the backends behind hiring platforms, surveys, and attendance systems. Python and Django are my foundation; clear APIs, consistent data, and dependable workflows are what I care about.

Portrait of Taushif Reza
Taushif RezaSoftware Engineer
Backend engineering Real-world problemsPython & Django · Go tooling

Behind the interface.

A few systems I’ve worked on.
The decisions behind the details.

/01Recruitment & certification · Backend engineering

inTalent

A hiring and certification platform where identity, enrollment, assessment, and job applications cross service boundaries. One of my largest backend projects.

  • Python
  • Django / DRF
  • PostgreSQL
  • Redis
  • JWT / JWKS
Visit inTalent
Read the engineering notes

Backend owner · Live platform

The challenge

Keep identity and permissions consistent across services while supporting certification workflows and preserving the history of a job application.

My contribution

I implemented backend workflows across authentication, certification, and job applications. That includes RSA-signed JWTs and JWKS verification, refresh-token rotation, transactional enrollment, bulk invitation imports, reporting, and application-specific resume snapshots. Notification processing uses a separate Redis-backed worker.

The result & context

The platform is live. The backend separates token issuance from service verification, supports operational certification workflows, and keeps application resumes separate from later profile edits. Recent backend changes may be ahead of the live release.

System in wordsSimplified service map: an identity service issues signed tokens and publishes public verification keys. Certification and job services verify identity and apply their own access rules; a separate worker processes notification jobs.

Read about JWT verification across services Link to this case study
FIG. 01 — SERVICE BOUNDARIESIDENTITY → WORKFLOWS
inTalent backend responsibilities: identity issues signed tokens and publishes verification keys; certification and job services verify identity and apply their own permissions. A separate worker processes notifications.Identity / AuthSigned tokens · public JWKSCertificationEnrollment · assessment · reportsJobsApplications · resume snapshotsNotification queue + worker

One issuer. Resource services verify identity with public keys.

Local access rules. Each service decides what a request may do.

Shared identity. Separate responsibilities.Simplified implementation schematic
/02Internal platform · Historical reporting

Survey System

An internal survey backend covering question setup, survey rounds, invitation delivery, responses, and reporting. Admin teams manage the process; clients receive an individual survey link.

  • Django / DRF
  • PostgreSQL
  • Redis
  • Celery
Read the engineering notes

Backend owner · Internal system in use

The challenge

Let teams change survey templates without changing the meaning of past responses, while keeping invitations and survey rounds consistent.

My contribution

I built questionnaire and round-generation workflows, project-level viewer/editor permissions, token-based response collection, and reporting. Generated surveys preserve question snapshots. Round creation uses locking and uniqueness constraints; invitation receipts track the handoff and delivery state of background jobs.

The result & context

Administrators can manage survey rounds and review historical responses against the questions captured for that round. Invitation states distinguish queued work from delivery progress. The deployment is internal, so there is no public demo link.

System in wordsQuestion templates are captured as snapshots when survey rounds are generated. Invitations lead clients to their survey; responses and the saved question snapshots support historical reporting.

Read why I preserve question snapshots Link to this case study
Question templates are captured as snapshots when survey rounds are generated. Invitations lead clients to their survey; responses and the saved question snapshots support historical reporting.Question templateSurvey snapshotResponse + report
Questions preserved for each round
/03Device integration · Real-time updates

Bus Attendance System

The backend between an RFID tap on a bus and the attendance and location views used by school teams and parents.

  • Django / DRF
  • MQTT / MessagePack
  • Django Channels
  • PostgreSQL
Read the engineering notes

Backend owner · Hardware-integrated system

The challenge

Turn device messages into trip-linked attendance records and deliver the right attendance and location updates to each audience.

My contribution

I built backend processing for MQTT messages, RFID check-in and check-out events, trip records, and onboard counts. Django Channels distributes school-wide, bus-specific, and parent-specific updates. The backend also manages bus routes, stops, assignments, and location history.

The result & context

Device events feed attendance records and live web updates, while routes and trip history remain available for administration. My role covered the backend integration, attendance processing, and delivery of updates to the web interface.

System in wordsRFID and location devices send messages through MQTT. The backend records trip attendance and location, then Django Channels distributes updates to school, bus, and parent views.

Link to this case study
FIG. 01 — SYSTEM MAPHARDWARE → WEB
A bus connects to a location signal and a backend, representing hardware-integrated tracking.
01HardwareESP32 · RFID · GPS
02IngestionMQTT · MessagePack
03BackendTrips & attendance
04DeliverySchool · bus · parent
Four layers. One connected journey.Simplified architecture schematic
/04Workflows · Department-level access

Attendance System

An administrative attendance backend that handles the exceptions as well as the daily clock-in: breaks, corrections, travel requests, and approval steps.

  • Django / DRF
  • PostgreSQL
  • Role-based access
  • Spreadsheet exports
Read the engineering notes

Backend owner · Administrative workflows

The challenge

Represent a working day clearly while giving supervisors and managers a way to review corrections and attendance requests within their departments.

My contribution

I implemented the daily attendance lifecycle, working-hour calculations, correction and travel requests, and staged verification. Department-scoped permissions control access, with date-based reporting and spreadsheet exports for administrative work.

The result & context

Daily attendance and exceptional requests have explicit records and review steps, instead of relying on one editable timestamp. This is a separate administrative system from Bus Attendance.

System in wordsStaff record attendance or submit a correction or travel request. Department-scoped supervisor and manager review leads to approved records, working-hour calculations, and reports.

Link to this case study
Staff record attendance or submit a correction or travel request. Department-scoped supervisor and manager review leads to approved records, working-hour calculations, and reports.Attendance / requestDepartment reviewApproved record
Daily records & reviewed exceptions

More work, different problems.

/05Django · Ticket operations

QR Ticketing

Ticket generation, QR validation, and used-ticket records for event operations, including bulk ZIP exports and attendee details.

  • Python
  • Django
  • QR generation
  • ZIP exports
Read the engineering notes

Backend development · Event tooling

The challenge

Generate tickets in batches and give event staff a direct way to look up and validate a ticket.

My contribution

I implemented numbered QR tickets, bulk exports, and validation using ticket identifiers or numbers. The system records when a ticket has been used and can associate it with attendee information.

The result & context

Ticket preparation and validation are supported in one workflow. Ticket identifiers connect the printed code to its stored validation state.

System in wordsGenerate and export QR tickets, scan or enter an identifier, then validate the ticket and record its used state.

Link to this case study
Generate and export QR tickets, scan or enter an identifier, then validate the ticket and record its used state.ValidateAPI response
Ticket validation · simplified schematic
/06Go tooling · PDF generation

Go Print-Sheet Generator

A print-imposition tool that sorts ticket images, places them on sheets, and combines the result into a printable PDF.

  • Go
  • gofpdf
  • pdfcpu
  • Worker pool
Read the engineering notes

Engineering tooling · Resource-lifetime changes

The challenge

Generate correctly ordered print sheets while managing the lifetime of PDF renderers during large jobs.

My contribution

I changed generation from one renderer per worker chunk to a fresh Fpdf instance per sheet. Workers write temporary sheet files; their results are collected in order, merged into chunks, and combined into the final PDF. Preview, grid orientation, margins, and cut marks support print preparation.

The result & context

The renderer now has a smaller unit of work, with temporary files connecting the stages. Merging can still grow with the input size, so I do not describe the whole pipeline as constant-memory or recursively bounded.

System in wordsImages are ordered and assigned to workers. Each sheet gets its own renderer and temporary PDF; sheet files become chunk PDFs, then one final PDF.

Read about the per-sheet renderer change Link to this case study
Images are ordered and assigned to workers. Each sheet gets its own renderer and temporary PDF; sheet files become chunk PDFs, then one final PDF.Final PDF
Sheet → chunk → final PDF

LEARNING BY BUILDING

Another stack. A different perspective.

/07Course-based learning · C# / .NET

Mango — Food App Microservices

A course-based food-commerce application I built to learn ASP.NET Core services, checkout workflows, and asynchronous messaging.

  • C# / .NET 8
  • ASP.NET Core
  • EF Core / SQL Server
  • Azure Service Bus
  • Stripe
Read the engineering notes

Learning project · Built while following a course

The challenge

Understand how separate services coordinate product, cart, authentication, orders, and rewards in a commerce workflow.

My contribution

Following the course, I implemented services and an MVC frontend using ASP.NET Identity, JWT authentication, and Entity Framework Core. The order service handles Stripe checkout and publishes a reward event after payment; a separate consumer stores the reward record.

The result & context

The project gave me hands-on practice with C# service boundaries, persistence, and messaging. The course provided the architecture and exercises; this entry records my implementation and learning.

System in wordsAn MVC client uses product, cart, authentication, and order services. After payment validation, the order service sends a message for a separate rewards consumer.

Link to this case study
An MVC client uses product, cart, authentication, and order services. After payment validation, the order service sends a message for a separate rewards consumer.Cart + orderPayment confirmedReward event
Course-based commerce workflow

Notes from the backend.

What I built, what I changed,
and the reasoning behind it.

View all posts

Useful software.
Considered decisions.

Taushif RezaSoftware Engineer

I’m Taushif, a software engineer based in Nepal. I take backend work from the data model through the API and into the operational details: permissions, background jobs, imports, reports, and the requests that arrive at the same time.

Most of my work is in Python and Django. I also build tools in Go and explore C# and ASP.NET Core through learning projects. Trying another language helps me question habits and understand the tradeoffs in the tools I already use.

01 /

Make correctness deliberate.

Think through concurrent writes, transaction boundaries, and failure paths. A successful request should leave the data in a state I can explain.

Transactions & data integrity
02 /

Keep boundaries clear.

Give services a clear responsibility. Make access rules explicit, keep business logic understandable, and choose complexity only when it earns its place.

Architecture & access control
03 /

Follow the problem down.

Trace a failure through the layers before reaching for a workaround. From PDF generation to device messages, understanding the cause gives me a better starting point for a fix.

Debugging & reliability

Built on
experience.

Learning by building.
Growing through the work.

Feb 2024 — PresentCURRENT

Software Engineer

ING Skill Academy · Nepal

Backend APIs, hardware-integrated attendance, real-time tracking, and QR ticket validation. Deploying systems with Docker on Linux.

Sep 2023 — Jan 2024

Backend Developer

Prince Lab · Nepal

Django REST APIs, asynchronous processing with Celery, and JWT authentication. Collaborating through code review and shared architecture decisions.

Feb 2022 — May 2024EDUCATION

BSc (Hons) Computing

Islington College

London Metropolitan University

Tools, chosen for the job.

A strong backend foundation.
Room to keep learning.

Backend foundation

  • Python
  • Django & Django REST Framework
  • API design & authentication
  • Transactional workflows

Data & background work

  • PostgreSQL
  • Redis
  • Celery
  • MQTT & Django Channels in device systems

Systems & deployment

  • Docker
  • Linux
  • NGINX

Tools & continued learning

  • Go for print and backend tooling
  • C# & ASP.NET Core — course project
  • EF Core, SQL Server & Azure Service Bus — Mango

This portfolio

  • React
  • TypeScript
  • Vite

Good things start
with a hello.

Have an interesting engineering problem,
or just want to exchange ideas? Let’s talk.

Thoughtful code.
Clear communication.
Always curious.
FROM NEPAL, WITH CARE.